/* * (c) Copyright Ascensio System SIA 2010-2019 * * 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-12 Ernesta Birznieka-Upisha * 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 "../../Common/ComplexTypes.h" #include "oMathBottomNodes.h" #include "OMath.h" #include "../Logic/RunContent.h" #include "../Logic/FldChar.h" #include "../Logic/RunProperty.h" #include "../Logic/Annotations.h" #include "../Logic/Pict.h" #include "../Drawing/Drawing.h" #include "../../PPTXFormat/Logic/RunProperties.h" namespace OOX { // Elements 22.1.2 namespace Logic { #define CMathArgNodesEx(name, type)\ class name : public CMathArgNodes\ {\ public:\ name(OOX::Document *pMain = NULL) : CMathArgNodes(pMain) {m_eType = type;}\ name(XmlUtils::CXmlNode& oNode)\ {\ fromXML( oNode );\ }\ name(XmlUtils::CXmlLiteReader& oReader)\ {\ fromXML( oReader );\ }\ virtual EElementType getType() const\ {\ return type;\ }\ }; CMathArgNodesEx(CDeg, OOX::et_m_deg) CMathArgNodesEx(CDen, OOX::et_m_den) CMathArgNodesEx(CElement, OOX::et_m_e) CMathArgNodesEx(CFName, OOX::et_m_fName) CMathArgNodesEx(CLim, OOX::et_m_lim) CMathArgNodesEx(CNum, OOX::et_m_num) CMathArgNodesEx(COMath, OOX::et_m_oMath) CMathArgNodesEx(CSub, OOX::et_m_sub) CMathArgNodesEx(CSup, OOX::et_m_sup) //------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- // CCtrlPr 22.1.2.23 (Control Properties) //-------------------------------------------------------------------------------- class CCtrlPr : public WritingElement { public: WritingElement_AdditionConstructors(CCtrlPr) CCtrlPr(); virtual ~CCtrlPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oRPr; nullable m_oARPr; nullable m_oIns; nullable m_oDel; }; //-------------------------------------------------------------------------------- // CAccPr 22.1.2.2 (Accent Properties) //-------------------------------------------------------------------------------- class CAccPr : public WritingElement { public: WritingElement_AdditionConstructors(CAccPr) CAccPr(); virtual ~CAccPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oChr; nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CAcc 22.1.2.1 (Accent) //-------------------------------------------------------------------------------- class CAcc : public WritingElement { public: WritingElement_AdditionConstructors(CAcc) CAcc(); virtual ~CAcc(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); std::wstring toXML() const; virtual EElementType getType() const; nullable m_oAccPr; nullable m_oElement; }; //-------------------------------------------------------------------------------- // CArgPr 22.1.2.5 (Argument Properties) //-------------------------------------------------------------------------------- class CArgPr : public WritingElement { public: WritingElement_AdditionConstructors(CArgPr) CArgPr(); virtual ~CArgPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oArgSz; }; //-------------------------------------------------------------------------------- // CBarPr 22.1.2.8 (Bar Properties) //-------------------------------------------------------------------------------- class CBarPr : public WritingElement { public: WritingElement_AdditionConstructors(CBarPr) CBarPr(); virtual ~CBarPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; nullable m_oPos; }; //-------------------------------------------------------------------------------- // CBar 22.1.2.7 (Bar) //-------------------------------------------------------------------------------- class CBar : public WritingElement { public: WritingElement_AdditionConstructors(CBar) CBar(); virtual ~CBar(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBarPr; nullable m_oElement; }; //-------------------------------------------------------------------------------- // CBorderBoxPr 22.1.2.12 (Border-Box Properties) //-------------------------------------------------------------------------------- class CBorderBoxPr : public WritingElement { public: WritingElement_AdditionConstructors(CBorderBoxPr) CBorderBoxPr(); virtual ~CBorderBoxPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; nullable m_oHideBot; nullable m_oHideLeft; nullable m_oHideRight; nullable m_oHideTop; nullable m_oStrikeBLTR; nullable m_oStrikeH; nullable m_oStrikeTLBR; nullable m_oStrikeV; }; //-------------------------------------------------------------------------------- // CBorderBox 22.1.2.11 (Border-Box Object) //-------------------------------------------------------------------------------- class CBorderBox : public WritingElement { public: WritingElement_AdditionConstructors(CBorderBox) CBorderBox();; virtual ~CBorderBox(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBorderBoxPr; nullable m_oElement; }; //-------------------------------------------------------------------------------- // CBrk 22.1.2.15 (Break) //-------------------------------------------------------------------------------- class CBrk : public WritingElement { public: WritingElement_AdditionConstructors(CBrk) CBrk(); virtual ~CBrk(); 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_alnAt; }; //-------------------------------------------------------------------------------- // CBoxPr 22.1.2.14 (Box Properties) //-------------------------------------------------------------------------------- class CBoxPr : public WritingElement { public: WritingElement_AdditionConstructors(CBoxPr) CBoxPr(); virtual ~CBoxPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oAln; nullable m_oBrk; nullable m_oCtrlPr; nullable m_oDiff; nullable m_oNoBreak; nullable m_oOpEmu; }; //-------------------------------------------------------------------------------- // CBox 22.1.2.13 (Box Object) //-------------------------------------------------------------------------------- class CBox : public WritingElement { public: WritingElement_AdditionConstructors(CBox) CBox(); virtual ~CBox(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBoxPr; nullable m_oElement; }; //-------------------------------------------------------------------------------- // CDelimiterPr 22.1.2.31 (Delimiter Properties) //-------------------------------------------------------------------------------- class CDelimiterPr : public WritingElement { public: WritingElement_AdditionConstructors(CDelimiterPr) CDelimiterPr(); virtual ~CDelimiterPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBegChr; nullable m_oCtrlPr; nullable m_oEndChr; nullable m_oGrow; nullable m_oSepChr; nullable m_oShp; }; //-------------------------------------------------------------------------------- // CDelimiter 22.1.2.24 (Delimiter Object) //-------------------------------------------------------------------------------- class CDelimiter : public WritingElementWithChilds<> { public: WritingElement_AdditionConstructors(CDelimiter) CDelimiter(); virtual ~CDelimiter(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; LONG m_lColumn; }; //-------------------------------------------------------------------------------- // CEqArrPr 22.1.2.35 (Array Object) //-------------------------------------------------------------------------------- class CEqArrPr : public WritingElement { public: WritingElement_AdditionConstructors(CEqArrPr) CEqArrPr(); virtual ~CEqArrPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBaseJc; nullable m_oCtrlPr; nullable m_oMaxDist; nullable m_oObjDist; nullable m_oRSp; nullable m_oRSpRule; }; //-------------------------------------------------------------------------------- // CEqArr 22.1.2.34 (Array Object) //-------------------------------------------------------------------------------- class CEqArr : public WritingElementWithChilds<> { public: WritingElement_AdditionConstructors(CEqArr) CEqArr(); virtual ~CEqArr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; LONG m_lRow; }; //-------------------------------------------------------------------------------- // CFPr 22.1.2.38 (Fraction Properties) //-------------------------------------------------------------------------------- class CFPr : public WritingElement { public: WritingElement_AdditionConstructors(CFPr) CFPr(); virtual ~CFPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; nullable m_oType; }; //-------------------------------------------------------------------------------- // CFraction 22.1.2.36 (Fraction Object) //-------------------------------------------------------------------------------- class CFraction : public WritingElement { public: WritingElement_AdditionConstructors(CFraction) CFraction(); virtual ~CFraction(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oDen; nullable m_oFPr; nullable m_oNum; }; //-------------------------------------------------------------------------------- // CFuncPr 22.1.2.40 (Function Properties) //-------------------------------------------------------------------------------- class CFuncPr : public WritingElement { public: WritingElement_AdditionConstructors(CFuncPr) CFuncPr(); virtual ~CFuncPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CFunc 22.1.2.39 (Function Apply Object) //-------------------------------------------------------------------------------- class CFunc : public WritingElement { public: WritingElement_AdditionConstructors(CFunc) CFunc(); virtual ~CFunc(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oFName; nullable m_oFuncPr; }; //-------------------------------------------------------------------------------- // CGroupChrPr 22.1.2.42 (Group-Character Properties ) //-------------------------------------------------------------------------------- class CGroupChrPr : public WritingElement { public: WritingElement_AdditionConstructors(CGroupChrPr) CGroupChrPr(); virtual ~CGroupChrPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oChr; nullable m_oCtrlPr; nullable m_oPos; nullable m_oVertJc; }; //-------------------------------------------------------------------------------- // CGroupChr 22.1.2.41 (Group-Character Object) //-------------------------------------------------------------------------------- class CGroupChr : public WritingElement { public: WritingElement_AdditionConstructors(CGroupChr) CGroupChr(); virtual ~CGroupChr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oGroupChrPr; }; //-------------------------------------------------------------------------------- // CLimLowPr 22.1.2.55 (Lower-Limit Properties) //-------------------------------------------------------------------------------- class CLimLowPr : public WritingElement { public: WritingElement_AdditionConstructors(CLimLowPr) CLimLowPr(); virtual ~CLimLowPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CLimLow 22.1.2.54 (Lower-Limit Object) //-------------------------------------------------------------------------------- class CLimLow : public WritingElement { public: WritingElement_AdditionConstructors(CLimLow) CLimLow(); virtual ~CLimLow(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oLim; nullable m_oLimLowPr; }; //-------------------------------------------------------------------------------- // CLimUppPr 22.1.2.57 (Upper-Limit Properties) //-------------------------------------------------------------------------------- class CLimUppPr : public WritingElement { public: WritingElement_AdditionConstructors(CLimUppPr) CLimUppPr(); virtual ~CLimUppPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CLimUpp 22.1.2.56 (Upper-Limit Object) //-------------------------------------------------------------------------------- class CLimUpp : public WritingElement { public: WritingElement_AdditionConstructors(CLimUpp) CLimUpp(); virtual ~CLimUpp(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oLim; nullable m_oLimUppPr; }; //-------------------------------------------------------------------------------- // CMathFont 22.1.2.61 (Math Font) //-------------------------------------------------------------------------------- class CMathFont : public WritingElement { public: WritingElement_AdditionConstructors(CMathFont) CMathFont(); virtual ~CMathFont(); 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_val; }; //-------------------------------------------------------------------------------- // CMathPr 22.1.2.62 (Math Properties) //-------------------------------------------------------------------------------- class CMathPr : public WritingElement { public: WritingElement_AdditionConstructors(CMathPr) CMathPr(); virtual ~CMathPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBrkBin; nullable m_oBrkBinSub; nullable m_oDefJc; nullable m_oDispDef; nullable m_oInterSp; nullable m_oIntLim; nullable m_oIntraSp; nullable m_oLMargin; nullable m_oMathFont; nullable m_oNaryLim; nullable m_oPostSp; nullable m_oPreSp; nullable m_oRMargin; nullable m_oSmallFrac; nullable m_oWrapIndent; nullable m_oWrapRight; }; //-------------------------------------------------------------------------------- // CMcPr 22.1.2.66 (Matrix Column Properties) //-------------------------------------------------------------------------------- class CMcPr : public WritingElement { public: WritingElement_AdditionConstructors(CMcPr) CMcPr(); virtual ~CMcPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCount; nullable m_oMcJc; }; //-------------------------------------------------------------------------------- // CMc 22.1.2.64 (Matrix Column) //-------------------------------------------------------------------------------- class CMc : public WritingElement { public: WritingElement_AdditionConstructors(CMc) CMc(); virtual ~CMc(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oMcPr; }; //-------------------------------------------------------------------------------- // CMcs 22.1.2.67 (Matrix Columns) //-------------------------------------------------------------------------------- class CMcs : public WritingElementWithChilds<> { public: WritingElement_AdditionConstructors(CMcs) CMcs(); virtual ~CMcs(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; }; //-------------------------------------------------------------------------------- // CMPr 22.1.2.68 (Matrix Properties) //-------------------------------------------------------------------------------- class CMPr : public WritingElement { public: CMPr(); CMPr(XmlUtils::CXmlNode &oNode); CMPr(XmlUtils::CXmlLiteReader& oReader); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oBaseJc; nullable m_oCGp; nullable m_oCGpRule; nullable m_oCSp; nullable m_oCtrlPr; nullable m_oMcs; nullable m_oPlcHide; nullable m_oRSp; nullable m_oRSpRule; }; //-------------------------------------------------------------------------------- // CMr 22.1.2.69 (Matrix Row) //-------------------------------------------------------------------------------- class CMr : public WritingElementWithChilds<> { public: WritingElement_AdditionConstructors(CMr) CMr(); virtual ~CMr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; LONG GetCol(); LONG m_lCol; }; //-------------------------------------------------------------------------------- // CMatrix 22.1.2.60 (Matrix Object) //-------------------------------------------------------------------------------- class CMatrix : public WritingElementWithChilds<> { public: WritingElement_AdditionConstructors(CMatrix) CMatrix(); virtual ~CMatrix(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; LONG m_lRow; }; //-------------------------------------------------------------------------------- // CNaryPr 22.1.2.72 (n-ary Properties) //-------------------------------------------------------------------------------- class CNaryPr : public WritingElement { public: WritingElement_AdditionConstructors(CNaryPr) CNaryPr(); virtual ~CNaryPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oChr; nullable m_oCtrlPr; nullable m_oGrow; nullable m_oLimLoc; nullable m_oSubHide; nullable m_oSupHide; }; //-------------------------------------------------------------------------------- // CNary 22.1.2.70 (n-ary Operator Object) //-------------------------------------------------------------------------------- class CNary : public WritingElement { public: WritingElement_AdditionConstructors(CNary) CNary(); virtual ~CNary(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oNaryPr; nullable m_oSub; nullable m_oSup; }; //-------------------------------------------------------------------------------- // COMathParaPr 22.1.2.79 //-------------------------------------------------------------------------------- class COMathParaPr : public WritingElement { public: WritingElement_AdditionConstructors(COMathParaPr) COMathParaPr(); virtual ~COMathParaPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oMJc; }; //-------------------------------------------------------------------------------- // CPhantPr 22.1.2.82 (Phantom Properties) //-------------------------------------------------------------------------------- class CPhantPr : public WritingElement { public: WritingElement_AdditionConstructors(CPhantPr) CPhantPr(); virtual ~CPhantPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oCtrlPr; nullable m_oShow; nullable m_oTransp; nullable m_oZeroAsc; nullable m_oZeroDesc; nullable m_oZeroWid; }; //-------------------------------------------------------------------------------- // CPhant 22.1.2.81 (Phantom Object) //-------------------------------------------------------------------------------- class CPhant : public WritingElement { public: WritingElement_AdditionConstructors(CPhant) CPhant(); virtual ~CPhant(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oElement; nullable m_oPhantPr; }; //-------------------------------------------------------------------------------- // CMText 22.1.2.116 (Math Text) //-------------------------------------------------------------------------------- class CMText : public WritingElement { public: WritingElement_AdditionConstructors(CMText) CMText(); virtual ~CMText(); 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_oSpace; std::wstring m_sText; }; //-------------------------------------------------------------------------------- // CMRPr 22.1.2.91 (Run Properties) //-------------------------------------------------------------------------------- class CMRPr : public WritingElement { public: WritingElement_AdditionConstructors(CMRPr) CMRPr(); virtual ~CMRPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; nullable m_oAln; nullable m_oBrk; nullable m_oLit; nullable m_oNor; nullable m_oScr; nullable m_oSty; }; class CMDel; class CMIns; //-------------------------------------------------------------------------------- // CMRun 22.1.2.87 (Math Run) //-------------------------------------------------------------------------------- class CMRun : public WritingElement { public: WritingElement_AdditionConstructors(CMRun) CMRun(); virtual ~CMRun(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual std::wstring toXMLInner() const; virtual EElementType getType() const; // Childs nullable m_oAnnotationRef; nullable m_oBr; nullable m_oCommentReference; nullable m_oContentPart; nullable m_oContinuationSeparator; nullable m_oCr; nullable m_oDayLong; nullable m_oDayShort; nullable m_oDel; nullable m_oDelInstrText; nullable m_oDelText; nullable m_oDrawing; nullable m_oEndnoteRef; nullable m_oEndnoteReference; nullable m_oFldChar; nullable m_oFootnoteRef; nullable m_oFootnoteReference; nullable m_oIns; nullable m_oInstrText; nullable m_oLastRenderedPageBreak; nullable m_oMonthLong; nullable m_oMonthShort; nullable m_oNoBreakHyphen; nullable m_oObject; nullable m_oPgNum; nullable m_oPtab; nullable m_oRPr; nullable m_oMRPr; nullable m_oARPr; nullable m_oRuby; nullable m_oSeparator; nullable m_oSoftHyphen; nullable m_oSym; nullable m_oMText; nullable m_oText; nullable m_oTab; nullable m_oYearLong; nullable m_oYearShort; }; class CMDel : public WritingElement { public: WritingElement_AdditionConstructors(CMDel) CMDel(); virtual ~CMDel(); 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_sAuthor; nullable m_oDate; nullable m_oId; nullable m_sUserId; // Childs nullable m_oRun; }; class CMIns : public WritingElement { public: WritingElement_AdditionConstructors(CMIns) CMIns(); virtual ~CMIns(); 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_sAuthor; nullable m_oDate; nullable m_oId; nullable m_sUserId; // Childs nullable m_oRun; }; //-------------------------------------------------------------------------------- // CRadPr 22.1.2.89 (Radical Properties) //-------------------------------------------------------------------------------- class CRadPr : public WritingElement { public: WritingElement_AdditionConstructors(CRadPr) CRadPr(); virtual ~CRadPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oCtrlPr; nullable m_oDegHide; }; //-------------------------------------------------------------------------------- // CRad 22.1.2.88 (Radical Object) //-------------------------------------------------------------------------------- class CRad : public WritingElement { public: WritingElement_AdditionConstructors(CRad) CRad(); virtual ~CRad(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oDeg; nullable m_oElement; nullable m_oRadPr; }; //-------------------------------------------------------------------------------- // CSPrePr 22.1.2.100 (Pre-Sub-Superscript Properties)) //-------------------------------------------------------------------------------- class CSPrePr : public WritingElement { public: WritingElement_AdditionConstructors(CSPrePr) CSPrePr(); virtual ~CSPrePr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CSPre 22.1.2.99 (Pre-Sub-Superscript Object) //-------------------------------------------------------------------------------- class CSPre : public WritingElement { public: WritingElement_AdditionConstructors(CSPre) CSPre(); virtual ~CSPre(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oElement; nullable m_oSPrePr; nullable m_oSub; nullable m_oSup; }; //-------------------------------------------------------------------------------- // CSSubPr 22.1.2.102 (Subscript Properties) //-------------------------------------------------------------------------------- class CSSubPr : public WritingElement { public: WritingElement_AdditionConstructors(CSSubPr) CSSubPr(); virtual ~CSSubPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CSSub 22.1.2.101 (Subscript Object) //-------------------------------------------------------------------------------- class CSSub : public WritingElement { public: WritingElement_AdditionConstructors(CSSub) CSSub(); virtual ~CSSub(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oElement; nullable m_oSSubPr; nullable m_oSub; }; //-------------------------------------------------------------------------------- // CSSubSupPr 22.1.2.104 (Sub-Superscript Properties) //-------------------------------------------------------------------------------- class CSSubSupPr : public WritingElement { public: WritingElement_AdditionConstructors(CSSubSupPr) CSSubSupPr(); virtual ~CSSubSupPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oAlnScr; nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CSSubSup 22.1.2.103 (Sub-Superscript Object) //-------------------------------------------------------------------------------- class CSSubSup : public WritingElement { public: WritingElement_AdditionConstructors(CSSubSup) CSSubSup(); virtual ~CSSubSup(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oElement; nullable m_oSSubSupPr; nullable m_oSub; nullable m_oSup; }; //-------------------------------------------------------------------------------- // CSSupPr 22.1.2.106 (Superscript Properties) //-------------------------------------------------------------------------------- class CSSupPr : public WritingElement { public: WritingElement_AdditionConstructors(CSSupPr) CSSupPr(); virtual ~CSSupPr(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oCtrlPr; }; //-------------------------------------------------------------------------------- // CSSup 22.1.2.105 (Superscript Object) //-------------------------------------------------------------------------------- class CSSup : public WritingElement { public: WritingElement_AdditionConstructors(CSSup) CSSup(); virtual ~CSSup(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; //Childs nullable m_oElement; nullable m_oSSupPr; nullable m_oSup; }; } // namespace OMath } // namespace OOX