/* * (c) Copyright Ascensio System SIA 2010-2023 * * This program is a free software product. You can redistribute it and/or * modify it under the terms of the GNU Affero General Public License (AGPL) * version 3 as published by the Free Software Foundation. In accordance with * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect * that Ascensio System SIA expressly excludes the warranty of non-infringement * of any third-party rights. * * This program is distributed WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html * * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish * street, Riga, Latvia, EU, LV-1050. * * The interactive user interfaces in modified source and object code versions * of the Program must display Appropriate Legal Notices, as required under * Section 5 of the GNU AGPL version 3. * * Pursuant to Section 7(b) of the License you must retain the original Product * logo when distributing the program. Pursuant to Section 7(e) we decline to * grant you any rights under trademark law for use of our trademarks. * * All the Product's GUI elements, including illustrations and icon sets, as * well as technical writing content are licensed under the terms of the * Creative Commons Attribution-ShareAlike 4.0 International. See the License * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ #pragma once #include "../../Base/Nullable.h" #include "../../Common/SimpleTypes_Vml.h" #include "../../XlsxFormat/Controls/Controls.h" #include "Shape.h" #include "../WritingElement.h" #include "VmlOfficeDrawing.h" namespace PPTX { namespace Logic { class CustGeom; } } namespace OOX { namespace Spreadsheet { class CCellAnchor; } namespace Vml { class CVmlCommonElements : public WritingElementWithChilds<> { public: WritingElement_AdditionMethods(CVmlCommonElements) CVmlCommonElements(OOX::Document *pMain = NULL); virtual ~CVmlCommonElements(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; virtual void mergeFrom(CVmlCommonElements* parent); void CreateElement(XmlUtils::CXmlLiteReader& oReader); // 1 AG_AllCoreAttributes // 1.1 AG_CoreAttributes nullable_string m_sId; nullable m_oStyle; nullable_string m_sHref; nullable_string m_sTarget; nullable_string m_sClass; nullable_string m_sTitle; nullable_string m_sAlt; nullable m_oCoordSize; nullable m_oCoordOrigin; nullable m_oWrapCoords; nullable_bool m_oPrint; // 1.2 AG_OfficeCoreAttributes nullable_string m_sSpId; nullable_bool m_oOned; nullable_int m_oRegroupId; nullable_bool m_oDoubleClickNotify; nullable_bool m_oButton; nullable_bool m_oUserHidden; nullable_bool m_oBullet; nullable_bool m_oHr; nullable_bool m_oHrStd; nullable_bool m_oHrNoShade; nullable_double m_oHrPct; nullable m_oHrAlign; nullable_bool m_oAllowInCell; nullable_bool m_oAllowOverlap; nullable_bool m_oUserDrawn; nullable m_oBorderTopColor; nullable m_oBorderLeftColor; nullable m_oBorderBottomColor; nullable m_oBorderRightColor; nullable m_oDgmLayout; nullable_string m_oDgmNodeKind; nullable m_oDgmLayoutMru; nullable m_oInsetMode; // 2 AG_AllShapeAttributes // 2.1 AG_ShapeAttributes nullable m_oChromaKey; nullable m_oFilled; nullable m_oFillColor; nullable m_oOpacity; nullable m_oStroked; nullable m_oStrokeColor; nullable m_oStrokeWeight; nullable m_oInsetPen; // 2.2 AG_OfficeShapeAttributes nullable m_oSpt; nullable m_oConnectorType; nullable m_oBwMode; nullable m_oBwPure; nullable m_oBwNormal; nullable_bool m_oForceDash; nullable_bool m_oOleIcon; nullable_bool m_oOle; nullable_bool m_oPreferRelative; nullable_bool m_oClipToWrap; nullable_bool m_oClip; void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); void ReadElements(XmlUtils::CXmlLiteReader& oReader) ; std::wstring WriteAttributes() const; std::wstring WriteElements() const; //for internal bool m_bComment = false; bool m_bImage = false; }; //-------------------------------------------------------------------------------- // CArc 14.1.2.1 (Part4) //-------------------------------------------------------------------------------- class CArc : public CVmlCommonElements { public: WritingElement_AdditionMethods(CArc) CArc(OOX::Document *pMain = NULL); virtual ~CArc(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::CDecimalNumber m_oEndAngle = 90; SimpleTypes::CDecimalNumber m_oStartAngle; }; //-------------------------------------------------------------------------------- // CCurve 14.1.2.3 (Part4) //-------------------------------------------------------------------------------- class CCurve : public CVmlCommonElements { public: WritingElement_AdditionMethods(CCurve) CCurve(OOX::Document *pMain = NULL); virtual ~CCurve(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::Vml::CVml_Vector2D_Units m_oFrom; SimpleTypes::Vml::CVml_Vector2D_Units m_oControl1; SimpleTypes::Vml::CVml_Vector2D_Units m_oControl2; SimpleTypes::Vml::CVml_Vector2D_Units m_oTo; }; //-------------------------------------------------------------------------------- // CF 14.1.2.4 (Part4) //-------------------------------------------------------------------------------- class CF : public WritingElement { public: WritingElement_AdditionMethods(CF) CF(); virtual ~CF(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes std::wstring m_sEqn; }; //-------------------------------------------------------------------------------- // CFill 14.1.2.5 (Part4) //-------------------------------------------------------------------------------- class CFill : public WritingElement { public: WritingElement_AdditionMethods(CFill) CFill(OOX::Document *pMain = NULL); virtual ~CFill(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: typedef struct TIntermediateColor { double dValue; SimpleTypes::CColorType oColor; }TIntermediateColor; nullable m_oAlignShape; nullable_string m_sAltHref; nullable m_oAngle; nullable m_oAspect; nullable m_oColor; nullable m_oColor2; nullable_string m_oColors; std::vector m_arrColors; // parsing m_oColors - todooo nullable m_oDetectMouseClick; nullable m_oFocus; nullable m_oFocusPosition; nullable m_oFocusSize; nullable_string m_sHref; nullable m_rId; nullable_string m_sId; nullable m_oMethod; nullable m_oOn; nullable m_oOpacity; nullable m_oOpacity2; nullable m_oOrigin; nullable m_oPosition; nullable m_oRecolor; nullable m_oRelId; nullable m_oRotate; nullable m_oSize; nullable_string m_sSrc; nullable_string m_sTitle; SimpleTypes::CFillType m_oType; nullable m_oFill; }; //-------------------------------------------------------------------------------- // CBackground 14.1.2.2 (Part4) //-------------------------------------------------------------------------------- class CBackground : public CVmlCommonElements { public: WritingElement_AdditionMethods(CBackground) CBackground(OOX::Document *pMain = NULL); virtual ~CBackground(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oTargetScreenSize; }; //-------------------------------------------------------------------------------- // CFormulas 14.1.2.6 (Part4) //-------------------------------------------------------------------------------- class CFormulas : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CFormulas) CFormulas(OOX::Document *pMain = NULL); virtual ~CFormulas(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; public: // Childs }; //-------------------------------------------------------------------------------- // CH 14.1.2.8 (Part4) //-------------------------------------------------------------------------------- class CH : public WritingElement { public: WritingElement_AdditionMethods(CH) CH(); virtual ~CH(); public: virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes SimpleTypes::CTrueFalse m_oInvX; SimpleTypes::CTrueFalse m_oInvY; SimpleTypes::Vml::CVml_Vector2D m_oMap; nullable m_oPolar; SimpleTypes::Vml::CVml_Vector2D_Position m_oPosition; SimpleTypes::Vml::CVml_Vector2D m_oRadiusRange; SimpleTypes::CTrueFalse m_oSwitch; SimpleTypes::Vml::CVml_Vector2D m_oXRange; SimpleTypes::Vml::CVml_Vector2D m_oYRange; }; //-------------------------------------------------------------------------------- // CHandles 14.1.2.9 (Part4) //-------------------------------------------------------------------------------- class CHandles : public WritingElementWithChilds { public: WritingElement_AdditionMethods(CHandles) CHandles(OOX::Document *pMain = NULL); virtual ~CHandles(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; public: // Childs }; //-------------------------------------------------------------------------------- // CImage 14.1.2.10 (Part4) //-------------------------------------------------------------------------------- class CImage : public CVmlCommonElements { public: WritingElement_AdditionMethods(CImage) CImage(OOX::Document *pMain = NULL); virtual ~CImage(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_pSrc; nullable m_pCropLeft; nullable m_pCropTop; nullable m_pCropRight; nullable m_pCropBottom; nullable_double m_pGain; nullable_double m_pBlackLevel; nullable_double m_pGamma; nullable m_pGrayscale; nullable m_pBiLevel; }; //-------------------------------------------------------------------------------- // CImageData 14.1.2.11 (Part4) //-------------------------------------------------------------------------------- class CImageData : public WritingElement { public: WritingElement_AdditionMethods(CImageData) CImageData(OOX::Document *pMain = NULL); virtual ~CImageData(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_sAltHref; nullable m_oBiLevel; nullable_double m_oBlackLevel; nullable m_oChromaKey; nullable m_oCropLeft; nullable m_oCropTop; nullable m_oCropRight; nullable m_oCropBottom; nullable m_oDetectMouseClick; nullable m_oEmbossColor; nullable_double m_oGain; nullable_double m_oGamma; nullable m_oGrayscale; nullable m_rHref; nullable_string m_oHref; nullable m_rId; nullable_string m_oId; nullable_double m_oMovie; nullable_string m_oOleId; nullable m_rPict; nullable m_oRecolorTarget; nullable m_oRelId; nullable_string m_sSrc; nullable_string m_sTitle; }; //-------------------------------------------------------------------------------- // CLine 14.1.2.12 (Part4) //-------------------------------------------------------------------------------- class CLine : public CVmlCommonElements { public: WritingElement_AdditionMethods(CLine) CLine(OOX::Document *pMain = NULL); virtual ~CLine(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes SimpleTypes::Vml::CVml_Vector2D_Units m_oFrom; SimpleTypes::Vml::CVml_Vector2D_Units m_oTo; }; //-------------------------------------------------------------------------------- // COval 14.1.2.13 (Part4) //-------------------------------------------------------------------------------- class COval : public CVmlCommonElements { public: WritingElement_AdditionMethods(COval) COval(OOX::Document *pMain = NULL); virtual ~COval(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; }; //-------------------------------------------------------------------------------- // CPath 14.1.2.14 (Part4) //-------------------------------------------------------------------------------- class CPath : public WritingElement { public: WritingElement_AdditionMethods(CPath) CPath(OOX::Document *pMain = NULL); virtual ~CPath(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oArrowOk; nullable_string m_oConnectAngles; nullable_string m_oConnectLocs; nullable m_oConnectType; nullable m_oExtrusionOk; nullable m_oFillOk; nullable m_oGradientShapeOk; nullable_string m_oId; nullable m_oInsetPenOk; nullable m_oLimo; nullable m_oShadowOk; nullable m_oStrokeOk; nullable m_oTextBoxRect; nullable m_oTextPathOk; nullable m_oV; }; //-------------------------------------------------------------------------------- // CPolyLine 14.1.2.15 (Part4) //-------------------------------------------------------------------------------- class CPolyLine : public CVmlCommonElements { public: WritingElement_AdditionMethods(CPolyLine) CPolyLine(OOX::Document *pMain = NULL); virtual ~CPolyLine(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes SimpleTypes::Vml::CVml_Polygon2D_Units m_oPoints; }; //-------------------------------------------------------------------------------- // CRect 14.1.2.16 (Part4) //-------------------------------------------------------------------------------- class CRect : public CVmlCommonElements { public: WritingElement_AdditionMethods(CRect) CRect(OOX::Document *pMain = NULL); virtual ~CRect(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; }; //-------------------------------------------------------------------------------- // CRoundRect 14.1.2.17 (Part4) //-------------------------------------------------------------------------------- class CRoundRect : public CVmlCommonElements { public: WritingElement_AdditionMethods(CRoundRect) CRoundRect(OOX::Document *pMain = NULL); virtual ~CRoundRect(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::Vml::CVml_1_65536_Or_Percentage m_oArcSize; }; //-------------------------------------------------------------------------------- // CShadow 14.1.2.18 (Part4) //-------------------------------------------------------------------------------- class CShadow : public WritingElement { public: WritingElement_AdditionMethods(CShadow) CShadow(OOX::Document *pMain = NULL); virtual ~CShadow(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::CColorType m_oColor = SimpleTypes::colortypeRGB; SimpleTypes::CColorType m_oColor2 = SimpleTypes::colortypeRGB; nullable_string m_oId; nullable m_oMatrix; SimpleTypes::CTrueFalse m_oObscured; SimpleTypes::Vml::CVml_Vector2D_Units_Or_Percentage m_oOffset; SimpleTypes::Vml::CVml_Vector2D_Units_Or_Percentage m_oOffset2; SimpleTypes::CTrueFalse m_oOn = SimpleTypes::booleanTrue; nullable m_oOpacity; SimpleTypes::Vml::CVml_Vector2D_Percentage m_oOrigin; SimpleTypes::CShadowType m_oType; }; //-------------------------------------------------------------------------------- // CShapeType 14.1.2.20 (Part4) //-------------------------------------------------------------------------------- class CShapeType : public CVmlCommonElements { public: WritingElement_AdditionMethods(CShapeType) CShapeType(OOX::Document *pMain = NULL); virtual ~CShapeType(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_sType; nullable_string m_sAdj; nullable m_oPath; nullable_bool m_oMaster; }; //-------------------------------------------------------------------------------- // CShape 14.1.2.19 (Part4) //-------------------------------------------------------------------------------- class CShape : public CVmlCommonElements { public: WritingElement_AdditionMethods(CShape) CShape(OOX::Document *pMain = NULL); virtual ~CShape(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; void mergeFrom(CShapeType* shape_type); void ConvertToPptx(double width, double height); private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_sType; nullable_string m_sAdj; nullable m_oPath; nullable_string m_sGfxData; nullable_string m_sEquationXML; //-------------------------------------------------------------------------- nullable m_oCustGeom; }; class CClientData : public WritingElement { public: WritingElement_AdditionMethods(CClientData) CClientData(OOX::Document *pMain = NULL); virtual ~CClientData(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; void getAnchorArray(std::vector& aAnchor) const; bool toCellAnchor(OOX::Spreadsheet::CCellAnchor* pCellAnchor); void toFormControlPr(OOX::Spreadsheet::CFormControlPr* pFormControlPr); void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); nullable m_oObjectType; nullable_bool m_oMoveWithCells; nullable_bool m_oSizeWithCells; nullable_string m_oAnchor; nullable m_oRow; nullable m_oColumn; nullable m_oMin; nullable m_oMax; nullable m_oInc; nullable m_oDx; nullable m_oPage; nullable m_oDropLines; nullable m_oSel; nullable m_oWidthMin; nullable m_oDropStyle; nullable_bool m_oFirstButton; nullable_bool m_oDefaultSize; nullable_bool m_oAutoFill; nullable_bool m_oAutoScale; nullable_bool m_oAutoLine; nullable_bool m_oHoriz; nullable_bool m_oVScroll; nullable_bool m_oAutoPict; nullable_bool m_oColored; nullable_bool m_oMultiLine; nullable_bool m_oNoThreeD; nullable_bool m_oNoThreeD2; nullable_bool m_oLockText; nullable_bool m_oJustLastX; nullable_bool m_oSecretEdit; nullable_string m_oFmlaLink; nullable_string m_oFmlaRange; nullable_string m_oFmlaMacro; nullable_string m_oFmlaTxbx; nullable_string m_oFmlaGroup; nullable_string m_oCf; nullable m_oChecked; nullable_string m_oMultiSel; nullable m_oSelType; nullable_int m_oVal; nullablem_oTextHAlign; nullable m_oTextVAlign; nullable_bool m_oVisible; //x:Accel //x:Accel2 //x:Camera //x:Cancel //x:ClientData //x:ColHidden //x:DDE //x:Default //x:Disabled //x:Dismiss //x:FmlaPict //x:Help //x:LCT //x:ListItem //x:Locked //x:MapOCX //x:PrintObject //x:RecalcAlways //x:RowHidden //x:ScriptExtended //x:ScriptLanguage //x:ScriptLocation //x:ScriptText //x:UIObj //x:ValidIds //x:VTEdit }; //-------------------------------------------------------------------------------- // CStroke 14.1.2.21 (Part4) //-------------------------------------------------------------------------------- class CStroke : public WritingElement { public: WritingElement_AdditionMethods(CStroke) CStroke(OOX::Document *pMain = NULL); virtual ~CStroke(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_oId; nullable_string m_sAltHref; nullable m_oColor; nullable m_oColor2; nullable m_oDahsStyle; nullable m_oEndArrow; nullable m_oEndArrowLength; nullable m_oEndArrowWidth; nullable m_oEndCap; nullable m_oFillType; nullable m_oForceDash; nullable_string m_sHref; nullable m_rId; nullable m_oImageAlignShape; nullable m_oImageAspect; nullable m_oImageSize; nullable m_oInsetPen; nullable m_oJoinStyle; nullable m_oLineStyle; nullable m_oMiterLimit; nullable m_oOn; nullable_double m_oOpacity; nullable m_oRelId; nullable_string m_sSrc; nullable m_oStartArrow; nullable m_oStartArrowLength; nullable m_oStartArrowWidth; nullable_string m_sTitle; nullable_double m_oWeight; nullable m_oLeft; nullable m_oTop; nullable m_oRight; nullable m_oBottom; nullable m_oColumn; }; //-------------------------------------------------------------------------------- // CTextbox 14.1.2.22 (Part4) //-------------------------------------------------------------------------------- class CTextbox : public WritingElement { public: WritingElement_AdditionMethods(CTextbox) CTextbox(OOX::Document *pMain = NULL); virtual ~CTextbox(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_oId; nullable m_oStyle; nullable m_oInset; SimpleTypes::CTrueFalse m_oSingleClick; SimpleTypes::CInsetMode m_oInsetMode = SimpleTypes::insetmodeCustom; nullable m_oTxtbxContent; nullable_string m_oText; //m_arDivs; }; //-------------------------------------------------------------------------------- // CTextPath 14.1.2.23 (Part4) //-------------------------------------------------------------------------------- class CTextPath : public WritingElement { public: WritingElement_AdditionMethods(CTextPath) CTextPath(OOX::Document *pMain = NULL); virtual ~CTextPath(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oFitPath; nullable m_oFitShape; nullable_string m_oId; nullable m_oOn; nullable_string m_sString; nullable m_oStyle; nullable m_oTrim; nullable m_oXScale; nullable_string m_sStringOriginal; }; //-------------------------------------------------------------------------------- // CGroup 14.1.2.7 (Part4) //-------------------------------------------------------------------------------- class CGroup : public CVmlCommonElements { public: WritingElement_AdditionMethods(CGroup); CGroup(OOX::Document *pMain = NULL); virtual ~CGroup(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: std::vector m_arrShapeTypes; std::vector m_arrElements; nullable m_oEditAs; nullable m_oTableLimits; SimpleTypes::Vml::CVml_TableProperties m_oTableProperties; }; } // namespace Vml } // namespace OOX namespace OOX { namespace VmlOffice { //-------------------------------------------------------------------------------- // CShapeDefaults 14.2.2.28 (Part 4) //-------------------------------------------------------------------------------- class CShapeDefaults : public WritingElement { public: WritingElement_AdditionMethods(CShapeDefaults) CShapeDefaults(OOX::Document *pMain = NULL); virtual ~CShapeDefaults(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::CTrueFalse m_oAllowInCell; nullable m_oExt; SimpleTypes::CTrueFalse m_oFill = SimpleTypes::booleanTrue; nullable m_oFillColor; SimpleTypes::CDecimalNumber m_oSpIdMax; SimpleTypes::CTrueFalse m_oStroke = SimpleTypes::booleanTrue; SimpleTypes::CColorType m_oStrokeColor; nullable m_oStyle; nullable m_oVmlFill; nullable m_oVmlStroke; nullable m_oVmlTextbox; nullable m_oVmlShadow; nullable m_oSkew; nullable m_oExtrusion; nullable m_oCallout; nullable m_oLock; nullable m_oColorMru; nullable m_oColorMenu; }; } // VmlOffice } // namespace OOX