diff --git a/OOXML/DocxFormat/Math/OMath.h b/OOXML/DocxFormat/Math/OMath.h
index 014ea273d4..a1f6d9eb60 100644
--- a/OOXML/DocxFormat/Math/OMath.h
+++ b/OOXML/DocxFormat/Math/OMath.h
@@ -43,85 +43,26 @@ namespace OOX
class CMathArgNodes : public WritingElementWithChilds<>
{
public:
- CMathArgNodes(OOX::Document *pMain = NULL) : WritingElementWithChilds<>(pMain)
- {
- m_eType = et_Unknown;
- }
- CMathArgNodes(XmlUtils::CXmlNode &oNode)
- {
- fromXML( oNode );
- }
- CMathArgNodes(XmlUtils::CXmlLiteReader& oReader)
- {
- fromXML( oReader );
- }
+ CMathArgNodes(OOX::Document *pMain = NULL);
+ CMathArgNodes(XmlUtils::CXmlNode &oNode);
+ CMathArgNodes(XmlUtils::CXmlLiteReader& oReader);
virtual ~CMathArgNodes();
- const CMathArgNodes &operator =(const XmlUtils::CXmlNode& oNode)
- {
- ClearItems();
- fromXML( (XmlUtils::CXmlNode&)oNode );
- return *this;
- }
- const CMathArgNodes &operator =(const XmlUtils::CXmlLiteReader& oReader)
- {
- ClearItems();
- fromXML( (XmlUtils::CXmlLiteReader&)oReader );
- return *this;
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ const CMathArgNodes &operator =(const XmlUtils::CXmlNode& oNode);
+ const CMathArgNodes &operator =(const XmlUtils::CXmlLiteReader& oReader);
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- virtual std::wstring toXML() const
- {
- std::wstring sNodeName = m_sNodeName;
- if (sNodeName.empty())
- sNodeName = GetMathNodeName(getType());
-
- if (sNodeName.empty()) return L"";
-
- std::wstring sResult = _T("<") + sNodeName + _T(">");
-
- for ( size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if ( m_arrItems[i] )
- {
- sResult += m_arrItems[i]->toXML();
- }
- }
-
- sResult += _T("") + sNodeName + _T(">");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return m_eType;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
EElementType m_eType;
std::wstring m_sNodeName;
+
private:
- std::wstring GetMathNodeName(const EElementType & enumType) const
- {//todooo вытащить в одно место - пересекается с MathBottomNodes
- switch(enumType)
- {
- case OOX::et_m_deg: return L"m:deg";
- case OOX::et_m_den: return L"m:den";
- case OOX::et_m_e: return L"m:e";
- case OOX::et_m_fName: return L"m:fName";
- case OOX::et_m_lim: return L"m:lim";
- case OOX::et_m_num: return L"m:num";
- case OOX::et_m_oMath: return L"m:oMath";
- case OOX::et_m_sub: return L"m:sub";
- case OOX::et_m_sup: return L"m:sup";
- default:
- break;
- }
- return L"";
- }
- };
+ std::wstring GetMathNodeName(const EElementType & enumType) const;
+ };
+
}//namespace Logic
}//namespace OOX
diff --git a/OOXML/DocxFormat/Math/oMath.cpp b/OOXML/DocxFormat/Math/oMath.cpp
index 909504ce17..6d234c405e 100644
--- a/OOXML/DocxFormat/Math/oMath.cpp
+++ b/OOXML/DocxFormat/Math/oMath.cpp
@@ -38,10 +38,34 @@
namespace OOX
{
namespace Logic
- {
+ {
+ CMathArgNodes::CMathArgNodes(OOX::Document *pMain) : WritingElementWithChilds<>(pMain)
+ {
+ m_eType = et_Unknown;
+ }
+ CMathArgNodes::CMathArgNodes(XmlUtils::CXmlNode &oNode)
+ {
+ fromXML( oNode );
+ }
+ CMathArgNodes::CMathArgNodes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ fromXML( oReader );
+ }
CMathArgNodes::~CMathArgNodes()
{
}
+ const CMathArgNodes& CMathArgNodes::operator =(const XmlUtils::CXmlNode& oNode)
+ {
+ ClearItems();
+ fromXML( (XmlUtils::CXmlNode&)oNode );
+ return *this;
+ }
+ const CMathArgNodes& CMathArgNodes::operator =(const XmlUtils::CXmlLiteReader& oReader)
+ {
+ ClearItems();
+ fromXML( (XmlUtils::CXmlLiteReader&)oReader );
+ return *this;
+ }
void CMathArgNodes::fromXML(XmlUtils::CXmlNode& oNode)
{
m_sNodeName = oNode.GetName();
@@ -311,5 +335,50 @@ namespace OOX
m_arrItems.push_back( pItem );
}
}
+ std::wstring CMathArgNodes::toXML() const
+ {
+ std::wstring sNodeName = m_sNodeName;
+ if (sNodeName.empty())
+ sNodeName = GetMathNodeName(getType());
+
+ if (sNodeName.empty()) return L"";
+
+ std::wstring sResult = _T("<") + sNodeName + _T(">");
+
+ for ( size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if ( m_arrItems[i] )
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += _T("") + sNodeName + _T(">");
+
+ return sResult;
+ }
+ EElementType CMathArgNodes::getType() const
+ {
+ return m_eType;
+ }
+ std::wstring CMathArgNodes::GetMathNodeName(const EElementType & enumType) const
+ {//todooo вытащить в одно место - пересекается с MathBottomNodes
+ switch(enumType)
+ {
+ case OOX::et_m_deg: return L"m:deg";
+ case OOX::et_m_den: return L"m:den";
+ case OOX::et_m_e: return L"m:e";
+ case OOX::et_m_fName: return L"m:fName";
+ case OOX::et_m_lim: return L"m:lim";
+ case OOX::et_m_num: return L"m:num";
+ case OOX::et_m_oMath: return L"m:oMath";
+ case OOX::et_m_sub: return L"m:sub";
+ case OOX::et_m_sup: return L"m:sup";
+ default:
+ break;
+ }
+ return L"";
+ }
+
}//namespace Logic
}//namespace OOX
diff --git a/OOXML/DocxFormat/Math/oMathContent.cpp b/OOXML/DocxFormat/Math/oMathContent.cpp
index 31cef65adc..9d61456887 100644
--- a/OOXML/DocxFormat/Math/oMathContent.cpp
+++ b/OOXML/DocxFormat/Math/oMathContent.cpp
@@ -32,990 +32,4168 @@
#include "oMathContent.h"
namespace OOX
{
-namespace Logic
-{
- void CMathPr::fromXML(XmlUtils::CXmlNode& oNode)
+ namespace Logic
{
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
+ //--------------------------------------------------------------------------------
+ // CCtrlPr 22.1.2.23 (Control Properties)
+ //--------------------------------------------------------------------------------
+
+ CCtrlPr::CCtrlPr()
{
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ }
+ CCtrlPr::~CCtrlPr()
+ {
+ }
+ EElementType CCtrlPr::getType() const
+ {
+ return et_m_ctrlPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CAccPr 22.1.2.2 (Accent Properties)
+ //--------------------------------------------------------------------------------
+
+ CAccPr::CAccPr()
+ {
+ }
+ CAccPr::~CAccPr()
+ {
+ }
+ void CAccPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
{
- if (oChilds.GetAt(nIndex, oItem))
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
{
- std::wstring sName = XmlUtils::GetNameNoNS(oItem.GetName());
- WritingElement *pItem = NULL;
-
- if (L"brkBin" == sName)
- m_oBrkBin = oItem;
- else if (L"brkBinSub" == sName)
- m_oBrkBinSub = oItem;
- else if (L"defJc" == sName)
- m_oDefJc = oItem;
- else if (L"w:dispDef" == sName)
- m_oDispDef = oItem;
- else if (L"w:interSp" == sName)
- m_oInterSp = oItem;
- else if (L"intLim" == sName)
- m_oIntLim = oItem;
- else if (L"intraSp" == sName)
- m_oIntraSp = oItem;
- else if (L"lMargin" == sName)
- m_oLMargin = oItem;
- else if (L"mathFont" == sName)
- m_oMathFont = oItem;
- else if (L"naryLim" == sName)
- m_oNaryLim = oItem;
- else if (L"postSp" == sName)
- m_oPostSp = oItem;
- else if (L"preSp" == sName)
- m_oPreSp = oItem;
- else if (L"rMargin" == sName)
- m_oRMargin = oItem;
- else if (L"smallFrac" == sName)
- m_oSmallFrac = oItem;
- else if (L"wrapIndent" == sName)
- m_oWrapIndent = oItem;
- else if (L"wrapRight" == sName)
- m_oWrapRight = oItem;
- }
- }
- }
- }
- void CMathPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
-
- int nCurDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nCurDepth))
- {
- std::wstring sName = XmlUtils::GetNameNoNS(oReader.GetName());
- WritingElement *pItem = NULL;
-
- if (L"brkBin" == sName)
- m_oBrkBin = oReader;
- else if (L"brkBinSub" == sName)
- m_oBrkBinSub = oReader;
- else if (L"defJc" == sName)
- m_oDefJc = oReader;
- else if (L"dispDef" == sName)
- m_oDispDef = oReader;
- else if (L"interSp" == sName)
- m_oInterSp = oReader;
- else if (L"intLim" == sName)
- m_oIntLim = oReader;
- else if (L"intraSp" == sName)
- m_oIntraSp = oReader;
- else if (L"lMargin" == sName)
- m_oLMargin = oReader;
- else if (L"mathFont" == sName)
- m_oMathFont = oReader;
- else if (L"naryLim" == sName)
- m_oNaryLim = oReader;
- else if (L"postSp" == sName)
- m_oPostSp = oReader;
- else if (L"preSp" == sName)
- m_oPreSp = oReader;
- else if (L"rMargin" == sName)
- m_oRMargin = oReader;
- else if (L"smallFrac" == sName)
- m_oSmallFrac = oReader;
- else if (L"wrapIndent" == sName)
- m_oWrapIndent = oReader;
- else if (L"wrapRight" == sName)
- m_oWrapRight = oReader;
- }
- }
- std::wstring CMathPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oMathFont.IsInit()) sResult += m_oMathFont->toXML();
- if (m_oBrkBin.IsInit()) sResult += m_oBrkBin->toXML();
- if (m_oBrkBinSub.IsInit()) sResult += m_oBrkBinSub->toXML();
- if (m_oSmallFrac.IsInit()) sResult += m_oSmallFrac->toXML();
- if (m_oDispDef.IsInit()) sResult += m_oDispDef->toXML();
- if (m_oLMargin.IsInit()) sResult += m_oLMargin->toXML();
- if (m_oRMargin.IsInit()) sResult += m_oRMargin->toXML();
- if (m_oDefJc.IsInit()) sResult += m_oDefJc->toXML();
- if (m_oPreSp.IsInit()) sResult += m_oPreSp->toXML();
- if (m_oPostSp.IsInit()) sResult += m_oPostSp->toXML();
- if (m_oInterSp.IsInit()) sResult += m_oInterSp->toXML();
- if (m_oIntraSp.IsInit()) sResult += m_oIntraSp->toXML();
- if (m_oWrapIndent.IsInit()) sResult += m_oWrapIndent->toXML();
- if (m_oWrapRight.IsInit()) sResult += m_oWrapRight->toXML();
- if (m_oIntLim.IsInit()) sResult += m_oIntLim->toXML();
- if (m_oNaryLim.IsInit()) sResult += m_oNaryLim->toXML();
-
- sResult += L"";
-
- return sResult;
- }
- void CMRPr::fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
- {
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
- {
- if (oChilds.GetAt(nIndex, oItem))
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if (L"m:aln" == sName)
- m_oAln = new OOX::Logic::CAln(oItem);
- else if (L"m:brk" == sName)
- m_oBrk = new OOX::Logic::CBrk(oItem);
- else if (L"m:lit" == sName)
- m_oLit = new OOX::Logic::CLit(oItem);
- else if (L"m:nor" == sName)
- m_oNor = new OOX::Logic::CNor(oItem);
- else if (L"m:scr" == sName)
- m_oScr = new OOX::Logic::CScr(oItem);
- else if (L"m:sty" == sName)
- m_oSty = new OOX::Logic::CSty(oItem);
- }
- }
- }
- }
- void CMRPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
- int nParentDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nParentDepth))
- {
- std::wstring sName = oReader.GetName();
- if (L"m:aln" == sName)
- m_oAln = oReader;
- else if (L"m:brk" == sName)
- m_oBrk = oReader;
- else if (L"m:lit" == sName)
- m_oLit = oReader;
- else if (L"m:nor" == sName)
- m_oNor = oReader;
- else if (L"m:scr" == sName)
- m_oScr = oReader;
- else if (L"m:sty" == sName)
- m_oSty = oReader;
- }
- }
- std::wstring CMRPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oAln.IsInit())
- sResult += m_oAln->toXML();
-
- if (m_oBrk.IsInit())
- sResult += m_oBrk->toXML();
-
- if (m_oLit.IsInit())
- sResult += m_oLit->toXML();
-
- if (m_oNor.IsInit())
- sResult += m_oNor->toXML();
-
- if (m_oScr.IsInit())
- sResult += m_oScr->toXML();
-
- if (m_oSty.IsInit())
- sResult += m_oSty->toXML();
-
- sResult += L"";
- return sResult;
- }
-
- void CNaryPr::fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
- {
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
- {
- if (oChilds.GetAt(nIndex, oItem))
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if (L"m:ctrlPr" == sName)
- m_oCtrlPr = new OOX::Logic::CCtrlPr(oItem);
- else if (L"m:chr" == sName)
- m_oChr = new OOX::Logic::CChr(oItem);
- else if (L"m:grow" == sName)
- m_oGrow = new OOX::Logic::CGrow(oItem);
- else if (L"m:limLoc" == sName)
- m_oLimLoc = new OOX::Logic::CLimLoc(oItem);
- else if (L"m:subHide" == sName)
- m_oSubHide = new OOX::Logic::CSubHide(oItem);
- else if (L"m:supHide" == sName)
- m_oSupHide = new OOX::Logic::CSupHide(oItem);
- }
- }
- }
- }
- void CNaryPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
- int nParentDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nParentDepth))
- {
- std::wstring sName = oReader.GetName();
- if (L"m:chr" == sName)
- m_oChr = oReader;
- else if (L"m:ctrlPr" == sName)
- m_oCtrlPr = oReader;
- else if (L"m:grow" == sName)
- m_oGrow = oReader;
- else if (L"m:limLoc" == sName)
- m_oLimLoc = oReader;
- else if (L"m:subHide" == sName)
- m_oSubHide = oReader;
- else if (L"m:supHide" == sName)
- m_oSupHide = oReader;
- }
- }
- std::wstring CNaryPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oChr.IsInit())
- sResult += m_oChr->toXML();
-
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
-
- if (m_oGrow.IsInit())
- sResult += m_oGrow->toXML();
-
- if (m_oLimLoc.IsInit())
- sResult += m_oLimLoc->toXML();
-
- if (m_oSubHide.IsInit())
- sResult += m_oSubHide->toXML();
-
- if (m_oSupHide.IsInit())
- sResult += m_oSupHide->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- void CMPr::fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
- {
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
- {
- if (oChilds.GetAt(nIndex, oItem))
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if (L"m:baseJc" == sName)
- m_oBaseJc = new OOX::Logic::CBaseJc(oItem);
- else if (L"m:cGp" == sName)
- m_oCGp = new OOX::Logic::CCGp(oItem);
- else if (L"m:cGpRule" == sName)
- m_oCGpRule = new OOX::Logic::CCGpRule(oItem);
- else if (L"m:cSp" == sName)
- m_oCSp = new OOX::Logic::CCSp(oItem);
- else if (L"m:ctrlPr" == sName)
- m_oCtrlPr = new OOX::Logic::CCtrlPr(oItem);
- else if (L"m:mcs" == sName)
- m_oMcs = new OOX::Logic::CMcs(oItem);
- else if (L"m:plcHide" == sName)
- m_oPlcHide = new OOX::Logic::CPlcHide(oItem);
- else if (L"m:rSp" == sName)
- m_oRSp = new OOX::Logic::CRSp(oItem);
- else if (L"m:rSpRule" == sName)
- m_oRSpRule = new OOX::Logic::CRSpRule(oItem);
- }
- }
- }
- }
- void CMPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
- int nParentDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nParentDepth))
- {
- std::wstring sName = oReader.GetName();
-
- if (L"m:baseJc" == sName)
- m_oBaseJc = oReader;
- else if (L"m:cGp" == sName)
- m_oCGp = oReader;
- else if (L"m:cGpRule" == sName)
- m_oCGpRule = oReader;
- else if (L"m:cSp" == sName)
- m_oCSp = oReader;
- else if (L"m:ctrlPr" == sName)
- m_oCtrlPr = oReader;
- else if (L"m:mcs" == sName)
- m_oMcs = oReader;
- else if (L"m:plcHide" == sName)
- m_oPlcHide = oReader;
- else if (L"m:rSp" == sName)
- m_oRSp = oReader;
- else if (L"m:rSpRule" == sName)
- m_oRSpRule = oReader;
- }
- }
- std::wstring CMPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oBaseJc.IsInit())
- sResult += m_oBaseJc->toXML();
- if (m_oCGp.IsInit())
- sResult += m_oCGp->toXML();
- if (m_oCGpRule.IsInit())
- sResult += m_oCGpRule->toXML();
- if (m_oCSp.IsInit())
- sResult += m_oCSp->toXML();
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
- if (m_oMcs.IsInit())
- sResult += m_oMcs->toXML();
- if (m_oPlcHide.IsInit())
- sResult += m_oPlcHide->toXML();
- if (m_oRSp.IsInit())
- sResult += m_oRSp->toXML();
- if (m_oRSpRule.IsInit())
- sResult += m_oRSpRule->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CAcc::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oAccPr.IsInit())
- sResult += m_oAccPr->toXML();
-
- if ( m_oElement.IsInit())
- sResult += m_oElement->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CAccPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oChr.IsInit() )
- sResult += m_oChr->toXML();
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBar::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oBarPr.IsInit() )
- sResult += m_oBarPr->toXML();
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBarPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oPos.IsInit() )
- sResult += m_oPos->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBorderBox::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oBorderBoxPr.IsInit() )
- sResult += m_oBorderBoxPr->toXML();
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBorderBoxPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oHideBot.IsInit() )
- sResult += m_oHideBot->toXML();
-
- if ( m_oHideLeft.IsInit() )
- sResult += m_oHideLeft->toXML();
-
- if ( m_oHideRight.IsInit() )
- sResult += m_oHideRight->toXML();
-
- if ( m_oHideTop.IsInit() )
- sResult += m_oHideTop->toXML();
-
- if ( m_oStrikeBLTR.IsInit() )
- sResult += m_oStrikeBLTR->toXML();
-
- if ( m_oStrikeH.IsInit() )
- sResult += m_oStrikeH->toXML();
-
- if ( m_oStrikeTLBR.IsInit() )
- sResult += m_oStrikeTLBR->toXML();
-
- if ( m_oStrikeV.IsInit() )
- sResult += m_oStrikeV->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBox::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oBoxPr.IsInit() )
- sResult += m_oBoxPr->toXML();
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CBoxPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oAln.IsInit() )
- sResult += m_oAln->toXML();
-
- if ( m_oBrk.IsInit() )
- sResult += m_oBrk->toXML();
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oDiff.IsInit() )
- sResult += m_oDiff->toXML();
-
- if ( m_oNoBreak.IsInit() )
- sResult += m_oNoBreak->toXML();
-
- if ( m_oOpEmu.IsInit() )
- sResult += m_oOpEmu->toXML();
-
- sResult += L"";
-
- return sResult;
- }
- void CCtrlPr::fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
- {
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
- {
- if (oChilds.GetAt(nIndex, oItem))
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if (L"w:rP" == sName)
- m_oRPr = new OOX::Logic::CRunProperty(oItem);
- else if (L"a:rPr" == sName)
- m_oARPr = new PPTX::Logic::RunProperties(oItem);
- else if (L"w:ins" == sName)
- m_oIns = new OOX::Logic::CRPrChange(oItem);
- else if (L"w:del" == sName)
- m_oDel = new OOX::Logic::CRPrChange(oItem);
-
- }
- }
- }
- }
- void CCtrlPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
- int nParentDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nParentDepth))
- {
- std::wstring sName = oReader.GetName();
- if (L"w:rPr" == sName)
- m_oRPr = oReader;
- else if (L"a:rPr" == sName)
- {
- std::wstring sXml = oReader.GetOuterXml();
- XmlUtils::CXmlNode node;
- node.FromXmlString(sXml);
-
- m_oARPr = node;
- }
- else if (L"w:ins" == sName)
- m_oIns = oReader;
- else if (L"w:del" == sName)
- m_oDel = oReader;
- }
- }
- std::wstring CCtrlPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oRPr.IsInit())
- sResult += m_oRPr->toXML();
- if (m_oARPr.IsInit())
- sResult += m_oARPr->toXML();
- if (m_oIns.IsInit())
- sResult += m_oIns->toXML();
- if (m_oDel.IsInit())
- sResult += m_oDel->toXML();
-
- sResult += L"";
-
- return sResult;
- }
- void CDelimiter::fromXML(XmlUtils::CXmlNode& oNode)
- {
- m_lColumn = 0;
-
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
- {
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
- {
- if (oChilds.GetAt(nIndex, oItem))
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if (L"m:dPr" == sName)
- pItem = new CDelimiterPr(oItem);
- else if (L"m:e" == sName)
+ if ( oChilds.GetAt( nIndex, oItem ) )
{
- pItem = new CElement(oItem);
- //нужно заранее знать колисество столбцов для отрисовки
- m_lColumn++;
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:chr") == sName )
+ m_oChr = new OOX::Logic::CChr( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
}
-
- if (pItem)
- m_arrItems.push_back(pItem);
}
}
}
- }
- void CDelimiter::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- m_lColumn = 0;
-
- if (oReader.IsEmptyNode())
- return;
-
- int nCurDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nCurDepth))
+ void CAccPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if (L"m:dPr" == sName)
- pItem = new CDelimiterPr(oReader);
- else if (L"m:e" == sName)
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
{
- pItem = new CElement(oReader);
- //нужно заранее знать колисество столбцов для отрисовки
- m_lColumn++;
- }
-
- if (pItem)
- m_arrItems.push_back(pItem);
-
- }
- }
- std::wstring CDelimiter::toXML() const
- {
- std::wstring sResult = L"";
-
- for (size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if (m_arrItems[i])
- {
- sResult += m_arrItems[i]->toXML();
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:chr") == sName )
+ m_oChr = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
}
}
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CEqArrPr::toXML() const
- {
- std::wstring sResult = L"";
-
- if (m_oBaseJc.IsInit())
- sResult += m_oBaseJc->toXML();
-
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
-
- if (m_oMaxDist.IsInit())
- sResult += m_oMaxDist->toXML();
-
- if (m_oObjDist.IsInit())
- sResult += m_oObjDist->toXML();
-
- if (m_oRSp.IsInit())
- sResult += m_oRSp->toXML();
-
- if (m_oRSpRule.IsInit())
- sResult += m_oRSpRule->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CFraction::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oDen.IsInit() )
- sResult += m_oDen->toXML();
-
- if ( m_oFPr.IsInit() )
- sResult += m_oFPr->toXML();
-
- if ( m_oNum.IsInit() )
- sResult += m_oNum->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CFunc::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oFName.IsInit() )
- sResult += m_oFName->toXML();
-
- if ( m_oFuncPr.IsInit() )
- sResult += m_oFuncPr->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CGroupChr::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oGroupChrPr.IsInit() )
- sResult += m_oGroupChrPr->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CLimLow::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oLim.IsInit() )
- sResult += m_oLim->toXML();
-
- if ( m_oLimLowPr.IsInit() )
- sResult += m_oLimLowPr->toXML();
-
- sResult += L"";
-
- return sResult;
- }
- void CLimUpp::fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if (oNode.GetNodes(L"*", oChilds))
+ EElementType CAccPr::getType() const
{
- XmlUtils::CXmlNode oItem;
- for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ return et_m_accPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CAcc 22.1.2.1 (Accent)
+ //--------------------------------------------------------------------------------
+
+ CAcc::CAcc()
+ {
+ }
+ CAcc::~CAcc()
+ {
+ }
+ void CAcc::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
{
- if (oChilds.GetAt(nIndex, oItem))
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
{
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
- if (L"m:e" == sName)
- m_oElement = new OOX::Logic::CElement(oItem);
- else if (L"m:lim" == sName)
- m_oLim = new OOX::Logic::CLim(oItem);
- else if (L"m:limUppPr" == sName)
- m_oLimUppPr = new OOX::Logic::CLimUppPr(oItem);
+ if ( _T("m:accPr") == sName )
+ m_oAccPr = new OOX::Logic::CAccPr( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ }
}
}
}
- }
- void CLimUpp::fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if (oReader.IsEmptyNode())
- return;
- int nParentDepth = oReader.GetDepth();
- while (oReader.ReadNextSiblingNode(nParentDepth))
+ void CAcc::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
- std::wstring sName = oReader.GetName();
- if (L"m:e" == sName)
- m_oElement = oReader;
- else if (L"m:lim" == sName)
- m_oLim = oReader;
- else if (L"m:limUppPr" == sName)
- m_oLimUppPr = oReader;
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:accPr") == sName )
+ m_oAccPr = oReader;
+ else if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ }
}
- }
- std::wstring CLimUpp::toXML() const
+ EElementType CAcc::getType() const
+ {
+ return et_m_acc;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CArgPr 22.1.2.5 (Argument Properties)
+ //--------------------------------------------------------------------------------
+
+ CArgPr::CArgPr()
+ {
+ }
+ CArgPr::~CArgPr()
+ {
+ }
+ void CArgPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:argSz") == sName )
+ m_oArgSz = new OOX::Logic::CArgSz( oItem );
+ }
+ }
+ }
+ }
+ void CArgPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:argSz") == sName )
+ m_oArgSz = oReader;
+ }
+ }
+ std::wstring CArgPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oArgSz.IsInit() )
+ sResult += m_oArgSz->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+
+ EElementType CArgPr::getType() const
+ {
+ return et_m_argPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBarPr 22.1.2.8 (Bar Properties)
+ //--------------------------------------------------------------------------------
+
+ CBarPr::CBarPr()
+ {
+ }
+ CBarPr::~CBarPr()
+ {
+ }
+ void CBarPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:pos") == sName )
+ m_oPos = new OOX::Logic::CPos( oItem );
+
+ }
+ }
+ }
+ }
+ void CBarPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:pos") == sName )
+ m_oPos = oReader;
+ }
+ }
+ EElementType CBarPr::getType() const
+ {
+ return et_m_barPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBar 22.1.2.7 (Bar)
+ //--------------------------------------------------------------------------------
+
+ CBar::CBar()
+ {
+ }
+ CBar::~CBar()
+ {
+ }
+ void CBar::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:barPr") == sName )
+ m_oBarPr = new OOX::Logic::CBarPr( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CBar::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:barPr") == sName )
+ m_oBarPr = oReader;
+ else if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ }
+ }
+ EElementType CBar::getType() const
+ {
+ return et_m_bar;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBorderBoxPr 22.1.2.12 (Border-Box Properties)
+ //--------------------------------------------------------------------------------
+
+ CBorderBoxPr::CBorderBoxPr()
+ {
+ }
+ CBorderBoxPr::~CBorderBoxPr()
+ {
+ }
+ void CBorderBoxPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:hideBot") == sName )
+ m_oHideBot = new OOX::Logic::CHideBot( oItem );
+ else if ( _T("m:hideLeft") == sName )
+ m_oHideLeft = new OOX::Logic::CHideLeft( oItem );
+ else if ( _T("m:hideRight") == sName )
+ m_oHideRight = new OOX::Logic::CHideRight( oItem );
+ else if ( _T("m:hideTop") == sName )
+ m_oHideTop = new OOX::Logic::CHideTop( oItem );
+ else if ( _T("m:strikeBLTR") == sName )
+ m_oStrikeBLTR = new OOX::Logic::CStrikeBLTR( oItem );
+ else if ( _T("m:strikeH") == sName )
+ m_oStrikeH = new OOX::Logic::CStrikeH( oItem );
+ else if ( _T("m:strikeTLBR") == sName )
+ m_oStrikeTLBR = new OOX::Logic::CStrikeTLBR( oItem );
+ else if ( _T("m:strikeV") == sName )
+ m_oStrikeV = new OOX::Logic::CStrikeV( oItem );
+
+ }
+ }
+ }
+ }
+ void CBorderBoxPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:hideBot") == sName )
+ m_oHideBot = oReader;
+ else if ( _T("m:hideLeft") == sName )
+ m_oHideLeft = oReader;
+ else if ( _T("m:hideRight") == sName )
+ m_oHideRight = oReader;
+ else if ( _T("m:hideTop") == sName )
+ m_oHideTop = oReader;
+ else if ( _T("m:strikeBLTR") == sName )
+ m_oStrikeBLTR = oReader;
+ else if ( _T("m:strikeH") == sName )
+ m_oStrikeH = oReader;
+ else if ( _T("m:strikeTLBR") == sName )
+ m_oStrikeTLBR = oReader;
+ else if ( _T("m:strikeV") == sName )
+ m_oStrikeV = oReader;
+ }
+ }
+ EElementType CBorderBoxPr::getType() const
+ {
+ return et_m_borderBoxPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBorderBox 22.1.2.11 (Border-Box Object)
+ //--------------------------------------------------------------------------------
+
+ CBorderBox::CBorderBox()
+ {
+ }
+ CBorderBox::~CBorderBox()
+ {
+ }
+ void CBorderBox::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:borderBoxPr") == sName )
+ m_oBorderBoxPr = new OOX::Logic::CBorderBoxPr( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CBorderBox::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:borderBoxPr") == sName )
+ m_oBorderBoxPr = oReader;
+ else if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ }
+ }
+ EElementType CBorderBox::getType() const
+ {
+ return et_m_borderBox;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBrk 22.1.2.15 (Break)
+ //--------------------------------------------------------------------------------
+
+ CBrk::CBrk()
+ {
+ }
+ CBrk::~CBrk()
+ {
+ }
+ void CBrk::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("m:alnAt"), m_alnAt );
+ }
+ void CBrk::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ ReadAttributes( oReader );
+
+ if ( !oReader.IsEmptyNode() )
+ oReader.ReadTillEnd();
+ }
+ std::wstring CBrk::toXML() const
+ {
+ std::wstring sResult = _T("ToString();
+ sResult += _T("\" />");
+ return sResult;
+ }
+ EElementType CBrk::getType() const
+ {
+ return et_m_brk;
+ }
+ void CBrk::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ WritingElement_ReadAttributes_Start( oReader )
+ WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:alnAt"), m_alnAt )
+ WritingElement_ReadAttributes_End( oReader )
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBoxPr 22.1.2.14 (Box Properties)
+ //--------------------------------------------------------------------------------
+
+ CBoxPr::CBoxPr()
+ {
+ }
+ CBoxPr::~CBoxPr()
+ {
+ }
+ void CBoxPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:aln") == sName )
+ m_oAln = new OOX::Logic::CAln( oItem );
+ else if ( _T("m:brk") == sName )
+ m_oBrk = new OOX::Logic::CBrk( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:diff") == sName )
+ m_oDiff = new OOX::Logic::CDiff( oItem );
+ else if ( _T("m:noBreak") == sName )
+ m_oNoBreak = new OOX::Logic::CNoBreak( oItem );
+ else if ( _T("m:opEmu") == sName )
+ m_oOpEmu = new OOX::Logic::COpEmu( oItem );
+
+ }
+ }
+ }
+ }
+ void CBoxPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:aln") == sName )
+ m_oAln = oReader;
+ else if ( _T("m:brk") == sName )
+ m_oBrk = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:diff") == sName )
+ m_oDiff = oReader;
+ else if ( _T("m:noBreak") == sName )
+ m_oNoBreak = oReader;
+ else if ( _T("m:opEmu") == sName )
+ m_oOpEmu = oReader;
+ }
+ }
+ EElementType CBoxPr::getType() const
+ {
+ return et_m_boxPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CBox 22.1.2.13 (Box Object)
+ //--------------------------------------------------------------------------------
+
+ CBox::CBox()
+ {
+ }
+ CBox::~CBox()
+ {
+ }
+ void CBox::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:boxPr") == sName )
+ m_oBoxPr = new OOX::Logic::CBoxPr( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CBox::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:boxPr") == sName )
+ m_oBoxPr = oReader;
+ else if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ }
+ }
+ EElementType CBox::getType() const
+ {
+ return et_m_box;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CDelimiterPr 22.1.2.31 (Delimiter Properties)
+ //--------------------------------------------------------------------------------
+
+ CDelimiterPr::CDelimiterPr()
+ {
+ }
+ CDelimiterPr::~CDelimiterPr()
+ {
+ }
+ void CDelimiterPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:begChr") == sName )
+ m_oBegChr = new OOX::Logic::CBegChr( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:endChr") == sName )
+ m_oEndChr = new OOX::Logic::CEndChr( oItem );
+ else if ( _T("m:grow") == sName )
+ m_oGrow = new OOX::Logic::CGrow( oItem );
+ else if ( _T("m:sepChr") == sName )
+ m_oSepChr = new OOX::Logic::CSepChr( oItem );
+ else if ( _T("m:shp") == sName )
+ m_oShp = new OOX::Logic::CShp( oItem );
+
+ }
+ }
+ }
+ }
+ void CDelimiterPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:begChr") == sName )
+ m_oBegChr = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:endChr") == sName )
+ m_oEndChr = oReader;
+ else if ( _T("m:grow") == sName )
+ m_oGrow = oReader;
+ else if ( _T("m:sepChr") == sName )
+ m_oSepChr = oReader;
+ else if ( _T("m:shp") == sName )
+ m_oShp = oReader;
+ }
+ }
+ std::wstring CDelimiterPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oBegChr.IsInit() )
+ sResult += m_oBegChr->toXML();
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oEndChr.IsInit() )
+ sResult += m_oEndChr->toXML();
+
+ if ( m_oGrow.IsInit() )
+ sResult += m_oGrow->toXML();
+
+ if ( m_oSepChr.IsInit() )
+ sResult += m_oSepChr->toXML();
+
+ if ( m_oShp.IsInit() )
+ sResult += m_oShp->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CDelimiterPr::getType() const
+ {
+ return et_m_dPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CDelimiter 22.1.2.24 (Delimiter Object)
+ //--------------------------------------------------------------------------------
+
+ CDelimiter::CDelimiter()
+ {
+ m_lColumn = 0;
+ }
+ CDelimiter::~CDelimiter()
+ {
+ }
+ EElementType CDelimiter::getType() const
+ {
+ return et_m_d;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CEqArrPr 22.1.2.35 (Array Object)
+ //--------------------------------------------------------------------------------
+
+ CEqArrPr::CEqArrPr()
+ {
+ }
+ CEqArrPr::~CEqArrPr()
+ {
+ }
+ void CEqArrPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:baseJc") == sName )
+ m_oBaseJc = new OOX::Logic::CBaseJc( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:maxDist") == sName )
+ m_oMaxDist = new OOX::Logic::CMaxDist( oItem );
+ else if ( _T("m:objDist") == sName )
+ m_oObjDist = new OOX::Logic::CObjDist( oItem );
+ else if ( _T("m:rSp") == sName )
+ m_oRSp = new OOX::Logic::CRSp( oItem );
+ else if ( _T("m:rSpRule") == sName )
+ m_oRSpRule = new OOX::Logic::CRSpRule( oItem );
+ }
+ }
+ }
+ }
+ void CEqArrPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:baseJc") == sName )
+ m_oBaseJc = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:maxDist") == sName )
+ m_oMaxDist = oReader;
+ else if ( _T("m:objDist") == sName )
+ m_oObjDist = oReader;
+ else if ( _T("m:rSp") == sName )
+ m_oRSp = oReader;
+ else if ( _T("m:rSpRule") == sName )
+ m_oRSpRule = oReader;
+ }
+ }
+ EElementType CEqArrPr::getType() const
+ {
+ return et_m_eqArrPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CEqArr 22.1.2.34 (Array Object)
+ //--------------------------------------------------------------------------------
+
+ CEqArr::CEqArr()
+ {
+ m_lRow = 0;
+ }
+ CEqArr::~CEqArr()
+ {
+ }
+ void CEqArr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ m_lRow = 0;
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:eqArrPr") == sName )
+ pItem = new CEqArrPr( oItem );
+ else if ( _T("m:e") == sName )
+ pItem = new CElement( oItem );
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+ }
+ }
+ }
+ }
+ void CEqArr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ m_lRow = 0;
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:eqArrPr") == sName )
+ pItem = new CEqArrPr( oReader );
+ else if ( _T("m:e") == sName )
+ {
+ pItem = new CElement( oReader );
+ m_lRow++;
+ }
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+ }
+ }
+ std::wstring CEqArr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ for ( size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if ( m_arrItems[i] )
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CEqArr::getType() const
+ {
+ return et_m_eqArr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CFPr 22.1.2.38 (Fraction Properties)
+ //--------------------------------------------------------------------------------
+
+ CFPr::CFPr()
+ {
+ }
+ CFPr::~CFPr()
+ {
+ }
+ void CFPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:type") == sName )
+ m_oType = new OOX::Logic::CType( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CFPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:type") == sName )
+ m_oType = oReader;
+ }
+ }
+ std::wstring CFPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oType.IsInit() )
+ sResult += m_oType->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CFPr::getType() const
+ {
+ return et_m_fPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CFraction 22.1.2.36 (Fraction Object)
+ //--------------------------------------------------------------------------------
+
+ CFraction::CFraction()
+ {
+ }
+ CFraction::~CFraction()
+ {
+ }
+ void CFraction::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:den") == sName )
+ m_oDen = new OOX::Logic::CDen( oItem );
+ else if ( _T("m:fPr") == sName )
+ m_oFPr = new OOX::Logic::CFPr( oItem );
+ else if ( _T("m:num") == sName )
+ m_oNum = new OOX::Logic::CNum( oItem );
+ }
+ }
+ }
+ }
+ void CFraction::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:den") == sName )
+ m_oDen = oReader;
+ else if ( _T("m:fPr") == sName )
+ m_oFPr = oReader;
+ else if ( _T("m:num") == sName )
+ m_oNum = oReader;
+ }
+ }
+ EElementType CFraction::getType() const
+ {
+ return et_m_f;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CFuncPr 22.1.2.40 (Function Properties)
+ //--------------------------------------------------------------------------------
+
+ CFuncPr::CFuncPr()
+ {
+ }
+ CFuncPr::~CFuncPr()
+ {
+ }
+ void CFuncPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CFuncPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CFuncPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CFuncPr::getType() const
+ {
+ return et_m_funcPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CFunc 22.1.2.39 (Function Apply Object)
+ //--------------------------------------------------------------------------------
+
+ CFunc::CFunc()
+ {
+ }
+ CFunc::~CFunc()
+ {
+ }
+ void CFunc::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ else if ( _T("m:fName") == sName )
+ m_oFName = new OOX::Logic::CFName( oItem );
+ else if ( _T("m:funcPr") == sName )
+ m_oFuncPr = new OOX::Logic::CFuncPr( oItem );
+ }
+ }
+ }
+ }
+ void CFunc::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:fName") == sName )
+ m_oFName = oReader;
+ else if ( _T("m:funcPr") == sName )
+ m_oFuncPr = oReader;
+ }
+ }
+ EElementType CFunc::getType() const
+ {
+ return et_m_func;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CGroupChrPr 22.1.2.42 (Group-Character Properties )
+ //--------------------------------------------------------------------------------
+
+ CGroupChrPr::CGroupChrPr()
+ {
+ }
+ CGroupChrPr::~CGroupChrPr()
+ {
+ }
+ void CGroupChrPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:chr") == sName )
+ m_oChr = new OOX::Logic::CChr( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:pos") == sName )
+ m_oPos = new OOX::Logic::CPos( oItem );
+ else if ( _T("m:vertJc") == sName )
+ m_oVertJc = new OOX::Logic::CVertJc( oItem );
+ }
+ }
+ }
+ }
+ void CGroupChrPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:chr") == sName )
+ m_oChr = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:pos") == sName )
+ m_oPos = oReader;
+ else if ( _T("m:vertJc") == sName )
+ m_oVertJc = oReader;
+ }
+ }
+ std::wstring CGroupChrPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oChr.IsInit() )
+ sResult += m_oChr->toXML();
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oPos.IsInit() )
+ sResult += m_oPos->toXML();
+
+ if ( m_oVertJc.IsInit() )
+ sResult += m_oVertJc->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CGroupChrPr::getType() const
+ {
+ return et_m_groupChrPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CGroupChr 22.1.2.41 (Group-Character Object)
+ //--------------------------------------------------------------------------------
+
+ CGroupChr::CGroupChr()
+ {
+ }
+ CGroupChr::~CGroupChr()
+ {
+ }
+ void CGroupChr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ else if ( _T("m:groupChrPr") == sName )
+ m_oGroupChrPr = new OOX::Logic::CGroupChrPr( oItem );
+ }
+ }
+ }
+ }
+ void CGroupChr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:groupChrPr") == sName )
+ m_oGroupChrPr = oReader;
+ }
+ }
+ EElementType CGroupChr::getType() const
+ {
+ return et_m_groupChr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CLimLowPr 22.1.2.55 (Lower-Limit Properties)
+ //--------------------------------------------------------------------------------
+
+ CLimLowPr::CLimLowPr()
+ {
+ }
+ CLimLowPr::~CLimLowPr()
+ {
+ }
+ void CLimLowPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CLimLowPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CLimLowPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+
+ EElementType CLimLowPr::getType() const
+ {
+ return et_m_limLowPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CLimLow 22.1.2.54 (Lower-Limit Object)
+ //--------------------------------------------------------------------------------
+
+ CLimLow::CLimLow()
+ {
+ }
+ CLimLow::~CLimLow()
+ {
+ }
+ void CLimLow::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ else if ( _T("m:lim") == sName )
+ m_oLim = new OOX::Logic::CLim( oItem );
+ else if ( _T("m:limLowPr") == sName )
+ m_oLimLowPr = new OOX::Logic::CLimLowPr( oItem );
+ }
+ }
+ }
+ }
+ void CLimLow::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:lim") == sName )
+ m_oLim = oReader;
+ else if ( _T("m:limLowPr") == sName )
+ m_oLimLowPr = oReader;
+ }
+ }
+ EElementType CLimLow::getType() const
+ {
+ return et_m_limLow;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CLimUppPr 22.1.2.57 (Upper-Limit Properties)
+ //--------------------------------------------------------------------------------
+
+ CLimUppPr::CLimUppPr()
+ {
+ }
+ CLimUppPr::~CLimUppPr()
+ {
+ }
+ void CLimUppPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CLimUppPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CLimUppPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CLimUppPr::getType() const
+ {
+ return et_m_limUppPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CLimUpp 22.1.2.56 (Upper-Limit Object)
+ //--------------------------------------------------------------------------------
+
+ CLimUpp::CLimUpp()
+ {
+ }
+ CLimUpp::~CLimUpp()
+ {
+ }
+ EElementType CLimUpp::getType() const
+ {
+ return et_m_limUpp;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMathFont 22.1.2.61 (Math Font)
+ //--------------------------------------------------------------------------------
+
+ CMathFont::CMathFont()
+ {
+ }
+ CMathFont::~CMathFont()
+ {
+ }
+ void CMathFont::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("m:val"), m_val );
+ }
+ void CMathFont::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ ReadAttributes( oReader );
+
+ if ( !oReader.IsEmptyNode() )
+ oReader.ReadTillEnd();
+ }
+ std::wstring CMathFont::toXML() const
+ {
+ std::wstring sResult = _T("");
+ return sResult;
+ }
+ EElementType CMathFont::getType() const
+ {
+ return et_m_mathFont;
+ }
+ void CMathFont::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ WritingElement_ReadAttributes_Start( oReader )
+ WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:val"), m_val )
+ WritingElement_ReadAttributes_End( oReader )
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMathPr 22.1.2.62 (Math Properties)
+ //--------------------------------------------------------------------------------
+
+ CMathPr::CMathPr()
+ {
+ }
+ CMathPr::~CMathPr()
+ {
+ }
+ EElementType CMathPr::getType() const
+ {
+ return et_m_mathPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMcPr 22.1.2.66 (Matrix Column Properties)
+ //--------------------------------------------------------------------------------
+
+ CMcPr::CMcPr()
+ {
+ }
+ CMcPr::~CMcPr()
+ {
+ }
+ void CMcPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:count") == sName )
+ m_oCount = new OOX::Logic::CCount( oItem );
+ else if ( _T("m:mcJc") == sName )
+ m_oMcJc = new OOX::Logic::CMcJc( oItem );
+ }
+ }
+ }
+ }
+ void CMcPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:count") == sName )
+ m_oCount = oReader;
+ else if ( _T("m:mcJc") == sName )
+ m_oMcJc = oReader;
+ }
+ }
+ std::wstring CMcPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCount.IsInit() )
+ sResult += m_oCount->toXML();
+
+ if ( m_oMcJc.IsInit() )
+ sResult += m_oMcJc->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CMcPr::getType() const
+ {
+ return et_m_mcPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMc 22.1.2.64 (Matrix Column)
+ //--------------------------------------------------------------------------------
+
+ CMc::CMc()
+ {
+ }
+ CMc::~CMc()
+ {
+ }
+ void CMc::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:mcPr") == sName )
+ m_oMcPr = new OOX::Logic::CMcPr( oItem );
+ }
+ }
+ }
+ }
+ void CMc::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:mcPr") == sName )
+ m_oMcPr = oReader;
+ }
+ }
+ EElementType CMc::getType() const
+ {
+ return et_m_mc;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMcs 22.1.2.67 (Matrix Columns)
+ //--------------------------------------------------------------------------------
+
+ CMcs::CMcs()
+ {
+ }
+ CMcs::~CMcs()
+ {
+ }
+ void CMcs::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:mc") == sName )
+ pItem = new Logic::CMc( oItem );
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+ }
+ }
+ }
+ }
+ void CMcs::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:mc") == sName )
+ pItem = new Logic::CMc( oReader );
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+
+ }
+ }
+ std::wstring CMcs::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ for ( size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if ( m_arrItems[i] )
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CMcs::getType() const
+ {
+ return et_m_mcs;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMPr 22.1.2.68 (Matrix Properties)
+ //--------------------------------------------------------------------------------
+
+ CMPr::CMPr()
+ {
+ }
+ CMPr::CMPr(XmlUtils::CXmlNode &oNode)
+ {
+ fromXML( oNode );
+ }
+ CMPr::CMPr(XmlUtils::CXmlLiteReader& oReader)
+ {
+ fromXML( oReader );
+ }
+ EElementType CMPr::getType() const
+ {
+ return et_m_mPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMr 22.1.2.69 (Matrix Row)
+ //--------------------------------------------------------------------------------
+
+ CMr::CMr()
+ {
+ m_lCol = 0;
+ }
+ CMr::~CMr()
+ {
+ }
+ void CMr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ m_lCol = 0;
+
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ {
+ pItem = new Logic::CElement( oItem );
+ m_lCol++;
+ }
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+ }
+ }
+ }
+ }
+ void CMr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ m_lCol = 0;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ {
+ pItem = new Logic::CElement( oReader );
+ m_lCol++;
+ }
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+
+ }
+ }
+ std::wstring CMr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ for ( size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if ( m_arrItems[i] )
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CMr::getType() const
+ {
+ return et_m_mr;
+ }
+ LONG CMr::GetCol()
+ {
+ return m_lCol;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMatrix 22.1.2.60 (Matrix Object)
+ //--------------------------------------------------------------------------------
+
+ CMatrix::CMatrix()
+ {
+ m_lRow = 0;
+ }
+ CMatrix::~CMatrix()
+ {
+ }
+ void CMatrix::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ m_lRow = 0;
+
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:mPr") == sName )
+ pItem = new CMPr( oItem );
+ else if ( _T("m:mr") == sName )
+ {
+ pItem = new CMr( oItem );
+ m_lRow++;
+ }
+ if (pItem)
+ m_arrItems.push_back(pItem);
+ }
+ }
+ }
+ }
+ void CMatrix::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ m_lRow = 0;
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:mPr") == sName )
+ pItem = new CMPr( oReader );
+ else if ( _T("m:mr") == sName )
+ {
+ pItem = new CMr( oReader );
+ m_lRow++;
+ }
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+
+ }
+ }
+ std::wstring CMatrix::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ for ( size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if ( m_arrItems[i] )
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CMatrix::getType() const
+ {
+ return et_m_m;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CNaryPr 22.1.2.72 (n-ary Properties)
+ //--------------------------------------------------------------------------------
+
+ CNaryPr::CNaryPr()
+ {
+ }
+ CNaryPr::~CNaryPr()
+ {
+ }
+ EElementType CNaryPr::getType() const
+ {
+ return et_m_naryPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CNary 22.1.2.70 (n-ary Operator Object)
+ //--------------------------------------------------------------------------------
+
+ CNary::CNary()
+ {
+ }
+ CNary::~CNary()
+ {
+ }
+ void CNary::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ else if ( _T("m:naryPr") == sName )
+ m_oNaryPr = new OOX::Logic::CNaryPr( oItem );
+ else if ( _T("m:sub") == sName )
+ m_oSub = new OOX::Logic::CSub( oItem );
+ else if ( _T("m:sup") == sName )
+ m_oSup = new OOX::Logic::CSup( oItem );
+ }
+ }
+ }
+ }
+ void CNary::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:naryPr") == sName )
+ m_oNaryPr = oReader;
+ else if ( _T("m:sub") == sName )
+ m_oSub = oReader;
+ else if ( _T("m:sup") == sName )
+ m_oSup = oReader;
+ }
+ }
+ EElementType CNary::getType() const
+ {
+ return et_m_nary;
+ }
+
+ //--------------------------------------------------------------------------------
+ // COMathParaPr 22.1.2.79
+ //--------------------------------------------------------------------------------
+
+ COMathParaPr::COMathParaPr()
+ {
+ }
+ COMathParaPr::~COMathParaPr()
+ {
+ }
+ void COMathParaPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:jc") == sName )
+ m_oMJc = new OOX::Logic::CMJc( oItem );
+ }
+ }
+ }
+ }
+ void COMathParaPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:jc") == sName )
+ m_oMJc = oReader;
+ }
+ }
+ std::wstring COMathParaPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oMJc.IsInit() )
+ sResult += m_oMJc->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType COMathParaPr::getType() const
+ {
+ return et_m_oMathParaPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CPhantPr 22.1.2.82 (Phantom Properties)
+ //--------------------------------------------------------------------------------
+
+ CPhantPr::CPhantPr()
+ {
+ }
+ CPhantPr::~CPhantPr()
+ {
+ }
+ void CPhantPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:show") == sName )
+ m_oShow = new OOX::Logic::CShow( oItem );
+ else if ( _T("m:transp") == sName )
+ m_oTransp = new OOX::Logic::CTransp( oItem );
+ else if ( _T("m:zeroAsc") == sName )
+ m_oZeroAsc = new OOX::Logic::CZeroAsc( oItem );
+ else if ( _T("m:zeroDesc") == sName )
+ m_oZeroDesc = new OOX::Logic::CZeroDesc( oItem );
+ else if ( _T("m:zeroWid") == sName )
+ m_oZeroWid = new OOX::Logic::CZeroWid( oItem );
+ }
+ }
+ }
+ }
+ void CPhantPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:show") == sName )
+ m_oShow = oReader;
+ else if ( _T("m:transp") == sName )
+ m_oTransp = oReader;
+ else if ( _T("m:zeroAsc") == sName )
+ m_oZeroAsc = oReader;
+ else if ( _T("m:zeroDesc") == sName )
+ m_oZeroDesc = oReader;
+ else if ( _T("m:zeroWid") == sName )
+ m_oZeroWid = oReader;
+ }
+ }
+ std::wstring CPhantPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oShow.IsInit() )
+ sResult += m_oShow->toXML();
+
+ if ( m_oTransp.IsInit() )
+ sResult += m_oTransp->toXML();
+
+ if ( m_oZeroAsc.IsInit() )
+ sResult += m_oZeroAsc->toXML();
+
+ if ( m_oZeroDesc.IsInit() )
+ sResult += m_oZeroDesc->toXML();
+
+ if ( m_oZeroWid.IsInit() )
+ sResult += m_oZeroWid->toXML();
+
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CPhantPr::getType() const
+ {
+ return et_m_phantPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CPhant 22.1.2.81 (Phantom Object)
+ //--------------------------------------------------------------------------------
+
+ CPhant::CPhant()
+ {
+ }
+ CPhant::~CPhant()
+ {
+ }
+ void CPhant::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+ else if ( _T("m:phantPr") == sName )
+ m_oPhantPr = new OOX::Logic::CPhantPr( oItem );
+ }
+ }
+ }
+ }
+ void CPhant::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:phantPr") == sName )
+ m_oPhantPr = oReader;
+ }
+ }
+ EElementType CPhant::getType() const
+ {
+ return et_m_phant;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMText 22.1.2.116 (Math Text)
+ //--------------------------------------------------------------------------------
+
+ CMText::CMText()
+ {
+ }
+ CMText::~CMText()
+ {
+ }
+ void CMText::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("xml:space"), m_oSpace );
+
+ m_sText = oNode.GetText();
+ }
+ void CMText::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ ReadAttributes( oReader );
+
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ m_sText = oReader.GetText2();
+ }
+ std::wstring CMText::toXML() const
+ {
+ std::wstring sResult;
+
+ if ( m_oSpace.IsInit() )
+ sResult = _T("ToString() + _T("\">");
+ else
+ sResult = _T("");
+
+ sResult += XmlUtils::EncodeXmlString(m_sText);
+ sResult += _T("");
+
+ return sResult;
+ }
+ EElementType CMText::getType() const
+ {
+ return et_m_t;
+ }
+ void CMText::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.GetAttributesCount() <= 0 )
+ return;
+
+ if ( !oReader.MoveToFirstAttribute() )
+ return;
+
+ std::wstring wsName = oReader.GetName();
+ while( !wsName.empty() )
+ {
+ if ( _T("xml:space") == wsName )
+ {
+ m_oSpace = oReader.GetText();
+ break;
+ }
+
+ if ( !oReader.MoveToNextAttribute() )
+ break;
+
+ wsName = oReader.GetName();
+ }
+
+ oReader.MoveToElement();
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMRPr 22.1.2.91 (Run Properties)
+ //--------------------------------------------------------------------------------
+
+ CMRPr::CMRPr()
+ {
+ }
+ CMRPr::~CMRPr()
+ {
+ }
+ EElementType CMRPr::getType() const
+ {
+ return et_m_rPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMRun 22.1.2.87 (Math Run)
+ //--------------------------------------------------------------------------------
+
+ CMRun::CMRun()
+ {
+ }
+ CMRun::~CMRun()
+ {
+ }
+ void CMRun::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+
+ if ( _T("w:annotationRef") == sName )
+ m_oAnnotationRef = oItem;
+ else if ( _T("w:br") == sName )
+ m_oBr = oItem;
+ else if ( _T("w:commentReference") == sName )
+ m_oCommentReference = oItem;
+ else if ( _T("w:contentPart") == sName )
+ m_oContentPart = oItem;
+ else if ( _T("w:continuationSeparator") == sName )
+ m_oContinuationSeparator = oItem;
+ else if ( _T("w:cr") == sName )
+ m_oCr = oItem;
+ else if ( _T("w:dayLong") == sName )
+ m_oDayLong = oItem;
+ else if ( _T("w:dayShort") == sName )
+ m_oDayShort = oItem;
+ else if ( _T("w:del") == sName )
+ m_oDel = oItem;
+ else if ( _T("w:delInstrText") == sName )
+ m_oDelInstrText = oItem;
+ else if ( _T("w:delText") == sName )
+ m_oDelText = oItem;
+ else if ( _T("w:drawing") == sName )
+ m_oDrawing = oItem;
+ else if ( _T("w:endnoteRef") == sName )
+ m_oEndnoteRef = oItem;
+ else if ( _T("w:endnoteReference") == sName )
+ m_oEndnoteReference = oItem;
+ else if ( _T("w:fldChar") == sName )
+ m_oFldChar = oItem;
+ else if ( _T("w:footnoteRef") == sName )
+ m_oFootnoteRef = oItem;
+ else if ( _T("w:footnoteReference") == sName )
+ m_oFootnoteReference = oItem;
+ else if ( _T("w:ins") == sName )
+ m_oIns = oItem;
+ else if ( _T("w:instrText") == sName )
+ m_oInstrText = oItem;
+ else if ( _T("w:lastRenderedPageBreak") == sName )
+ m_oLastRenderedPageBreak = oItem;
+ else if ( _T("w:monthLong") == sName )
+ m_oMonthLong = oItem;
+ else if ( _T("w:monthShort") == sName )
+ m_oMonthShort = oItem;
+ else if ( _T("w:noBreakHyphen") == sName )
+ m_oNoBreakHyphen = oItem;
+ else if ( _T("w:object") == sName )
+ m_oObject = oItem;
+ else if ( _T("w:pgNum") == sName )
+ m_oPgNum = oItem;
+ else if ( _T("w:ptab") == sName )
+ m_oPtab = oItem;
+ else if ( _T("m:rPr") == sName )
+ m_oMRPr = oItem ;
+ else if ( _T("w:rPr") == sName )
+ m_oRPr = oItem;
+ else if ( _T("a:rPr") == sName )
+ m_oARPr = oItem;
+ else if ( _T("w:ruby") == sName )
+ m_oRuby = oItem;
+ else if ( _T("w:separator") == sName )
+ m_oSeparator = oItem;
+ else if ( _T("w:softHyphen") == sName )
+ m_oSoftHyphen = oItem;
+ else if ( _T("w:sym") == sName )
+ m_oSym = oItem;
+ else if ( _T("m:t") == sName )
+ m_oMText = oItem ;
+ else if ( _T("w:t") == sName )
+ m_oText = oItem;
+ else if ( _T("w:tab") == sName )
+ m_oTab = oItem;
+ else if ( _T("w:yearLong") == sName )
+ m_oYearLong = oItem;
+ else if ( _T("w:yearShort") == sName )
+ m_oYearShort = oItem;
+ }
+ }
+ }
+ }
+ void CMRun::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("w:annotationRef") == sName )
+ m_oAnnotationRef = oReader;
+ else if ( _T("w:br") == sName )
+ m_oBr = oReader;
+ else if ( _T("w:commentReference") == sName )
+ m_oCommentReference = oReader;
+ else if ( _T("w:contentPart") == sName )
+ m_oContentPart = oReader;
+ else if ( _T("w:continuationSeparator") == sName )
+ m_oContinuationSeparator = oReader;
+ else if ( _T("w:cr") == sName )
+ m_oCr = oReader;
+ else if ( _T("w:dayLong") == sName )
+ m_oDayLong = oReader;
+ else if ( _T("w:dayShort") == sName )
+ m_oDayShort = oReader;
+ else if ( _T("w:del") == sName )
+ m_oDel = oReader;
+ else if ( _T("w:delInstrText") == sName )
+ m_oDelInstrText = oReader;
+ else if ( _T("w:delText") == sName )
+ m_oDelText = oReader;
+ else if ( _T("w:drawing") == sName )
+ m_oDrawing = oReader;
+ else if ( _T("w:endnoteRef") == sName )
+ m_oEndnoteRef = oReader;
+ else if ( _T("w:endnoteReference") == sName )
+ m_oEndnoteReference = oReader;
+ else if ( _T("w:fldChar") == sName )
+ m_oFldChar = oReader;
+ else if ( _T("w:footnoteRef") == sName )
+ m_oFootnoteRef = oReader;
+ else if ( _T("w:footnoteReference") == sName )
+ m_oFootnoteReference = oReader;
+ else if ( _T("w:ins") == sName )
+ m_oIns = oReader;
+ else if ( _T("w:instrText") == sName )
+ m_oInstrText = oReader;
+ else if ( _T("w:lastRenderedPageBreak") == sName )
+ m_oLastRenderedPageBreak = oReader;
+ else if ( _T("w:monthLong") == sName )
+ m_oMonthLong = oReader;
+ else if ( _T("w:monthShort") == sName )
+ m_oMonthShort = oReader;
+ else if ( _T("w:noBreakHyphen") == sName )
+ m_oNoBreakHyphen = oReader;
+ else if ( _T("w:object") == sName )
+ m_oObject = oReader;
+ else if ( _T("w:pgNum") == sName )
+ m_oPgNum = oReader;
+ else if ( _T("w:ptab") == sName )
+ m_oPtab = oReader;
+ else if ( _T("m:rPr") == sName )
+ m_oMRPr = oReader ;
+ else if ( _T("w:rPr") == sName )
+ m_oRPr = oReader;
+ else if ( _T("a:rPr") == sName )
+ {
+ std::wstring sXml = oReader.GetOuterXml();
+ XmlUtils::CXmlNode node;
+ node.FromXmlString(sXml);
+
+ m_oARPr = node;
+ }
+ else if ( _T("w:ruby") == sName )
+ m_oRuby = oReader;
+ else if ( _T("w:separator") == sName )
+ m_oSeparator = oReader;
+ else if ( _T("w:softHyphen") == sName )
+ m_oSoftHyphen = oReader;
+ else if ( _T("w:sym") == sName )
+ m_oSym = oReader;
+ else if ( _T("m:t") == sName )
+ m_oMText = oReader ;
+ else if ( _T("w:t") == sName )
+ m_oText = oReader;
+ else if ( _T("w:tab") == sName )
+ m_oTab = oReader;
+ else if ( _T("w:yearLong") == sName )
+ m_oYearLong = oReader;
+ else if ( _T("w:yearShort") == sName )
+ m_oYearShort = oReader;
+ }
+ }
+ EElementType CMRun::getType() const
+ {
+ return et_m_r;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMDel
+ //--------------------------------------------------------------------------------
+
+ CMDel::CMDel()
+ {
+ }
+ CMDel::~CMDel()
+ {
+ }
+ void CMDel::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("w:author"), m_sAuthor );
+ XmlMacroReadAttributeBase( oNode, _T("w:date"), m_oDate );
+ XmlMacroReadAttributeBase( oNode, _T("w:id"), m_oId );
+ XmlMacroReadAttributeBase( oNode, _T("oouserid"), m_sUserId );
+
+ m_oRun = oNode;
+ }
+ void CMDel::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ ReadAttributes(oReader);
+
+ m_oRun = oReader;
+ }
+ std::wstring CMDel::toXML() const
+ {
+ std::wstring sResult;
+
+ sResult += _T("ToString());
+ sResult += _T("\" ");
+ }
+
+ if ( m_oId.IsInit() )
+ {
+ sResult += _T(" w:id=\"");
+ sResult += m_oId->ToString();
+ sResult += _T("\" ");
+ }
+
+ if ( m_sUserId.IsInit() )
+ {
+ sResult += _T(" oouserid=\"");
+ sResult += XmlUtils::EncodeXmlString(m_sUserId.get2());
+ sResult += _T("\" ");
+ }
+ sResult += _T(">");
+
+ if(m_oRun.IsInit())
+ {
+ sResult += m_oRun->toXMLInner();
+ }
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CMDel::getType() const
+ {
+ return et_w_ins;
+ }
+ void CMDel::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ // Читаем атрибуты
+ WritingElement_ReadAttributes_Start( oReader )
+ WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
+ WritingElement_ReadAttributes_End( oReader )
+ }
+
+ //--------------------------------------------------------------------------------
+ // CMIns
+ //--------------------------------------------------------------------------------
+
+ CMIns::CMIns()
+ {
+ }
+ CMIns::~CMIns()
+ {
+ }
+ void CMIns::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("w:author"), m_sAuthor );
+ XmlMacroReadAttributeBase( oNode, _T("w:date"), m_oDate );
+ XmlMacroReadAttributeBase( oNode, _T("w:id"), m_oId );
+ XmlMacroReadAttributeBase( oNode, _T("oouserid"), m_sUserId );
+
+ m_oRun = oNode;
+ }
+ void CMIns::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ ReadAttributes(oReader);
+
+ m_oRun = oReader;
+ }
+ std::wstring CMIns::toXML() const
+ {
+ std::wstring sResult;
+
+ sResult += _T("ToString());
+ sResult += _T("\" ");
+ }
+
+ if ( m_oId.IsInit() )
+ {
+ sResult += _T(" w:id=\"");
+ sResult += m_oId->ToString();
+ sResult += _T("\" ");
+ }
+
+ if ( m_sUserId.IsInit() )
+ {
+ sResult += _T(" oouserid=\"");
+ sResult += XmlUtils::EncodeXmlString(m_sUserId.get2());
+ sResult += _T("\" ");
+ }
+ sResult += _T(">");
+
+ if(m_oRun.IsInit())
+ {
+ sResult += m_oRun->toXMLInner();
+ }
+
+ sResult += L"";
+ return sResult;
+ }
+ EElementType CMIns::getType() const
+ {
+ return et_w_ins;
+ }
+ void CMIns::ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
+ {
+ // Читаем атрибуты
+ WritingElement_ReadAttributes_Start( oReader )
+ WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
+ WritingElement_ReadAttributes_End( oReader )
+ }
+
+ //--------------------------------------------------------------------------------
+ // CRadPr 22.1.2.89 (Radical Properties)
+ //--------------------------------------------------------------------------------
+
+ CRadPr::CRadPr()
+ {
+ }
+ CRadPr::~CRadPr()
+ {
+ }
+ void CRadPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ else if ( _T("m:degHide") == sName )
+ m_oDegHide = new OOX::Logic::CDegHide( oItem );
+ }
+ }
+ }
+ }
+ void CRadPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ else if ( _T("m:degHide") == sName )
+ m_oDegHide = oReader;
+ }
+ }
+ std::wstring CRadPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oDegHide.IsInit() )
+ sResult += m_oDegHide->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CRadPr::getType() const
+ {
+ return et_m_radPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CRad 22.1.2.88 (Radical Object)
+ //--------------------------------------------------------------------------------
+
+ CRad::CRad()
+ {
+ }
+ CRad::~CRad()
+ {
+ }
+ void CRad::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:radPr") == sName )
+ m_oRadPr = new OOX::Logic::CRadPr( oItem );
+ else if ( _T("m:deg") == sName )
+ m_oDeg = new OOX::Logic::CDeg( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CRad::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:deg") == sName )
+ m_oDeg = oReader;
+ else if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:radPr") == sName )
+ m_oRadPr = oReader;
+ }
+ }
+ std::wstring CRad::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oRadPr.IsInit())
+ sResult += m_oRadPr->toXML();
+
+ if ( m_oDeg.IsInit() )
+ sResult += m_oDeg->toXML();
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CRad::getType() const
+ {
+ return et_m_rad;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSPrePr 22.1.2.100 (Pre-Sub-Superscript Properties))
+ //--------------------------------------------------------------------------------
+
+ CSPrePr::CSPrePr()
+ {
+ }
+ CSPrePr::~CSPrePr()
+ {
+ }
+ void CSPrePr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CSPrePr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CSPrePr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSPrePr::getType() const
+ {
+ return et_m_sPrePr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSPre 22.1.2.99 (Pre-Sub-Superscript Object)
+ //--------------------------------------------------------------------------------
+
+ CSPre::CSPre()
+ {
+ }
+ CSPre::~CSPre()
+ {
+ }
+ void CSPre::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:sPrePr") == sName )
+ m_oSPrePr = new OOX::Logic::CSPrePr( oItem );
+ else if ( _T("m:sub") == sName )
+ m_oSub = new OOX::Logic::CSub( oItem );
+ else if ( _T("m:sup") == sName )
+ m_oSup = new OOX::Logic::CSup( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CSPre::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:sPrePr") == sName )
+ m_oSPrePr = oReader;
+ else if ( _T("m:sub") == sName )
+ m_oSub = oReader;
+ else if ( _T("m:sup") == sName )
+ m_oSup = oReader;
+ }
+ }
+ std::wstring CSPre::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if ( m_oSPrePr.IsInit() )
+ sResult += m_oSPrePr->toXML();
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oSub.IsInit() )
+ sResult += m_oSub->toXML();
+
+ if ( m_oSup.IsInit() )
+ sResult += m_oSup->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+
+ EElementType CSPre::getType() const
+ {
+ return et_m_sPre;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSubPr 22.1.2.102 (Subscript Properties)
+ //--------------------------------------------------------------------------------
+
+ CSSubPr::CSSubPr()
+ {
+ }
+ CSSubPr::~CSSubPr()
+ {
+ }
+ void CSSubPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CSSubPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CSSubPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSubPr::getType() const
+ {
+ return et_m_sSubPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSub 22.1.2.101 (Subscript Object)
+ //--------------------------------------------------------------------------------
+
+ CSSub::CSSub()
+ {
+ }
+ CSSub::~CSSub()
+ {
+ }
+ void CSSub::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:sSubPr") == sName )
+ m_oSSubPr = new OOX::Logic::CSSubPr( oItem );
+ else if ( _T("m:sub") == sName )
+ m_oSub = new OOX::Logic::CSub( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CSSub::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:sSubPr") == sName )
+ m_oSSubPr = oReader;
+ else if ( _T("m:sub") == sName )
+ m_oSub = oReader;
+ }
+ }
+ std::wstring CSSub::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oSSubPr.IsInit())
+ sResult += m_oSSubPr->toXML();
+
+ if (m_oElement.IsInit())
+ sResult += m_oElement->toXML();
+
+ if (m_oSub.IsInit())
+ sResult += m_oSub->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSub::getType() const
+ {
+ return et_m_sSub;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSubSupPr 22.1.2.104 (Sub-Superscript Properties)
+ //--------------------------------------------------------------------------------
+
+ CSSubSupPr::CSSubSupPr()
+ {
+ }
+ CSSubSupPr::~CSSubSupPr()
+ {
+ }
+ void CSSubSupPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:alnScr") == sName )
+ m_oAlnScr = new OOX::Logic::CAlnScr( oItem );
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CSSubSupPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:alnScr") == sName )
+ m_oAlnScr = oReader;
+ else if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CSSubSupPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oAlnScr.IsInit())
+ sResult += m_oAlnScr->toXML();
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSubSupPr::getType() const
+ {
+ return et_m_sSubSupPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSubSup 22.1.2.103 (Sub-Superscript Object)
+ //--------------------------------------------------------------------------------
+
+ CSSubSup::CSSubSup()
+ {
+ }
+ CSSubSup::~CSSubSup()
+ {
+ }
+ void CSSubSup::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:sSubSupPr") == sName )
+ m_oSSubSupPr = new OOX::Logic::CSSubSupPr( oItem );
+ else if ( _T("m:sup") == sName )
+ m_oSup = new OOX::Logic::CSup( oItem );
+ else if ( _T("m:sub") == sName )
+ m_oSub = new OOX::Logic::CSub( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CSSubSup::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:sSubSupPr") == sName )
+ m_oSSubSupPr = oReader;
+ else if ( _T("m:sub") == sName )
+ m_oSub = oReader;
+ else if ( _T("m:sup") == sName )
+ m_oSup = oReader;
+ }
+ }
+ std::wstring CSSubSup::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oSSubSupPr.IsInit())
+ sResult += m_oSSubSupPr->toXML();
+
+ if (m_oElement.IsInit())
+ sResult += m_oElement->toXML();
+
+ if (m_oSub.IsInit())
+ sResult += m_oSub->toXML();
+
+ if (m_oSup.IsInit())
+ sResult += m_oSup->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSubSup::getType() const
+ {
+ return et_m_sSubSup;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSupPr 22.1.2.106 (Superscript Properties)
+ //--------------------------------------------------------------------------------
+
+ CSSupPr::CSSupPr()
+ {
+ }
+ CSSupPr::~CSSupPr()
+ {
+ }
+ void CSSupPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
+ }
+ }
+ }
+ }
+ void CSSupPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:ctrlPr") == sName )
+ m_oCtrlPr = oReader;
+ }
+ }
+ std::wstring CSSupPr::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSupPr::getType() const
+ {
+ return et_m_sSupPr;
+ }
+
+ //--------------------------------------------------------------------------------
+ // CSSup 22.1.2.105 (Superscript Object)
+ //--------------------------------------------------------------------------------
+
+ CSSup::CSSup()
+ {
+ }
+ CSSup::~CSSup()
+ {
+ }
+ void CSSup::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:sSupPr") == sName )
+ m_oSSupPr = new OOX::Logic::CSSupPr( oItem );
+ else if ( _T("m:sup") == sName )
+ m_oSup = new OOX::Logic::CSup( oItem );
+ else if ( _T("m:e") == sName )
+ m_oElement = new OOX::Logic::CElement( oItem );
+
+ }
+ }
+ }
+ }
+ void CSSup::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nParentDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ if ( _T("m:e") == sName )
+ m_oElement = oReader;
+ else if ( _T("m:sSupPr") == sName )
+ m_oSSupPr = oReader;
+ else if ( _T("m:sup") == sName )
+ m_oSup = oReader;
+ }
+ }
+ std::wstring CSSup::toXML() const
+ {
+ std::wstring sResult = _T("");
+
+ if (m_oSSupPr.IsInit())
+ sResult += m_oSSupPr->toXML();
+
+ if (m_oElement.IsInit())
+ sResult += m_oElement->toXML();
+
+ if (m_oSup.IsInit())
+ sResult += m_oSup->toXML();
+
+ sResult += _T("");
+ return sResult;
+ }
+ EElementType CSSup::getType() const
+ {
+ return et_m_sSup;
+ }
+
+ //
+
+ void CMathPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = XmlUtils::GetNameNoNS(oItem.GetName());
+ WritingElement *pItem = NULL;
+
+ if (L"brkBin" == sName)
+ m_oBrkBin = oItem;
+ else if (L"brkBinSub" == sName)
+ m_oBrkBinSub = oItem;
+ else if (L"defJc" == sName)
+ m_oDefJc = oItem;
+ else if (L"w:dispDef" == sName)
+ m_oDispDef = oItem;
+ else if (L"w:interSp" == sName)
+ m_oInterSp = oItem;
+ else if (L"intLim" == sName)
+ m_oIntLim = oItem;
+ else if (L"intraSp" == sName)
+ m_oIntraSp = oItem;
+ else if (L"lMargin" == sName)
+ m_oLMargin = oItem;
+ else if (L"mathFont" == sName)
+ m_oMathFont = oItem;
+ else if (L"naryLim" == sName)
+ m_oNaryLim = oItem;
+ else if (L"postSp" == sName)
+ m_oPostSp = oItem;
+ else if (L"preSp" == sName)
+ m_oPreSp = oItem;
+ else if (L"rMargin" == sName)
+ m_oRMargin = oItem;
+ else if (L"smallFrac" == sName)
+ m_oSmallFrac = oItem;
+ else if (L"wrapIndent" == sName)
+ m_oWrapIndent = oItem;
+ else if (L"wrapRight" == sName)
+ m_oWrapRight = oItem;
+ }
+ }
+ }
+ }
+ void CMathPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nCurDepth))
+ {
+ std::wstring sName = XmlUtils::GetNameNoNS(oReader.GetName());
+ WritingElement *pItem = NULL;
+
+ if (L"brkBin" == sName)
+ m_oBrkBin = oReader;
+ else if (L"brkBinSub" == sName)
+ m_oBrkBinSub = oReader;
+ else if (L"defJc" == sName)
+ m_oDefJc = oReader;
+ else if (L"dispDef" == sName)
+ m_oDispDef = oReader;
+ else if (L"interSp" == sName)
+ m_oInterSp = oReader;
+ else if (L"intLim" == sName)
+ m_oIntLim = oReader;
+ else if (L"intraSp" == sName)
+ m_oIntraSp = oReader;
+ else if (L"lMargin" == sName)
+ m_oLMargin = oReader;
+ else if (L"mathFont" == sName)
+ m_oMathFont = oReader;
+ else if (L"naryLim" == sName)
+ m_oNaryLim = oReader;
+ else if (L"postSp" == sName)
+ m_oPostSp = oReader;
+ else if (L"preSp" == sName)
+ m_oPreSp = oReader;
+ else if (L"rMargin" == sName)
+ m_oRMargin = oReader;
+ else if (L"smallFrac" == sName)
+ m_oSmallFrac = oReader;
+ else if (L"wrapIndent" == sName)
+ m_oWrapIndent = oReader;
+ else if (L"wrapRight" == sName)
+ m_oWrapRight = oReader;
+ }
+ }
+ std::wstring CMathPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oMathFont.IsInit()) sResult += m_oMathFont->toXML();
+ if (m_oBrkBin.IsInit()) sResult += m_oBrkBin->toXML();
+ if (m_oBrkBinSub.IsInit()) sResult += m_oBrkBinSub->toXML();
+ if (m_oSmallFrac.IsInit()) sResult += m_oSmallFrac->toXML();
+ if (m_oDispDef.IsInit()) sResult += m_oDispDef->toXML();
+ if (m_oLMargin.IsInit()) sResult += m_oLMargin->toXML();
+ if (m_oRMargin.IsInit()) sResult += m_oRMargin->toXML();
+ if (m_oDefJc.IsInit()) sResult += m_oDefJc->toXML();
+ if (m_oPreSp.IsInit()) sResult += m_oPreSp->toXML();
+ if (m_oPostSp.IsInit()) sResult += m_oPostSp->toXML();
+ if (m_oInterSp.IsInit()) sResult += m_oInterSp->toXML();
+ if (m_oIntraSp.IsInit()) sResult += m_oIntraSp->toXML();
+ if (m_oWrapIndent.IsInit()) sResult += m_oWrapIndent->toXML();
+ if (m_oWrapRight.IsInit()) sResult += m_oWrapRight->toXML();
+ if (m_oIntLim.IsInit()) sResult += m_oIntLim->toXML();
+ if (m_oNaryLim.IsInit()) sResult += m_oNaryLim->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ void CMRPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:aln" == sName)
+ m_oAln = new OOX::Logic::CAln(oItem);
+ else if (L"m:brk" == sName)
+ m_oBrk = new OOX::Logic::CBrk(oItem);
+ else if (L"m:lit" == sName)
+ m_oLit = new OOX::Logic::CLit(oItem);
+ else if (L"m:nor" == sName)
+ m_oNor = new OOX::Logic::CNor(oItem);
+ else if (L"m:scr" == sName)
+ m_oScr = new OOX::Logic::CScr(oItem);
+ else if (L"m:sty" == sName)
+ m_oSty = new OOX::Logic::CSty(oItem);
+ }
+ }
+ }
+ }
+ void CMRPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nParentDepth))
+ {
+ std::wstring sName = oReader.GetName();
+ if (L"m:aln" == sName)
+ m_oAln = oReader;
+ else if (L"m:brk" == sName)
+ m_oBrk = oReader;
+ else if (L"m:lit" == sName)
+ m_oLit = oReader;
+ else if (L"m:nor" == sName)
+ m_oNor = oReader;
+ else if (L"m:scr" == sName)
+ m_oScr = oReader;
+ else if (L"m:sty" == sName)
+ m_oSty = oReader;
+ }
+ }
+ std::wstring CMRPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oAln.IsInit())
+ sResult += m_oAln->toXML();
+
+ if (m_oBrk.IsInit())
+ sResult += m_oBrk->toXML();
+
+ if (m_oLit.IsInit())
+ sResult += m_oLit->toXML();
+
+ if (m_oNor.IsInit())
+ sResult += m_oNor->toXML();
+
+ if (m_oScr.IsInit())
+ sResult += m_oScr->toXML();
+
+ if (m_oSty.IsInit())
+ sResult += m_oSty->toXML();
+
+ sResult += L"";
+ return sResult;
+ }
+
+ void CNaryPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:ctrlPr" == sName)
+ m_oCtrlPr = new OOX::Logic::CCtrlPr(oItem);
+ else if (L"m:chr" == sName)
+ m_oChr = new OOX::Logic::CChr(oItem);
+ else if (L"m:grow" == sName)
+ m_oGrow = new OOX::Logic::CGrow(oItem);
+ else if (L"m:limLoc" == sName)
+ m_oLimLoc = new OOX::Logic::CLimLoc(oItem);
+ else if (L"m:subHide" == sName)
+ m_oSubHide = new OOX::Logic::CSubHide(oItem);
+ else if (L"m:supHide" == sName)
+ m_oSupHide = new OOX::Logic::CSupHide(oItem);
+ }
+ }
+ }
+ }
+ void CNaryPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nParentDepth))
+ {
+ std::wstring sName = oReader.GetName();
+ if (L"m:chr" == sName)
+ m_oChr = oReader;
+ else if (L"m:ctrlPr" == sName)
+ m_oCtrlPr = oReader;
+ else if (L"m:grow" == sName)
+ m_oGrow = oReader;
+ else if (L"m:limLoc" == sName)
+ m_oLimLoc = oReader;
+ else if (L"m:subHide" == sName)
+ m_oSubHide = oReader;
+ else if (L"m:supHide" == sName)
+ m_oSupHide = oReader;
+ }
+ }
+ std::wstring CNaryPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oChr.IsInit())
+ sResult += m_oChr->toXML();
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ if (m_oGrow.IsInit())
+ sResult += m_oGrow->toXML();
+
+ if (m_oLimLoc.IsInit())
+ sResult += m_oLimLoc->toXML();
+
+ if (m_oSubHide.IsInit())
+ sResult += m_oSubHide->toXML();
+
+ if (m_oSupHide.IsInit())
+ sResult += m_oSupHide->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ void CMPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:baseJc" == sName)
+ m_oBaseJc = new OOX::Logic::CBaseJc(oItem);
+ else if (L"m:cGp" == sName)
+ m_oCGp = new OOX::Logic::CCGp(oItem);
+ else if (L"m:cGpRule" == sName)
+ m_oCGpRule = new OOX::Logic::CCGpRule(oItem);
+ else if (L"m:cSp" == sName)
+ m_oCSp = new OOX::Logic::CCSp(oItem);
+ else if (L"m:ctrlPr" == sName)
+ m_oCtrlPr = new OOX::Logic::CCtrlPr(oItem);
+ else if (L"m:mcs" == sName)
+ m_oMcs = new OOX::Logic::CMcs(oItem);
+ else if (L"m:plcHide" == sName)
+ m_oPlcHide = new OOX::Logic::CPlcHide(oItem);
+ else if (L"m:rSp" == sName)
+ m_oRSp = new OOX::Logic::CRSp(oItem);
+ else if (L"m:rSpRule" == sName)
+ m_oRSpRule = new OOX::Logic::CRSpRule(oItem);
+ }
+ }
+ }
+ }
+ void CMPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nParentDepth))
+ {
+ std::wstring sName = oReader.GetName();
+
+ if (L"m:baseJc" == sName)
+ m_oBaseJc = oReader;
+ else if (L"m:cGp" == sName)
+ m_oCGp = oReader;
+ else if (L"m:cGpRule" == sName)
+ m_oCGpRule = oReader;
+ else if (L"m:cSp" == sName)
+ m_oCSp = oReader;
+ else if (L"m:ctrlPr" == sName)
+ m_oCtrlPr = oReader;
+ else if (L"m:mcs" == sName)
+ m_oMcs = oReader;
+ else if (L"m:plcHide" == sName)
+ m_oPlcHide = oReader;
+ else if (L"m:rSp" == sName)
+ m_oRSp = oReader;
+ else if (L"m:rSpRule" == sName)
+ m_oRSpRule = oReader;
+ }
+ }
+ std::wstring CMPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oBaseJc.IsInit())
+ sResult += m_oBaseJc->toXML();
+ if (m_oCGp.IsInit())
+ sResult += m_oCGp->toXML();
+ if (m_oCGpRule.IsInit())
+ sResult += m_oCGpRule->toXML();
+ if (m_oCSp.IsInit())
+ sResult += m_oCSp->toXML();
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+ if (m_oMcs.IsInit())
+ sResult += m_oMcs->toXML();
+ if (m_oPlcHide.IsInit())
+ sResult += m_oPlcHide->toXML();
+ if (m_oRSp.IsInit())
+ sResult += m_oRSp->toXML();
+ if (m_oRSpRule.IsInit())
+ sResult += m_oRSpRule->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CAcc::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oAccPr.IsInit())
+ sResult += m_oAccPr->toXML();
+
+ if ( m_oElement.IsInit())
+ sResult += m_oElement->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CAccPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oChr.IsInit() )
+ sResult += m_oChr->toXML();
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBar::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oBarPr.IsInit() )
+ sResult += m_oBarPr->toXML();
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBarPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oPos.IsInit() )
+ sResult += m_oPos->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBorderBox::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oBorderBoxPr.IsInit() )
+ sResult += m_oBorderBoxPr->toXML();
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBorderBoxPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oHideBot.IsInit() )
+ sResult += m_oHideBot->toXML();
+
+ if ( m_oHideLeft.IsInit() )
+ sResult += m_oHideLeft->toXML();
+
+ if ( m_oHideRight.IsInit() )
+ sResult += m_oHideRight->toXML();
+
+ if ( m_oHideTop.IsInit() )
+ sResult += m_oHideTop->toXML();
+
+ if ( m_oStrikeBLTR.IsInit() )
+ sResult += m_oStrikeBLTR->toXML();
+
+ if ( m_oStrikeH.IsInit() )
+ sResult += m_oStrikeH->toXML();
+
+ if ( m_oStrikeTLBR.IsInit() )
+ sResult += m_oStrikeTLBR->toXML();
+
+ if ( m_oStrikeV.IsInit() )
+ sResult += m_oStrikeV->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBox::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oBoxPr.IsInit() )
+ sResult += m_oBoxPr->toXML();
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CBoxPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oAln.IsInit() )
+ sResult += m_oAln->toXML();
+
+ if ( m_oBrk.IsInit() )
+ sResult += m_oBrk->toXML();
+
+ if ( m_oCtrlPr.IsInit() )
+ sResult += m_oCtrlPr->toXML();
+
+ if ( m_oDiff.IsInit() )
+ sResult += m_oDiff->toXML();
+
+ if ( m_oNoBreak.IsInit() )
+ sResult += m_oNoBreak->toXML();
+
+ if ( m_oOpEmu.IsInit() )
+ sResult += m_oOpEmu->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ void CCtrlPr::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"w:rP" == sName)
+ m_oRPr = new OOX::Logic::CRunProperty(oItem);
+ else if (L"a:rPr" == sName)
+ m_oARPr = new PPTX::Logic::RunProperties(oItem);
+ else if (L"w:ins" == sName)
+ m_oIns = new OOX::Logic::CRPrChange(oItem);
+ else if (L"w:del" == sName)
+ m_oDel = new OOX::Logic::CRPrChange(oItem);
+
+ }
+ }
+ }
+ }
+ void CCtrlPr::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nParentDepth))
+ {
+ std::wstring sName = oReader.GetName();
+ if (L"w:rPr" == sName)
+ m_oRPr = oReader;
+ else if (L"a:rPr" == sName)
+ {
+ std::wstring sXml = oReader.GetOuterXml();
+ XmlUtils::CXmlNode node;
+ node.FromXmlString(sXml);
+
+ m_oARPr = node;
+ }
+ else if (L"w:ins" == sName)
+ m_oIns = oReader;
+ else if (L"w:del" == sName)
+ m_oDel = oReader;
+ }
+ }
+ std::wstring CCtrlPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oRPr.IsInit())
+ sResult += m_oRPr->toXML();
+ if (m_oARPr.IsInit())
+ sResult += m_oARPr->toXML();
+ if (m_oIns.IsInit())
+ sResult += m_oIns->toXML();
+ if (m_oDel.IsInit())
+ sResult += m_oDel->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ void CDelimiter::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ m_lColumn = 0;
+
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:dPr" == sName)
+ pItem = new CDelimiterPr(oItem);
+ else if (L"m:e" == sName)
+ {
+ pItem = new CElement(oItem);
+ //нужно заранее знать колисество столбцов для отрисовки
+ m_lColumn++;
+ }
+
+ if (pItem)
+ m_arrItems.push_back(pItem);
+ }
+ }
+ }
+ }
+ void CDelimiter::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ m_lColumn = 0;
+
+ if (oReader.IsEmptyNode())
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nCurDepth))
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:dPr" == sName)
+ pItem = new CDelimiterPr(oReader);
+ else if (L"m:e" == sName)
+ {
+ pItem = new CElement(oReader);
+ //нужно заранее знать колисество столбцов для отрисовки
+ m_lColumn++;
+ }
+
+ if (pItem)
+ m_arrItems.push_back(pItem);
+
+ }
+ }
+ std::wstring CDelimiter::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ for (size_t i = 0; i < m_arrItems.size(); ++i)
+ {
+ if (m_arrItems[i])
+ {
+ sResult += m_arrItems[i]->toXML();
+ }
+ }
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CEqArrPr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if (m_oBaseJc.IsInit())
+ sResult += m_oBaseJc->toXML();
+
+ if (m_oCtrlPr.IsInit())
+ sResult += m_oCtrlPr->toXML();
+
+ if (m_oMaxDist.IsInit())
+ sResult += m_oMaxDist->toXML();
+
+ if (m_oObjDist.IsInit())
+ sResult += m_oObjDist->toXML();
+
+ if (m_oRSp.IsInit())
+ sResult += m_oRSp->toXML();
+
+ if (m_oRSpRule.IsInit())
+ sResult += m_oRSpRule->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CFraction::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oDen.IsInit() )
+ sResult += m_oDen->toXML();
+
+ if ( m_oFPr.IsInit() )
+ sResult += m_oFPr->toXML();
+
+ if ( m_oNum.IsInit() )
+ sResult += m_oNum->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CFunc::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oFName.IsInit() )
+ sResult += m_oFName->toXML();
+
+ if ( m_oFuncPr.IsInit() )
+ sResult += m_oFuncPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CGroupChr::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oGroupChrPr.IsInit() )
+ sResult += m_oGroupChrPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CLimLow::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oLim.IsInit() )
+ sResult += m_oLim->toXML();
+
+ if ( m_oLimLowPr.IsInit() )
+ sResult += m_oLimLowPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+ void CLimUpp::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if (oNode.GetNodes(L"*", oChilds))
+ {
+ XmlUtils::CXmlNode oItem;
+ for (int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++)
+ {
+ if (oChilds.GetAt(nIndex, oItem))
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if (L"m:e" == sName)
+ m_oElement = new OOX::Logic::CElement(oItem);
+ else if (L"m:lim" == sName)
+ m_oLim = new OOX::Logic::CLim(oItem);
+ else if (L"m:limUppPr" == sName)
+ m_oLimUppPr = new OOX::Logic::CLimUppPr(oItem);
+ }
+ }
+ }
+ }
+ void CLimUpp::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if (oReader.IsEmptyNode())
+ return;
+ int nParentDepth = oReader.GetDepth();
+ while (oReader.ReadNextSiblingNode(nParentDepth))
+ {
+ std::wstring sName = oReader.GetName();
+ if (L"m:e" == sName)
+ m_oElement = oReader;
+ else if (L"m:lim" == sName)
+ m_oLim = oReader;
+ else if (L"m:limUppPr" == sName)
+ m_oLimUppPr = oReader;
+ }
+ }
+ std::wstring CLimUpp::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oLim.IsInit() )
+ sResult += m_oLim->toXML();
+
+ if ( m_oLimUppPr.IsInit() )
+ sResult += m_oLimUppPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CMc::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oMcPr.IsInit() )
+ sResult += m_oMcPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CNary::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oNaryPr.IsInit() )
+ sResult += m_oNaryPr->toXML();
+
+ if ( m_oSub.IsInit() )
+ sResult += m_oSub->toXML();
+
+ if ( m_oSup.IsInit() )
+ sResult += m_oSup->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CPhant::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ if ( m_oElement.IsInit() )
+ sResult += m_oElement->toXML();
+
+ if ( m_oPhantPr.IsInit() )
+ sResult += m_oPhantPr->toXML();
+
+ sResult += L"";
+
+ return sResult;
+ }
+
+ std::wstring CMRun::toXML() const
+ {
+ std::wstring sResult = L"";
+
+ sResult += toXMLInner();
+
+ sResult += L"";
+
+ return sResult;
+ }
+ std::wstring CMRun::toXMLInner() const
{
- std::wstring sResult = L"";
+ std::wstring sResult;
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
+ if ( m_oAnnotationRef.IsInit() )
+ sResult += m_oAnnotationRef->toXML();
- if ( m_oLim.IsInit() )
- sResult += m_oLim->toXML();
+ if ( m_oBr.IsInit() )
+ sResult += m_oBr->toXML();
- if ( m_oLimUppPr.IsInit() )
- sResult += m_oLimUppPr->toXML();
-
- sResult += L"";
+ if ( m_oCommentReference.IsInit() )
+ sResult += m_oCommentReference->toXML();
- return sResult;
- }
+ if ( m_oContentPart.IsInit() )
+ sResult += m_oContentPart->toXML();
- std::wstring CMc::toXML() const
- {
- std::wstring sResult = L"";
+ if ( m_oContinuationSeparator.IsInit() )
+ sResult += m_oContinuationSeparator->toXML();
- if ( m_oMcPr.IsInit() )
- sResult += m_oMcPr->toXML();
-
- sResult += L"";
+ if ( m_oCr.IsInit() )
+ sResult += m_oCr->toXML();
+
+ if ( m_oDayLong.IsInit() )
+ sResult += m_oDayLong->toXML();
+
+ if ( m_oDayShort.IsInit() )
+ sResult += m_oDayShort->toXML();
+
+ if ( m_oDelInstrText.IsInit() )
+ sResult += m_oDelInstrText->toXML();
+
+ if ( m_oDelText.IsInit() )
+ sResult += m_oDelText->toXML();
+
+ if ( m_oDrawing.IsInit() )
+ sResult += m_oDrawing->toXML();
+
+ if ( m_oEndnoteRef.IsInit() )
+ sResult += m_oEndnoteRef->toXML();
+
+ if ( m_oEndnoteReference.IsInit() )
+ sResult += m_oEndnoteReference->toXML();
+
+ if ( m_oFldChar.IsInit() )
+ sResult += m_oFldChar->toXML();
+
+ if ( m_oFootnoteRef.IsInit() )
+ sResult += m_oFootnoteRef->toXML();
+
+ if ( m_oFootnoteReference.IsInit() )
+ sResult += m_oFootnoteReference->toXML();
+
+ if ( m_oInstrText.IsInit() )
+ sResult += m_oInstrText->toXML();
+
+ if ( m_oLastRenderedPageBreak.IsInit() )
+ sResult += m_oLastRenderedPageBreak->toXML();
+
+ if ( m_oMonthLong.IsInit() )
+ sResult += m_oMonthLong->toXML();
+
+ if ( m_oMonthShort.IsInit() )
+ sResult += m_oMonthShort->toXML();
+
+ if ( m_oNoBreakHyphen.IsInit() )
+ sResult += m_oNoBreakHyphen->toXML();
+
+ if ( m_oObject.IsInit() )
+ sResult += m_oObject->toXML();
+
+ if ( m_oPgNum.IsInit() )
+ sResult += m_oPgNum->toXML();
+
+ if ( m_oPtab.IsInit() )
+ sResult += m_oPtab->toXML();
+
+ if ( m_oMRPr.IsInit() )
+ sResult += m_oMRPr->toXML();
+
+ if ( m_oARPr.IsInit() )
+ sResult += m_oARPr->toXML();
+
+ if ( m_oRPr.IsInit() )
+ sResult += m_oRPr->toXML();
+
+ if ( m_oRuby.IsInit() )
+ sResult += m_oRuby->toXML();
+
+ if ( m_oSeparator.IsInit() )
+ sResult += m_oSeparator->toXML();
+
+ if ( m_oSoftHyphen.IsInit() )
+ sResult += m_oSoftHyphen->toXML();
+
+ if ( m_oSym.IsInit() )
+ sResult += m_oSym->toXML();
+
+ if ( m_oMText.IsInit() )
+ sResult += m_oMText->toXML();
+
+ if ( m_oText.IsInit() )
+ sResult += m_oText->toXML();
+
+ if ( m_oTab.IsInit() )
+ sResult += m_oTab->toXML();
+
+ if ( m_oYearLong.IsInit() )
+ sResult += m_oYearLong->toXML();
+
+ if ( m_oYearShort.IsInit() )
+ sResult += m_oYearShort->toXML();
return sResult;
}
-
- std::wstring CNary::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oNaryPr.IsInit() )
- sResult += m_oNaryPr->toXML();
-
- if ( m_oSub.IsInit() )
- sResult += m_oSub->toXML();
-
- if ( m_oSup.IsInit() )
- sResult += m_oSup->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CPhant::toXML() const
- {
- std::wstring sResult = L"";
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oPhantPr.IsInit() )
- sResult += m_oPhantPr->toXML();
-
- sResult += L"";
-
- return sResult;
- }
-
- std::wstring CMRun::toXML() const
- {
- std::wstring sResult = L"";
-
- sResult += toXMLInner();
-
- sResult += L"";
-
- return sResult;
- }
- std::wstring CMRun::toXMLInner() const
- {
- std::wstring sResult;
-
- if ( m_oAnnotationRef.IsInit() )
- sResult += m_oAnnotationRef->toXML();
-
- if ( m_oBr.IsInit() )
- sResult += m_oBr->toXML();
-
- if ( m_oCommentReference.IsInit() )
- sResult += m_oCommentReference->toXML();
-
- if ( m_oContentPart.IsInit() )
- sResult += m_oContentPart->toXML();
-
- if ( m_oContinuationSeparator.IsInit() )
- sResult += m_oContinuationSeparator->toXML();
-
- if ( m_oCr.IsInit() )
- sResult += m_oCr->toXML();
-
- if ( m_oDayLong.IsInit() )
- sResult += m_oDayLong->toXML();
-
- if ( m_oDayShort.IsInit() )
- sResult += m_oDayShort->toXML();
-
- if ( m_oDelInstrText.IsInit() )
- sResult += m_oDelInstrText->toXML();
-
- if ( m_oDelText.IsInit() )
- sResult += m_oDelText->toXML();
-
- if ( m_oDrawing.IsInit() )
- sResult += m_oDrawing->toXML();
-
- if ( m_oEndnoteRef.IsInit() )
- sResult += m_oEndnoteRef->toXML();
-
- if ( m_oEndnoteReference.IsInit() )
- sResult += m_oEndnoteReference->toXML();
-
- if ( m_oFldChar.IsInit() )
- sResult += m_oFldChar->toXML();
-
- if ( m_oFootnoteRef.IsInit() )
- sResult += m_oFootnoteRef->toXML();
-
- if ( m_oFootnoteReference.IsInit() )
- sResult += m_oFootnoteReference->toXML();
-
- if ( m_oInstrText.IsInit() )
- sResult += m_oInstrText->toXML();
-
- if ( m_oLastRenderedPageBreak.IsInit() )
- sResult += m_oLastRenderedPageBreak->toXML();
-
- if ( m_oMonthLong.IsInit() )
- sResult += m_oMonthLong->toXML();
-
- if ( m_oMonthShort.IsInit() )
- sResult += m_oMonthShort->toXML();
-
- if ( m_oNoBreakHyphen.IsInit() )
- sResult += m_oNoBreakHyphen->toXML();
-
- if ( m_oObject.IsInit() )
- sResult += m_oObject->toXML();
-
- if ( m_oPgNum.IsInit() )
- sResult += m_oPgNum->toXML();
-
- if ( m_oPtab.IsInit() )
- sResult += m_oPtab->toXML();
-
- if ( m_oMRPr.IsInit() )
- sResult += m_oMRPr->toXML();
-
- if ( m_oARPr.IsInit() )
- sResult += m_oARPr->toXML();
-
- if ( m_oRPr.IsInit() )
- sResult += m_oRPr->toXML();
-
- if ( m_oRuby.IsInit() )
- sResult += m_oRuby->toXML();
-
- if ( m_oSeparator.IsInit() )
- sResult += m_oSeparator->toXML();
-
- if ( m_oSoftHyphen.IsInit() )
- sResult += m_oSoftHyphen->toXML();
-
- if ( m_oSym.IsInit() )
- sResult += m_oSym->toXML();
-
- if ( m_oMText.IsInit() )
- sResult += m_oMText->toXML();
-
- if ( m_oText.IsInit() )
- sResult += m_oText->toXML();
-
- if ( m_oTab.IsInit() )
- sResult += m_oTab->toXML();
-
- if ( m_oYearLong.IsInit() )
- sResult += m_oYearLong->toXML();
-
- if ( m_oYearShort.IsInit() )
- sResult += m_oYearShort->toXML();
-
- return sResult;
- }
}
}
diff --git a/OOXML/DocxFormat/Math/oMathContent.h b/OOXML/DocxFormat/Math/oMathContent.h
index 5102240c96..4b012a836a 100644
--- a/OOXML/DocxFormat/Math/oMathContent.h
+++ b/OOXML/DocxFormat/Math/oMathContent.h
@@ -78,6 +78,7 @@ namespace OOX
CMathArgNodesEx(CSub, OOX::et_m_sub)
CMathArgNodesEx(CSup, OOX::et_m_sup)
//-------------------------------------------------------------------------------------------------------------------------------
+
//--------------------------------------------------------------------------------
// CCtrlPr 22.1.2.23 (Control Properties)
//--------------------------------------------------------------------------------
@@ -85,26 +86,21 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CCtrlPr)
- CCtrlPr()
- {
- }
- virtual ~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
- {
- return et_m_ctrlPr;
- }
+ 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)
//--------------------------------------------------------------------------------
@@ -112,53 +108,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CAccPr)
- CAccPr()
- {
- }
- virtual ~CAccPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CAccPr();
+ virtual ~CAccPr();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:chr") == sName )
- m_oChr = new OOX::Logic::CChr( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:chr") == sName )
- m_oChr = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_accPr;
- }
+ virtual EElementType getType() const;
nullable m_oChr;
nullable m_oCtrlPr;
@@ -171,53 +128,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CAcc)
- CAcc()
- {
- }
- virtual ~CAcc()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CAcc();
+ virtual ~CAcc();
- if ( _T("m:accPr") == sName )
- m_oAccPr = new OOX::Logic::CAccPr( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:accPr") == sName )
- m_oAccPr = oReader;
- else if ( _T("m:e") == sName )
- m_oElement = oReader;
- }
- }
- std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_acc;
- }
+ 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;
@@ -230,59 +148,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CArgPr)
- CArgPr()
- {
- }
- virtual ~CArgPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CArgPr();
+ virtual ~CArgPr();
- if ( _T("m:argSz") == sName )
- m_oArgSz = new OOX::Logic::CArgSz( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:argSz") == sName )
- m_oArgSz = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- if ( m_oArgSz.IsInit() )
- sResult += m_oArgSz->toXML();
-
- sResult += _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_argPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oArgSz;
};
@@ -294,54 +167,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBarPr)
- CBarPr()
- {
- }
- virtual ~CBarPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBarPr();
+ virtual ~CBarPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:pos") == sName )
- m_oPos = new OOX::Logic::CPos( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:pos") == sName )
- m_oPos = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_barPr;
- }
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
nullable m_oPos;
@@ -354,59 +187,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBar)
- CBar()
- {
- }
- virtual ~CBar()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBar();
+ virtual ~CBar();
- if ( _T("m:barPr") == sName )
- m_oBarPr = new OOX::Logic::CBarPr( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:barPr") == sName )
- m_oBarPr = oReader;
- else if ( _T("m:e") == sName )
- m_oElement = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_bar;
- }
+ virtual EElementType getType() const;
nullable m_oBarPr;
nullable m_oElement;
};
+
//--------------------------------------------------------------------------------
// CBorderBoxPr 22.1.2.12 (Border-Box Properties)
//--------------------------------------------------------------------------------
@@ -414,82 +208,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBorderBoxPr)
- CBorderBoxPr()
- {
- }
- virtual ~CBorderBoxPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBorderBoxPr();
+ virtual ~CBorderBoxPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:hideBot") == sName )
- m_oHideBot = new OOX::Logic::CHideBot( oItem );
- else if ( _T("m:hideLeft") == sName )
- m_oHideLeft = new OOX::Logic::CHideLeft( oItem );
- else if ( _T("m:hideRight") == sName )
- m_oHideRight = new OOX::Logic::CHideRight( oItem );
- else if ( _T("m:hideTop") == sName )
- m_oHideTop = new OOX::Logic::CHideTop( oItem );
- else if ( _T("m:strikeBLTR") == sName )
- m_oStrikeBLTR = new OOX::Logic::CStrikeBLTR( oItem );
- else if ( _T("m:strikeH") == sName )
- m_oStrikeH = new OOX::Logic::CStrikeH( oItem );
- else if ( _T("m:strikeTLBR") == sName )
- m_oStrikeTLBR = new OOX::Logic::CStrikeTLBR( oItem );
- else if ( _T("m:strikeV") == sName )
- m_oStrikeV = new OOX::Logic::CStrikeV( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:hideBot") == sName )
- m_oHideBot = oReader;
- else if ( _T("m:hideLeft") == sName )
- m_oHideLeft = oReader;
- else if ( _T("m:hideRight") == sName )
- m_oHideRight = oReader;
- else if ( _T("m:hideTop") == sName )
- m_oHideTop = oReader;
- else if ( _T("m:strikeBLTR") == sName )
- m_oStrikeBLTR = oReader;
- else if ( _T("m:strikeH") == sName )
- m_oStrikeH = oReader;
- else if ( _T("m:strikeTLBR") == sName )
- m_oStrikeTLBR = oReader;
- else if ( _T("m:strikeV") == sName )
- m_oStrikeV = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_borderBoxPr;
- }
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
nullable m_oHideBot;
@@ -501,6 +227,7 @@ namespace OOX
nullable m_oStrikeTLBR;
nullable m_oStrikeV;
};
+
//--------------------------------------------------------------------------------
// CBorderBox 22.1.2.11 (Border-Box Object)
//--------------------------------------------------------------------------------
@@ -508,58 +235,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBorderBox)
- CBorderBox()
- {
- }
- virtual ~CBorderBox()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBorderBox();;
+ virtual ~CBorderBox();
- if ( _T("m:borderBoxPr") == sName )
- m_oBorderBoxPr = new OOX::Logic::CBorderBoxPr( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:borderBoxPr") == sName )
- m_oBorderBoxPr = oReader;
- else if ( _T("m:e") == sName )
- m_oElement = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_borderBox;
- }
+ virtual EElementType getType() const;
nullable m_oBorderBoxPr;
nullable m_oElement;
};
+
//--------------------------------------------------------------------------------
// CBrk 22.1.2.15 (Break)
//--------------------------------------------------------------------------------
@@ -567,46 +255,22 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBrk)
- CBrk()
- {
- }
- virtual ~CBrk()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("m:alnAt"), m_alnAt );
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- ReadAttributes( oReader );
+ CBrk();
+ virtual ~CBrk();
- if ( !oReader.IsEmptyNode() )
- oReader.ReadTillEnd();
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("ToString();
- sResult += _T("\" />");
- return sResult;
- }
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
+
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- virtual EElementType getType() const
- {
- return et_m_brk;
- }
private:
+ void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
- void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
- {
- WritingElement_ReadAttributes_Start( oReader )
- WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:alnAt"), m_alnAt )
- WritingElement_ReadAttributes_End( oReader )
- }
public:
nullable m_alnAt;
};
+
//--------------------------------------------------------------------------------
// CBoxPr 22.1.2.14 (Box Properties)
//--------------------------------------------------------------------------------
@@ -614,70 +278,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBoxPr)
- CBoxPr()
- {
- }
- virtual ~CBoxPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBoxPr();
+ virtual ~CBoxPr();
- if ( _T("m:aln") == sName )
- m_oAln = new OOX::Logic::CAln( oItem );
- else if ( _T("m:brk") == sName )
- m_oBrk = new OOX::Logic::CBrk( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:diff") == sName )
- m_oDiff = new OOX::Logic::CDiff( oItem );
- else if ( _T("m:noBreak") == sName )
- m_oNoBreak = new OOX::Logic::CNoBreak( oItem );
- else if ( _T("m:opEmu") == sName )
- m_oOpEmu = new OOX::Logic::COpEmu( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:aln") == sName )
- m_oAln = oReader;
- else if ( _T("m:brk") == sName )
- m_oBrk = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:diff") == sName )
- m_oDiff = oReader;
- else if ( _T("m:noBreak") == sName )
- m_oNoBreak = oReader;
- else if ( _T("m:opEmu") == sName )
- m_oOpEmu = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_boxPr;
- }
+ virtual EElementType getType() const;
nullable m_oAln;
nullable m_oBrk;
@@ -686,6 +294,7 @@ namespace OOX
nullable m_oNoBreak;
nullable m_oOpEmu;
};
+
//--------------------------------------------------------------------------------
// CBox 22.1.2.13 (Box Object)
//--------------------------------------------------------------------------------
@@ -693,54 +302,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CBox)
- CBox()
- {
- }
- virtual ~CBox()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CBox();
+ virtual ~CBox();
- if ( _T("m:boxPr") == sName )
- m_oBoxPr = new OOX::Logic::CBoxPr( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:boxPr") == sName )
- m_oBoxPr = oReader;
- else if ( _T("m:e") == sName )
- m_oElement = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_box;
- }
+ virtual EElementType getType() const;
nullable m_oBoxPr;
nullable m_oElement;
@@ -753,95 +322,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CDelimiterPr)
- CDelimiterPr()
- {
- }
- virtual ~CDelimiterPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CDelimiterPr();
+ virtual ~CDelimiterPr();
- if ( _T("m:begChr") == sName )
- m_oBegChr = new OOX::Logic::CBegChr( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:endChr") == sName )
- m_oEndChr = new OOX::Logic::CEndChr( oItem );
- else if ( _T("m:grow") == sName )
- m_oGrow = new OOX::Logic::CGrow( oItem );
- else if ( _T("m:sepChr") == sName )
- m_oSepChr = new OOX::Logic::CSepChr( oItem );
- else if ( _T("m:shp") == sName )
- m_oShp = new OOX::Logic::CShp( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:begChr") == sName )
- m_oBegChr = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:endChr") == sName )
- m_oEndChr = oReader;
- else if ( _T("m:grow") == sName )
- m_oGrow = oReader;
- else if ( _T("m:sepChr") == sName )
- m_oSepChr = oReader;
- else if ( _T("m:shp") == sName )
- m_oShp = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- if ( m_oBegChr.IsInit() )
- sResult += m_oBegChr->toXML();
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oEndChr.IsInit() )
- sResult += m_oEndChr->toXML();
-
- if ( m_oGrow.IsInit() )
- sResult += m_oGrow->toXML();
-
- if ( m_oSepChr.IsInit() )
- sResult += m_oSepChr->toXML();
-
- if ( m_oShp.IsInit() )
- sResult += m_oShp->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_dPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oBegChr;
nullable m_oCtrlPr;
@@ -850,6 +338,7 @@ namespace OOX
nullable m_oSepChr;
nullable m_oShp;
};
+
//--------------------------------------------------------------------------------
// CDelimiter 22.1.2.24 (Delimiter Object)
//--------------------------------------------------------------------------------
@@ -857,23 +346,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CDelimiter)
- CDelimiter()
- {
- m_lColumn = 0;
- }
- virtual ~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
- {
- return et_m_d;
- }
+ virtual EElementType getType() const;
LONG m_lColumn;
};
+
//--------------------------------------------------------------------------------
// CEqArrPr 22.1.2.35 (Array Object)
//--------------------------------------------------------------------------------
@@ -881,69 +365,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CEqArrPr)
- CEqArrPr()
- {
- }
- virtual ~CEqArrPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CEqArrPr();
+ virtual ~CEqArrPr();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:baseJc") == sName )
- m_oBaseJc = new OOX::Logic::CBaseJc( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:maxDist") == sName )
- m_oMaxDist = new OOX::Logic::CMaxDist( oItem );
- else if ( _T("m:objDist") == sName )
- m_oObjDist = new OOX::Logic::CObjDist( oItem );
- else if ( _T("m:rSp") == sName )
- m_oRSp = new OOX::Logic::CRSp( oItem );
- else if ( _T("m:rSpRule") == sName )
- m_oRSpRule = new OOX::Logic::CRSpRule( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:baseJc") == sName )
- m_oBaseJc = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:maxDist") == sName )
- m_oMaxDist = oReader;
- else if ( _T("m:objDist") == sName )
- m_oObjDist = oReader;
- else if ( _T("m:rSp") == sName )
- m_oRSp = oReader;
- else if ( _T("m:rSpRule") == sName )
- m_oRSpRule = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_eqArrPr;
- }
+ virtual EElementType getType() const;
nullable m_oBaseJc;
nullable m_oCtrlPr;
@@ -952,6 +381,7 @@ namespace OOX
nullable m_oRSp;
nullable m_oRSpRule;
};
+
//--------------------------------------------------------------------------------
// CEqArr 22.1.2.34 (Array Object)
//--------------------------------------------------------------------------------
@@ -959,85 +389,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CEqArr)
- CEqArr()
- {
- m_lRow = 0;
- }
- virtual ~CEqArr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- m_lRow = 0;
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CEqArr();
+ virtual ~CEqArr();
- if ( _T("m:eqArrPr") == sName )
- pItem = new CEqArrPr( oItem );
- else if ( _T("m:e") == sName )
- pItem = new CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( pItem )
- m_arrItems.push_back( pItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- m_lRow = 0;
- if ( oReader.IsEmptyNode() )
- return;
-
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:eqArrPr") == sName )
- pItem = new CEqArrPr( oReader );
- else if ( _T("m:e") == sName )
- {
- pItem = new CElement( oReader );
- m_lRow++;
- }
- if ( pItem )
- m_arrItems.push_back( pItem );
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- for ( size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if ( m_arrItems[i] )
- {
- sResult += m_arrItems[i]->toXML();
- }
- }
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_eqArr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
LONG m_lRow;
};
+
//--------------------------------------------------------------------------------
// CFPr 22.1.2.38 (Fraction Properties)
//--------------------------------------------------------------------------------
@@ -1045,69 +408,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CFPr)
- CFPr()
- {
- }
- virtual ~CFPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CFPr();
+ virtual ~CFPr();
- if ( _T("m:type") == sName )
- m_oType = new OOX::Logic::CType( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:type") == sName )
- m_oType = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oType.IsInit() )
- sResult += m_oType->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_fPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
nullable m_oType;
};
+
//--------------------------------------------------------------------------------
// CFraction 22.1.2.36 (Fraction Object)
//--------------------------------------------------------------------------------
@@ -1115,62 +428,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CFraction)
- CFraction()
- {
- }
- virtual ~CFraction()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CFraction();
+ virtual ~CFraction();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:den") == sName )
- m_oDen = new OOX::Logic::CDen( oItem );
- else if ( _T("m:fPr") == sName )
- m_oFPr = new OOX::Logic::CFPr( oItem );
- else if ( _T("m:num") == sName )
- m_oNum = new OOX::Logic::CNum( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:den") == sName )
- m_oDen = oReader;
- else if ( _T("m:fPr") == sName )
- m_oFPr = oReader;
- else if ( _T("m:num") == sName )
- m_oNum = oReader;
- }
- }
virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- virtual EElementType getType() const
- {
- return et_m_f;
- }
-
nullable m_oDen;
nullable m_oFPr;
nullable m_oNum;
};
+
//--------------------------------------------------------------------------------
// CFuncPr 22.1.2.40 (Function Properties)
//--------------------------------------------------------------------------------
@@ -1178,62 +449,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CFuncPr)
- CFuncPr()
- {
- }
- virtual ~CFuncPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CFuncPr();
+ virtual ~CFuncPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_funcPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CFunc 22.1.2.39 (Function Apply Object)
//--------------------------------------------------------------------------------
@@ -1241,62 +468,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CFunc)
- CFunc()
- {
- }
- virtual ~CFunc()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CFunc();
+ virtual ~CFunc();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- else if ( _T("m:fName") == sName )
- m_oFName = new OOX::Logic::CFName( oItem );
- else if ( _T("m:funcPr") == sName )
- m_oFuncPr = new OOX::Logic::CFuncPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:fName") == sName )
- m_oFName = oReader;
- else if ( _T("m:funcPr") == sName )
- m_oFuncPr = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_func;
- }
+ virtual EElementType getType() const;
nullable m_oElement;
nullable m_oFName;
nullable m_oFuncPr;
};
+
//--------------------------------------------------------------------------------
// CGroupChrPr 22.1.2.42 (Group-Character Properties )
//--------------------------------------------------------------------------------
@@ -1304,80 +489,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CGroupChrPr)
- CGroupChrPr()
- {
- }
- virtual ~CGroupChrPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CGroupChrPr();
+ virtual ~CGroupChrPr();
- if ( _T("m:chr") == sName )
- m_oChr = new OOX::Logic::CChr( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:pos") == sName )
- m_oPos = new OOX::Logic::CPos( oItem );
- else if ( _T("m:vertJc") == sName )
- m_oVertJc = new OOX::Logic::CVertJc( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:chr") == sName )
- m_oChr = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:pos") == sName )
- m_oPos = oReader;
- else if ( _T("m:vertJc") == sName )
- m_oVertJc = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oChr.IsInit() )
- sResult += m_oChr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- if ( m_oPos.IsInit() )
- sResult += m_oPos->toXML();
-
- if ( m_oVertJc.IsInit() )
- sResult += m_oVertJc->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_groupChrPr;
- }
nullable m_oChr;
nullable m_oCtrlPr;
nullable m_oPos;
@@ -1391,53 +511,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CGroupChr)
- CGroupChr()
- {
- }
- virtual ~CGroupChr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CGroupChr();
+ virtual ~CGroupChr();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- else if ( _T("m:groupChrPr") == sName )
- m_oGroupChrPr = new OOX::Logic::CGroupChrPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:groupChrPr") == sName )
- m_oGroupChrPr = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_groupChr;
- }
+ virtual EElementType getType() const;
nullable m_oElement;
nullable m_oGroupChrPr;
@@ -1450,63 +531,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CLimLowPr)
- CLimLowPr()
- {
- }
- virtual ~CLimLowPr()
- {
- }
+ CLimLowPr();
+ virtual ~CLimLowPr();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_limLowPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CLimLow 22.1.2.54 (Lower-Limit Object)
//--------------------------------------------------------------------------------
@@ -1514,63 +550,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CLimLow)
- CLimLow()
- {
- }
- virtual ~CLimLow()
- {
- }
+ CLimLow();
+ virtual ~CLimLow();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- else if ( _T("m:lim") == sName )
- m_oLim = new OOX::Logic::CLim( oItem );
- else if ( _T("m:limLowPr") == sName )
- m_oLimLowPr = new OOX::Logic::CLimLowPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:lim") == sName )
- m_oLim = oReader;
- else if ( _T("m:limLowPr") == sName )
- m_oLimLowPr = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_limLow;
- }
+ virtual EElementType getType() const;
nullable m_oElement;
nullable m_oLim;
nullable m_oLimLowPr;
};
+
//--------------------------------------------------------------------------------
// CLimUppPr 22.1.2.57 (Upper-Limit Properties)
//--------------------------------------------------------------------------------
@@ -1578,63 +571,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CLimUppPr)
- CLimUppPr()
- {
- }
- virtual ~CLimUppPr()
- {
- }
+ CLimUppPr();
+ virtual ~CLimUppPr();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_limUppPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CLimUpp 22.1.2.56 (Upper-Limit Object)
//--------------------------------------------------------------------------------
@@ -1642,25 +590,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CLimUpp)
- CLimUpp()
- {
- }
- virtual ~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
- {
- return et_m_limUpp;
- }
+ 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)
//--------------------------------------------------------------------------------
@@ -1668,42 +611,17 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMathFont)
- CMathFont()
- {
- }
- virtual ~CMathFont()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("m:val"), m_val );
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- ReadAttributes( oReader );
+ CMathFont();
+ virtual ~CMathFont();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
+
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( !oReader.IsEmptyNode() )
- oReader.ReadTillEnd();
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_mathFont;
- }
private:
-
- void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
- {
- WritingElement_ReadAttributes_Start( oReader )
- WritingElement_ReadAttributes_ReadSingle( oReader, _T("m:val"), m_val )
- WritingElement_ReadAttributes_End( oReader )
- }
+ void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
public:
nullable_string m_val;
@@ -1716,20 +634,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMathPr)
- CMathPr()
- {
- }
- virtual ~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
- {
- return et_m_mathPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oBrkBin;
nullable m_oBrkBinSub;
@@ -1748,6 +660,7 @@ namespace OOX
nullable m_oWrapIndent;
nullable m_oWrapRight;
};
+
//--------------------------------------------------------------------------------
// CMcPr 22.1.2.66 (Matrix Column Properties)
//--------------------------------------------------------------------------------
@@ -1755,70 +668,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMcPr)
- CMcPr()
- {
- }
- virtual ~CMcPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CMcPr();
+ virtual ~CMcPr();
- if ( _T("m:count") == sName )
- m_oCount = new OOX::Logic::CCount( oItem );
- else if ( _T("m:mcJc") == sName )
- m_oMcJc = new OOX::Logic::CMcJc( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:count") == sName )
- m_oCount = oReader;
- else if ( _T("m:mcJc") == sName )
- m_oMcJc = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oCount.IsInit() )
- sResult += m_oCount->toXML();
-
- if ( m_oMcJc.IsInit() )
- sResult += m_oMcJc->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_mcPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oCount;
nullable m_oMcJc;
};
+
//--------------------------------------------------------------------------------
// CMc 22.1.2.64 (Matrix Column)
//--------------------------------------------------------------------------------
@@ -1826,52 +688,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMc)
- CMc()
- {
- }
- virtual ~CMc()
- {
- }
+ CMc();
+ virtual ~CMc();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:mcPr") == sName )
- m_oMcPr = new OOX::Logic::CMcPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:mcPr") == sName )
- m_oMcPr = oReader;
- }
- }
virtual std::wstring toXML() const;
- virtual EElementType getType() const
- {
- return et_m_mc;
- }
+ virtual EElementType getType() const;
nullable m_oMcPr;
};
+
//--------------------------------------------------------------------------------
// CMcs 22.1.2.67 (Matrix Columns)
//--------------------------------------------------------------------------------
@@ -1879,100 +707,31 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMcs)
- CMcs()
- {
- }
- virtual ~CMcs()
- {
- }
+ CMcs();
+ virtual ~CMcs();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:mc") == sName )
- pItem = new Logic::CMc( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( pItem )
- m_arrItems.push_back( pItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
-
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:mc") == sName )
- pItem = new Logic::CMc( oReader );
-
- if ( pItem )
- m_arrItems.push_back( pItem );
-
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- for ( size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if ( m_arrItems[i] )
- {
- sResult += m_arrItems[i]->toXML();
- }
- }
-
- sResult += _T("");
-
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_mcs;
- }
+ 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)
- {
- fromXML( oNode );
- }
- CMPr(XmlUtils::CXmlLiteReader& oReader)
- {
- fromXML( oReader );
- }
+ 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
- {
- return et_m_mPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oBaseJc;
nullable m_oCGp;
@@ -1984,6 +743,7 @@ namespace OOX
nullable m_oRSp;
nullable m_oRSpRule;
};
+
//--------------------------------------------------------------------------------
// CMr 22.1.2.69 (Matrix Row)
//--------------------------------------------------------------------------------
@@ -1991,92 +751,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMr)
- CMr()
- {
- m_lCol = 0;
- }
- virtual ~CMr()
- {
- }
+ CMr();
+ virtual ~CMr();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- m_lCol = 0;
-
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:e") == sName )
- {
- pItem = new Logic::CElement( oItem );
- m_lCol++;
- }
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( pItem )
- m_arrItems.push_back( pItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- m_lCol = 0;
-
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:e") == sName )
- {
- pItem = new Logic::CElement( oReader );
- m_lCol++;
- }
-
- if ( pItem )
- m_arrItems.push_back( pItem );
-
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- for ( size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if ( m_arrItems[i] )
- {
- sResult += m_arrItems[i]->toXML();
- }
- }
-
- sResult += _T("");
-
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_mr;
- }
- LONG GetCol()
- {
- return m_lCol;
- }
+ LONG GetCol();
LONG m_lCol;
};
+
//--------------------------------------------------------------------------------
// CMatrix 22.1.2.60 (Matrix Object)
//--------------------------------------------------------------------------------
@@ -2084,90 +772,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMatrix)
- CMatrix()
- {
- m_lRow = 0;
- }
- virtual ~CMatrix()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- m_lRow = 0;
+ CMatrix();
+ virtual ~CMatrix();
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:mPr") == sName )
- pItem = new CMPr( oItem );
- else if ( _T("m:mr") == sName )
- {
- pItem = new CMr( oItem );
- m_lRow++;
- }
- if (pItem)
- m_arrItems.push_back(pItem);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- m_lRow = 0;
- if ( oReader.IsEmptyNode() )
- return;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:mPr") == sName )
- pItem = new CMPr( oReader );
- else if ( _T("m:mr") == sName )
- {
- pItem = new CMr( oReader );
- m_lRow++;
- }
-
- if ( pItem )
- m_arrItems.push_back( pItem );
-
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- for ( size_t i = 0; i < m_arrItems.size(); ++i)
- {
- if ( m_arrItems[i] )
- {
- sResult += m_arrItems[i]->toXML();
- }
- }
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_m;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
LONG m_lRow;
};
+
//--------------------------------------------------------------------------------
// CNaryPr 22.1.2.72 (n-ary Properties)
//--------------------------------------------------------------------------------
@@ -2175,20 +791,14 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CNaryPr)
- CNaryPr()
- {
- }
- virtual ~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
- {
- return et_m_naryPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
nullable m_oChr;
nullable m_oCtrlPr;
@@ -2197,6 +807,7 @@ namespace OOX
nullable m_oSubHide;
nullable m_oSupHide;
};
+
//--------------------------------------------------------------------------------
// CNary 22.1.2.70 (n-ary Operator Object)
//--------------------------------------------------------------------------------
@@ -2204,67 +815,21 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CNary)
- CNary()
- {
- }
- virtual ~CNary()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CNary();
+ virtual ~CNary();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- else if ( _T("m:naryPr") == sName )
- m_oNaryPr = new OOX::Logic::CNaryPr( oItem );
- else if ( _T("m:sub") == sName )
- m_oSub = new OOX::Logic::CSub( oItem );
- else if ( _T("m:sup") == sName )
- m_oSup = new OOX::Logic::CSup( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:naryPr") == sName )
- m_oNaryPr = oReader;
- else if ( _T("m:sub") == sName )
- m_oSub = oReader;
- else if ( _T("m:sup") == sName )
- m_oSup = oReader;
- }
- }
virtual std::wstring toXML() const;
-
- virtual EElementType getType() const
- {
- return et_m_nary;
- }
+ virtual EElementType getType() const;
nullable m_oElement;
nullable m_oNaryPr;
nullable m_oSub;
nullable m_oSup;
};
+
//--------------------------------------------------------------------------------
// COMathParaPr 22.1.2.79
//--------------------------------------------------------------------------------
@@ -2272,64 +837,18 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(COMathParaPr)
- COMathParaPr()
- {
- }
- virtual ~COMathParaPr()
- {
- }
+ COMathParaPr();
+ virtual ~COMathParaPr();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:jc") == sName )
- m_oMJc = new OOX::Logic::CMJc( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:jc") == sName )
- m_oMJc = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
-
- if ( m_oMJc.IsInit() )
- sResult += m_oMJc->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_oMathParaPr;
- }
-
nullable m_oMJc;
};
+
//--------------------------------------------------------------------------------
// CPhantPr 22.1.2.82 (Phantom Properties)
//--------------------------------------------------------------------------------
@@ -2337,95 +856,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CPhantPr)
- CPhantPr()
- {
- }
- virtual ~CPhantPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CPhantPr();
+ virtual ~CPhantPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:show") == sName )
- m_oShow = new OOX::Logic::CShow( oItem );
- else if ( _T("m:transp") == sName )
- m_oTransp = new OOX::Logic::CTransp( oItem );
- else if ( _T("m:zeroAsc") == sName )
- m_oZeroAsc = new OOX::Logic::CZeroAsc( oItem );
- else if ( _T("m:zeroDesc") == sName )
- m_oZeroDesc = new OOX::Logic::CZeroDesc( oItem );
- else if ( _T("m:zeroWid") == sName )
- m_oZeroWid = new OOX::Logic::CZeroWid( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:show") == sName )
- m_oShow = oReader;
- else if ( _T("m:transp") == sName )
- m_oTransp = oReader;
- else if ( _T("m:zeroAsc") == sName )
- m_oZeroAsc = oReader;
- else if ( _T("m:zeroDesc") == sName )
- m_oZeroDesc = oReader;
- else if ( _T("m:zeroWid") == sName )
- m_oZeroWid = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( m_oShow.IsInit() )
- sResult += m_oShow->toXML();
-
- if ( m_oTransp.IsInit() )
- sResult += m_oTransp->toXML();
-
- if ( m_oZeroAsc.IsInit() )
- sResult += m_oZeroAsc->toXML();
-
- if ( m_oZeroDesc.IsInit() )
- sResult += m_oZeroDesc->toXML();
-
- if ( m_oZeroWid.IsInit() )
- sResult += m_oZeroWid->toXML();
-
- sResult += _T("");
-
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_phantPr;
- }
-
nullable m_oCtrlPr;
nullable m_oShow;
nullable m_oTransp;
@@ -2433,6 +872,7 @@ namespace OOX
nullable m_oZeroDesc;
nullable m_oZeroWid;
};
+
//--------------------------------------------------------------------------------
// CPhant 22.1.2.81 (Phantom Object)
//--------------------------------------------------------------------------------
@@ -2440,54 +880,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CPhant)
- CPhant()
- {
- }
- virtual ~CPhant()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CPhant();
+ virtual ~CPhant();
+
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
- else if ( _T("m:phantPr") == sName )
- m_oPhantPr = new OOX::Logic::CPhantPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:phantPr") == sName )
- m_oPhantPr = oReader;
- }
- }
virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- virtual EElementType getType() const
- {
- return et_m_phant;
- }
-
nullable m_oElement;
nullable m_oPhantPr;
};
@@ -2499,75 +900,23 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMText)
- CMText()
- {
- }
- virtual ~CMText()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("xml:space"), m_oSpace );
+ CMText();
+ virtual ~CMText();
- m_sText = oNode.GetText();
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- ReadAttributes( oReader );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( oReader.IsEmptyNode() )
- return;
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- m_sText = oReader.GetText2();
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult;
-
- if ( m_oSpace.IsInit() )
- sResult = _T("ToString() + _T("\">");
- else
- sResult = _T("");
-
- sResult += XmlUtils::EncodeXmlString(m_sText);
- sResult += _T("");
-
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_t;
- }
private:
- void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.GetAttributesCount() <= 0 )
- return;
+ void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
- if ( !oReader.MoveToFirstAttribute() )
- return;
-
- std::wstring wsName = oReader.GetName();
- while( !wsName.empty() )
- {
- if ( _T("xml:space") == wsName )
- {
- m_oSpace = oReader.GetText();
- break;
- }
-
- if ( !oReader.MoveToNextAttribute() )
- break;
-
- wsName = oReader.GetName();
- }
-
- oReader.MoveToElement();
- }
public:
nullable m_oSpace;
std::wstring m_sText;
};
+
//--------------------------------------------------------------------------------
// CMRPr 22.1.2.91 (Run Properties)
//--------------------------------------------------------------------------------
@@ -2575,20 +924,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMRPr)
- CMRPr()
- {
- }
- virtual ~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
- {
- return et_m_rPr;
- }
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
+
nullable m_oAln;
nullable m_oBrk;
nullable m_oLit;
@@ -2598,6 +942,7 @@ namespace OOX
};
class CMDel;
class CMIns;
+
//--------------------------------------------------------------------------------
// CMRun 22.1.2.87 (Math Run)
//--------------------------------------------------------------------------------
@@ -2605,204 +950,17 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CMRun)
- CMRun()
- {
- }
- virtual ~CMRun()
- {
- }
+ CMRun();
+ virtual ~CMRun();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
-
- if ( _T("w:annotationRef") == sName )
- m_oAnnotationRef = oItem;
- else if ( _T("w:br") == sName )
- m_oBr = oItem;
- else if ( _T("w:commentReference") == sName )
- m_oCommentReference = oItem;
- else if ( _T("w:contentPart") == sName )
- m_oContentPart = oItem;
- else if ( _T("w:continuationSeparator") == sName )
- m_oContinuationSeparator = oItem;
- else if ( _T("w:cr") == sName )
- m_oCr = oItem;
- else if ( _T("w:dayLong") == sName )
- m_oDayLong = oItem;
- else if ( _T("w:dayShort") == sName )
- m_oDayShort = oItem;
- else if ( _T("w:del") == sName )
- m_oDel = oItem;
- else if ( _T("w:delInstrText") == sName )
- m_oDelInstrText = oItem;
- else if ( _T("w:delText") == sName )
- m_oDelText = oItem;
- else if ( _T("w:drawing") == sName )
- m_oDrawing = oItem;
- else if ( _T("w:endnoteRef") == sName )
- m_oEndnoteRef = oItem;
- else if ( _T("w:endnoteReference") == sName )
- m_oEndnoteReference = oItem;
- else if ( _T("w:fldChar") == sName )
- m_oFldChar = oItem;
- else if ( _T("w:footnoteRef") == sName )
- m_oFootnoteRef = oItem;
- else if ( _T("w:footnoteReference") == sName )
- m_oFootnoteReference = oItem;
- else if ( _T("w:ins") == sName )
- m_oIns = oItem;
- else if ( _T("w:instrText") == sName )
- m_oInstrText = oItem;
- else if ( _T("w:lastRenderedPageBreak") == sName )
- m_oLastRenderedPageBreak = oItem;
- else if ( _T("w:monthLong") == sName )
- m_oMonthLong = oItem;
- else if ( _T("w:monthShort") == sName )
- m_oMonthShort = oItem;
- else if ( _T("w:noBreakHyphen") == sName )
- m_oNoBreakHyphen = oItem;
- else if ( _T("w:object") == sName )
- m_oObject = oItem;
- else if ( _T("w:pgNum") == sName )
- m_oPgNum = oItem;
- else if ( _T("w:ptab") == sName )
- m_oPtab = oItem;
- else if ( _T("m:rPr") == sName )
- m_oMRPr = oItem ;
- else if ( _T("w:rPr") == sName )
- m_oRPr = oItem;
- else if ( _T("a:rPr") == sName )
- m_oARPr = oItem;
- else if ( _T("w:ruby") == sName )
- m_oRuby = oItem;
- else if ( _T("w:separator") == sName )
- m_oSeparator = oItem;
- else if ( _T("w:softHyphen") == sName )
- m_oSoftHyphen = oItem;
- else if ( _T("w:sym") == sName )
- m_oSym = oItem;
- else if ( _T("m:t") == sName )
- m_oMText = oItem ;
- else if ( _T("w:t") == sName )
- m_oText = oItem;
- else if ( _T("w:tab") == sName )
- m_oTab = oItem;
- else if ( _T("w:yearLong") == sName )
- m_oYearLong = oItem;
- else if ( _T("w:yearShort") == sName )
- m_oYearShort = oItem;
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("w:annotationRef") == sName )
- m_oAnnotationRef = oReader;
- else if ( _T("w:br") == sName )
- m_oBr = oReader;
- else if ( _T("w:commentReference") == sName )
- m_oCommentReference = oReader;
- else if ( _T("w:contentPart") == sName )
- m_oContentPart = oReader;
- else if ( _T("w:continuationSeparator") == sName )
- m_oContinuationSeparator = oReader;
- else if ( _T("w:cr") == sName )
- m_oCr = oReader;
- else if ( _T("w:dayLong") == sName )
- m_oDayLong = oReader;
- else if ( _T("w:dayShort") == sName )
- m_oDayShort = oReader;
- else if ( _T("w:del") == sName )
- m_oDel = oReader;
- else if ( _T("w:delInstrText") == sName )
- m_oDelInstrText = oReader;
- else if ( _T("w:delText") == sName )
- m_oDelText = oReader;
- else if ( _T("w:drawing") == sName )
- m_oDrawing = oReader;
- else if ( _T("w:endnoteRef") == sName )
- m_oEndnoteRef = oReader;
- else if ( _T("w:endnoteReference") == sName )
- m_oEndnoteReference = oReader;
- else if ( _T("w:fldChar") == sName )
- m_oFldChar = oReader;
- else if ( _T("w:footnoteRef") == sName )
- m_oFootnoteRef = oReader;
- else if ( _T("w:footnoteReference") == sName )
- m_oFootnoteReference = oReader;
- else if ( _T("w:ins") == sName )
- m_oIns = oReader;
- else if ( _T("w:instrText") == sName )
- m_oInstrText = oReader;
- else if ( _T("w:lastRenderedPageBreak") == sName )
- m_oLastRenderedPageBreak = oReader;
- else if ( _T("w:monthLong") == sName )
- m_oMonthLong = oReader;
- else if ( _T("w:monthShort") == sName )
- m_oMonthShort = oReader;
- else if ( _T("w:noBreakHyphen") == sName )
- m_oNoBreakHyphen = oReader;
- else if ( _T("w:object") == sName )
- m_oObject = oReader;
- else if ( _T("w:pgNum") == sName )
- m_oPgNum = oReader;
- else if ( _T("w:ptab") == sName )
- m_oPtab = oReader;
- else if ( _T("m:rPr") == sName )
- m_oMRPr = oReader ;
- else if ( _T("w:rPr") == sName )
- m_oRPr = oReader;
- else if ( _T("a:rPr") == sName )
- {
- std::wstring sXml = oReader.GetOuterXml();
- XmlUtils::CXmlNode node;
- node.FromXmlString(sXml);
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- m_oARPr = node;
- }
- else if ( _T("w:ruby") == sName )
- m_oRuby = oReader;
- else if ( _T("w:separator") == sName )
- m_oSeparator = oReader;
- else if ( _T("w:softHyphen") == sName )
- m_oSoftHyphen = oReader;
- else if ( _T("w:sym") == sName )
- m_oSym = oReader;
- else if ( _T("m:t") == sName )
- m_oMText = oReader ;
- else if ( _T("w:t") == sName )
- m_oText = oReader;
- else if ( _T("w:tab") == sName )
- m_oTab = oReader;
- else if ( _T("w:yearLong") == sName )
- m_oYearLong = oReader;
- else if ( _T("w:yearShort") == sName )
- m_oYearShort = oReader;
- }
- }
virtual std::wstring toXML() const;
virtual std::wstring toXMLInner() const;
- virtual EElementType getType() const
- {
- return et_m_r;
- }
+ virtual EElementType getType() const;
+
// Childs
nullable m_oAnnotationRef;
nullable m_oBr;
@@ -2843,90 +1001,23 @@ namespace OOX
nullable m_oYearLong;
nullable m_oYearShort;
};
+
class CMDel : public WritingElement
{
public:
WritingElement_AdditionConstructors(CMDel)
- CMDel()
- {
- }
- virtual ~CMDel()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("w:author"), m_sAuthor );
- XmlMacroReadAttributeBase( oNode, _T("w:date"), m_oDate );
- XmlMacroReadAttributeBase( oNode, _T("w:id"), m_oId );
- XmlMacroReadAttributeBase( oNode, _T("oouserid"), m_sUserId );
+ CMDel();
+ virtual ~CMDel();
- m_oRun = oNode;
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- ReadAttributes(oReader);
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- m_oRun = oReader;
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult;
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- sResult += _T("ToString());
- sResult += _T("\" ");
- }
-
- if ( m_oId.IsInit() )
- {
- sResult += _T(" w:id=\"");
- sResult += m_oId->ToString();
- sResult += _T("\" ");
- }
-
- if ( m_sUserId.IsInit() )
- {
- sResult += _T(" oouserid=\"");
- sResult += XmlUtils::EncodeXmlString(m_sUserId.get2());
- sResult += _T("\" ");
- }
- sResult += _T(">");
-
- if(m_oRun.IsInit())
- {
- sResult += m_oRun->toXMLInner();
- }
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_w_ins;
- }
private:
- void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
- {
- // Читаем атрибуты
- WritingElement_ReadAttributes_Start( oReader )
- WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
- WritingElement_ReadAttributes_End( oReader )
- }
+ void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
+
public:
nullable m_sAuthor;
nullable m_oDate;
@@ -2936,90 +1027,23 @@ namespace OOX
// Childs
nullable m_oRun;
};
+
class CMIns : public WritingElement
{
public:
WritingElement_AdditionConstructors(CMIns)
- CMIns()
- {
- }
- virtual ~CMIns()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("w:author"), m_sAuthor );
- XmlMacroReadAttributeBase( oNode, _T("w:date"), m_oDate );
- XmlMacroReadAttributeBase( oNode, _T("w:id"), m_oId );
- XmlMacroReadAttributeBase( oNode, _T("oouserid"), m_sUserId );
+ CMIns();
+ virtual ~CMIns();
- m_oRun = oNode;
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- ReadAttributes(oReader);
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- m_oRun = oReader;
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult;
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- sResult += _T("ToString());
- sResult += _T("\" ");
- }
-
- if ( m_oId.IsInit() )
- {
- sResult += _T(" w:id=\"");
- sResult += m_oId->ToString();
- sResult += _T("\" ");
- }
-
- if ( m_sUserId.IsInit() )
- {
- sResult += _T(" oouserid=\"");
- sResult += XmlUtils::EncodeXmlString(m_sUserId.get2());
- sResult += _T("\" ");
- }
- sResult += _T(">");
-
- if(m_oRun.IsInit())
- {
- sResult += m_oRun->toXMLInner();
- }
-
- sResult += L"";
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_w_ins;
- }
private:
- void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
- {
- // Читаем атрибуты
- WritingElement_ReadAttributes_Start( oReader )
- WritingElement_ReadAttributes_Read_if ( oReader, _T("w:author"), m_sAuthor )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:date"), m_oDate )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:id"), m_oId )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("oouserid"), m_sUserId )
- WritingElement_ReadAttributes_End( oReader )
- }
+ void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
+
public:
nullable m_sAuthor;
nullable m_oDate;
@@ -3029,6 +1053,7 @@ namespace OOX
// Childs
nullable m_oRun;
};
+
//--------------------------------------------------------------------------------
// CRadPr 22.1.2.89 (Radical Properties)
//--------------------------------------------------------------------------------
@@ -3036,69 +1061,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CRadPr)
- CRadPr()
- {
- }
- virtual ~CRadPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CRadPr();
+ virtual ~CRadPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- else if ( _T("m:degHide") == sName )
- m_oDegHide = new OOX::Logic::CDegHide( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- else if ( _T("m:degHide") == sName )
- m_oDegHide = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( m_oCtrlPr.IsInit() )
- sResult += m_oCtrlPr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( m_oDegHide.IsInit() )
- sResult += m_oDegHide->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_radPr;
- }
//Childs
nullable m_oCtrlPr;
nullable m_oDegHide;
};
+
//--------------------------------------------------------------------------------
// CRad 22.1.2.88 (Radical Object)
//--------------------------------------------------------------------------------
@@ -3106,78 +1082,21 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CRad)
- CRad()
- {
- }
- virtual ~CRad()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CRad();
+ virtual ~CRad();
- if ( _T("m:radPr") == sName )
- m_oRadPr = new OOX::Logic::CRadPr( oItem );
- else if ( _T("m:deg") == sName )
- m_oDeg = new OOX::Logic::CDeg( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:deg") == sName )
- m_oDeg = oReader;
- else if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:radPr") == sName )
- m_oRadPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( m_oRadPr.IsInit())
- sResult += m_oRadPr->toXML();
-
- if ( m_oDeg.IsInit() )
- sResult += m_oDeg->toXML();
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_rad;
- }
//Childs
nullable m_oDeg;
nullable m_oElement;
nullable m_oRadPr;
};
+
//--------------------------------------------------------------------------------
// CSPrePr 22.1.2.100 (Pre-Sub-Superscript Properties))
//--------------------------------------------------------------------------------
@@ -3185,62 +1104,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSPrePr)
- CSPrePr()
- {
- }
- virtual ~CSPrePr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSPrePr();
+ virtual ~CSPrePr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
-
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sPrePr;
- }
//Childs
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CSPre 22.1.2.99 (Pre-Sub-Superscript Object)
//--------------------------------------------------------------------------------
@@ -3248,80 +1124,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSPre)
- CSPre()
- {
- }
- virtual ~CSPre()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSPre();
+ virtual ~CSPre();
- if ( _T("m:sPrePr") == sName )
- m_oSPrePr = new OOX::Logic::CSPrePr( oItem );
- else if ( _T("m:sub") == sName )
- m_oSub = new OOX::Logic::CSub( oItem );
- else if ( _T("m:sup") == sName )
- m_oSup = new OOX::Logic::CSup( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:sPrePr") == sName )
- m_oSPrePr = oReader;
- else if ( _T("m:sub") == sName )
- m_oSub = oReader;
- else if ( _T("m:sup") == sName )
- m_oSup = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if ( m_oSPrePr.IsInit() )
- sResult += m_oSPrePr->toXML();
-
- if ( m_oElement.IsInit() )
- sResult += m_oElement->toXML();
-
- if ( m_oSub.IsInit() )
- sResult += m_oSub->toXML();
-
- if ( m_oSup.IsInit() )
- sResult += m_oSup->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sPre;
- }
//Childs
nullable m_oElement;
nullable m_oSPrePr;
@@ -3329,7 +1140,6 @@ namespace OOX
nullable m_oSup;
};
-
//--------------------------------------------------------------------------------
// CSSubPr 22.1.2.102 (Subscript Properties)
//--------------------------------------------------------------------------------
@@ -3337,61 +1147,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSubPr)
- CSSubPr()
- {
- }
- virtual ~CSSubPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSubPr();
+ virtual ~CSSubPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sSubPr;
- }
//Childs
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CSSub 22.1.2.101 (Subscript Object)
//--------------------------------------------------------------------------------
@@ -3399,73 +1167,15 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSub)
- CSSub()
- {
- }
- virtual ~CSSub()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSub();
+ virtual ~CSSub();
- if ( _T("m:sSubPr") == sName )
- m_oSSubPr = new OOX::Logic::CSSubPr( oItem );
- else if ( _T("m:sub") == sName )
- m_oSub = new OOX::Logic::CSub( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:sSubPr") == sName )
- m_oSSubPr = oReader;
- else if ( _T("m:sub") == sName )
- m_oSub = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if (m_oSSubPr.IsInit())
- sResult += m_oSSubPr->toXML();
-
- if (m_oElement.IsInit())
- sResult += m_oElement->toXML();
-
- if (m_oSub.IsInit())
- sResult += m_oSub->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sSub;
- }
//Childs
nullable m_oElement;
nullable m_oSSubPr;
@@ -3479,68 +1189,20 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSubSupPr)
- CSSubSupPr()
- {
- }
- virtual ~CSSubSupPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSubSupPr();
+ virtual ~CSSubSupPr();
- if ( _T("m:alnScr") == sName )
- m_oAlnScr = new OOX::Logic::CAlnScr( oItem );
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:alnScr") == sName )
- m_oAlnScr = oReader;
- else if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if (m_oAlnScr.IsInit())
- sResult += m_oAlnScr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
-
- sResult += _T("");
- return sResult;
- }
- virtual EElementType getType() const
- {
- return et_m_sSubSupPr;
- }
//Childs
nullable m_oAlnScr;
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CSSubSup 22.1.2.103 (Sub-Superscript Object)
//--------------------------------------------------------------------------------
@@ -3548,86 +1210,22 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSubSup)
- CSSubSup()
- {
- }
- virtual ~CSSubSup()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSubSup();
+ virtual ~CSSubSup();
- if ( _T("m:sSubSupPr") == sName )
- m_oSSubSupPr = new OOX::Logic::CSSubSupPr( oItem );
- else if ( _T("m:sup") == sName )
- m_oSup = new OOX::Logic::CSup( oItem );
- else if ( _T("m:sub") == sName )
- m_oSub = new OOX::Logic::CSub( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:sSubSupPr") == sName )
- m_oSSubSupPr = oReader;
- else if ( _T("m:sub") == sName )
- m_oSub = oReader;
- else if ( _T("m:sup") == sName )
- m_oSup = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if (m_oSSubSupPr.IsInit())
- sResult += m_oSSubSupPr->toXML();
-
- if (m_oElement.IsInit())
- sResult += m_oElement->toXML();
-
- if (m_oSub.IsInit())
- sResult += m_oSub->toXML();
-
- if (m_oSup.IsInit())
- sResult += m_oSup->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sSubSup;
- }
//Childs
nullable m_oElement;
nullable m_oSSubSupPr;
nullable m_oSub;
nullable m_oSup;
};
+
//--------------------------------------------------------------------------------
// CSSupPr 22.1.2.106 (Superscript Properties)
//--------------------------------------------------------------------------------
@@ -3635,61 +1233,19 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSupPr)
- CSSupPr()
- {
- }
- virtual ~CSSupPr()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSupPr();
+ virtual ~CSSupPr();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = new OOX::Logic::CCtrlPr( oItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:ctrlPr") == sName )
- m_oCtrlPr = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if (m_oCtrlPr.IsInit())
- sResult += m_oCtrlPr->toXML();
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sSupPr;
- }
//Childs
nullable m_oCtrlPr;
};
+
//--------------------------------------------------------------------------------
// CSSup 22.1.2.105 (Superscript Object)
//--------------------------------------------------------------------------------
@@ -3697,78 +1253,21 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(CSSup)
- CSSup()
- {
- }
- virtual ~CSSup()
- {
- }
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ CSSup();
+ virtual ~CSSup();
- if ( _T("m:sSupPr") == sName )
- m_oSSupPr = new OOX::Logic::CSSupPr( oItem );
- else if ( _T("m:sup") == sName )
- m_oSup = new OOX::Logic::CSup( oItem );
- else if ( _T("m:e") == sName )
- m_oElement = new OOX::Logic::CElement( oItem );
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
- int nParentDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nParentDepth ) )
- {
- std::wstring sName = oReader.GetName();
- if ( _T("m:e") == sName )
- m_oElement = oReader;
- else if ( _T("m:sSupPr") == sName )
- m_oSSupPr = oReader;
- else if ( _T("m:sup") == sName )
- m_oSup = oReader;
- }
- }
- virtual std::wstring toXML() const
- {
- std::wstring sResult = _T("");
+ virtual std::wstring toXML() const;
+ virtual EElementType getType() const;
- if (m_oSSupPr.IsInit())
- sResult += m_oSSupPr->toXML();
-
- if (m_oElement.IsInit())
- sResult += m_oElement->toXML();
-
- if (m_oSup.IsInit())
- sResult += m_oSup->toXML();
-
- sResult += _T("");
- return sResult;
- }
-
- virtual EElementType getType() const
- {
- return et_m_sSup;
- }
//Childs
nullable m_oElement;
nullable m_oSSupPr;
nullable m_oSup;
};
+
} // namespace OMath
} // namespace OOX
diff --git a/OOXML/DocxFormat/Math/oMathPara.cpp b/OOXML/DocxFormat/Math/oMathPara.cpp
index 77f74b0889..cab6ddfeb3 100644
--- a/OOXML/DocxFormat/Math/oMathPara.cpp
+++ b/OOXML/DocxFormat/Math/oMathPara.cpp
@@ -34,6 +34,9 @@ namespace OOX
{
namespace Logic
{
+ COMathPara::COMathPara(OOX::Document *pMain) : WritingElementWithChilds(pMain)
+ {
+ }
COMathPara::~COMathPara()
{
}
@@ -53,5 +56,58 @@ namespace OOX
return sResult;
}
+ void COMathPara::fromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlUtils::CXmlNodes oChilds;
+ if ( oNode.GetNodes( _T("*"), oChilds ) )
+ {
+ XmlUtils::CXmlNode oItem;
+ for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
+ {
+ if ( oChilds.GetAt( nIndex, oItem ) )
+ {
+ std::wstring sName = oItem.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("w:r") == sName )
+ pItem = new CRun( oItem );
+ else if ( _T("m:oMath") == sName )
+ pItem = new COMath( oItem );
+ else if ( _T("m:oMathParaPr") == sName )
+ pItem = new COMathParaPr( oItem );
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+ }
+ }
+ }
+ }
+ void COMathPara::fromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ if ( oReader.IsEmptyNode() )
+ return;
+
+ int nCurDepth = oReader.GetDepth();
+ while( oReader.ReadNextSiblingNode( nCurDepth ) )
+ {
+ std::wstring sName = oReader.GetName();
+ WritingElement *pItem = NULL;
+
+ if ( _T("m:oMath") == sName )
+ pItem = new COMath( oReader );
+ else if ( _T("m:oMathParaPr") == sName )
+ pItem = new COMathParaPr( oReader );
+ else if ( _T("w:r") == sName )
+ pItem = new CRun( oReader );
+
+ if ( pItem )
+ m_arrItems.push_back( pItem );
+
+ }
+ }
+ EElementType COMathPara::getType() const
+ {
+ return et_m_oMathPara;
+ }
}//namespace Logic
}//namespace OOX
diff --git a/OOXML/DocxFormat/Math/oMathPara.h b/OOXML/DocxFormat/Math/oMathPara.h
index 7c2c12165a..63df629008 100644
--- a/OOXML/DocxFormat/Math/oMathPara.h
+++ b/OOXML/DocxFormat/Math/oMathPara.h
@@ -46,67 +46,16 @@ namespace OOX
{
public:
WritingElement_AdditionConstructors(COMathPara)
- COMathPara(OOX::Document *pMain = NULL) : WritingElementWithChilds(pMain)
- {
- }
+
+ COMathPara(OOX::Document *pMain = NULL);
virtual ~COMathPara();
- virtual void fromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlUtils::CXmlNodes oChilds;
- if ( oNode.GetNodes( _T("*"), oChilds ) )
- {
- XmlUtils::CXmlNode oItem;
- for ( int nIndex = 0; nIndex < oChilds.GetCount(); nIndex++ )
- {
- if ( oChilds.GetAt( nIndex, oItem ) )
- {
- std::wstring sName = oItem.GetName();
- WritingElement *pItem = NULL;
+ virtual void fromXML(XmlUtils::CXmlNode& oNode);
+ virtual void fromXML(XmlUtils::CXmlLiteReader& oReader);
- if ( _T("w:r") == sName )
- pItem = new CRun( oItem );
- else if ( _T("m:oMath") == sName )
- pItem = new COMath( oItem );
- else if ( _T("m:oMathParaPr") == sName )
- pItem = new COMathParaPr( oItem );
-
- if ( pItem )
- m_arrItems.push_back( pItem );
- }
- }
- }
- }
- virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- if ( oReader.IsEmptyNode() )
- return;
-
- int nCurDepth = oReader.GetDepth();
- while( oReader.ReadNextSiblingNode( nCurDepth ) )
- {
- std::wstring sName = oReader.GetName();
- WritingElement *pItem = NULL;
-
- if ( _T("m:oMath") == sName )
- pItem = new COMath( oReader );
- else if ( _T("m:oMathParaPr") == sName )
- pItem = new COMathParaPr( oReader );
- else if ( _T("w:r") == sName )
- pItem = new CRun( oReader );
-
- if ( pItem )
- m_arrItems.push_back( pItem );
-
- }
- }
virtual std::wstring toXML() const;
-
-
- virtual EElementType getType() const
- {
- return et_m_oMathPara;
- }
+ virtual EElementType getType() const;
};
+
}//namespace Logic
-}//namespace OOX
\ No newline at end of file
+}//namespace OOX
diff --git a/OOXML/DocxFormat/Media/Audio.cpp b/OOXML/DocxFormat/Media/Audio.cpp
new file mode 100644
index 0000000000..f9dc305789
--- /dev/null
+++ b/OOXML/DocxFormat/Media/Audio.cpp
@@ -0,0 +1,60 @@
+/*
+ * (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
+ *
+ */
+
+#include "Audio.h"
+
+namespace OOX
+{
+ Audio::Audio(OOX::Document* pMain, bool bDocument) : Media (pMain, bDocument)
+ {
+ }
+ Audio::Audio(OOX::Document* pMain, const CPath& filename, bool bExternal) : Media(pMain, filename, bExternal)
+ {
+ }
+ Audio::~Audio()
+ {
+ }
+ const FileType Audio::type() const
+ {
+ return FileTypes::Audio;
+ }
+ const CPath Audio::DefaultDirectory() const
+ {
+ if (m_bDocument) return type().DefaultDirectory();
+ else return L"../" + type().DefaultDirectory();
+ }
+ const CPath Audio::DefaultFileName() const
+ {
+ return m_filename.GetFilename();
+ }
+
+} // namespace OOX
diff --git a/OOXML/DocxFormat/Media/Audio.h b/OOXML/DocxFormat/Media/Audio.h
index 7ab3cabd03..6bc7a5381a 100644
--- a/OOXML/DocxFormat/Media/Audio.h
+++ b/OOXML/DocxFormat/Media/Audio.h
@@ -40,29 +40,15 @@ namespace OOX
class Audio : public Media
{
public:
- Audio(OOX::Document* pMain, bool bDocument = true) : Media (pMain, bDocument)
- {
- }
- Audio(OOX::Document* pMain, const CPath& filename, bool bExternal = false) : Media(pMain, filename, bExternal)
- {
- }
- virtual ~Audio()
- {
- }
- virtual const FileType type() const
- {
- return FileTypes::Audio;
- }
- virtual const CPath DefaultDirectory() const
- {
- if (m_bDocument) return type().DefaultDirectory();
- else return L"../" + type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return m_filename.GetFilename();
- }
+ Audio(OOX::Document* pMain, bool bDocument = true);
+ Audio(OOX::Document* pMain, const CPath& filename, bool bExternal = false);
+ virtual ~Audio();
+
+ virtual const FileType type() const;
+
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
};
} // namespace OOX
-#endif // OOX_AUDIO_INCLUDE_H_
\ No newline at end of file
+#endif // OOX_AUDIO_INCLUDE_H_
diff --git a/OOXML/DocxFormat/Media/Image.cpp b/OOXML/DocxFormat/Media/Image.cpp
new file mode 100644
index 0000000000..78f15341b5
--- /dev/null
+++ b/OOXML/DocxFormat/Media/Image.cpp
@@ -0,0 +1,59 @@
+/*
+ * (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
+ *
+ */
+
+#include "Image.h"
+
+namespace OOX
+{
+ Image::Image(OOX::Document* pMain, bool bDocument) : Media (pMain, bDocument)
+ {
+ }
+ Image::Image(OOX::Document* pMain, const CPath& filename, bool bExternal) : Media(pMain, filename, bExternal)
+ {
+ }
+ Image::~Image()
+ {
+ }
+ const FileType Image::type() const
+ {
+ return FileTypes::Image;
+ }
+ const CPath Image::DefaultDirectory() const
+ {
+ if (m_bDocument) return type().DefaultDirectory();
+ else return L"../" + type().DefaultDirectory();
+ }
+ const CPath Image::DefaultFileName() const
+ {
+ return m_filename.GetFilename();
+ }
+} // namespace OOX
diff --git a/OOXML/DocxFormat/Media/Image.h b/OOXML/DocxFormat/Media/Image.h
index 4e2f976d49..899ce6d87d 100644
--- a/OOXML/DocxFormat/Media/Image.h
+++ b/OOXML/DocxFormat/Media/Image.h
@@ -30,6 +30,7 @@
*
*/
#pragma once
+
#include "Media.h"
namespace OOX
@@ -37,27 +38,13 @@ namespace OOX
class Image : public Media
{
public:
- Image(OOX::Document* pMain, bool bDocument = true) : Media (pMain, bDocument)
- {
- }
- Image(OOX::Document* pMain, const CPath& filename, bool bExternal = false) : Media(pMain, filename, bExternal)
- {
- }
- virtual ~Image()
- {
- }
- virtual const FileType type() const
- {
- return FileTypes::Image;
- }
- virtual const CPath DefaultDirectory() const
- {
- if (m_bDocument) return type().DefaultDirectory();
- else return L"../" + type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return m_filename.GetFilename();
- }
+ Image(OOX::Document* pMain, bool bDocument = true);
+ Image(OOX::Document* pMain, const CPath& filename, bool bExternal = false);
+ virtual ~Image();
+
+ virtual const FileType type() const;
+
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
};
} // namespace OOX
diff --git a/OOXML/DocxFormat/Media/JsaProject.cpp b/OOXML/DocxFormat/Media/JsaProject.cpp
index 36d42f51fe..fdb5c524d8 100644
--- a/OOXML/DocxFormat/Media/JsaProject.cpp
+++ b/OOXML/DocxFormat/Media/JsaProject.cpp
@@ -78,6 +78,22 @@ namespace OOX
read(filename);
}
+ JsaProject::~JsaProject()
+ {
+ }
+ const FileType JsaProject::type() const
+ {
+ return FileTypes::JsaProject;
+ }
+ const CPath JsaProject::DefaultDirectory() const
+ {
+ return type().DefaultDirectory();
+ }
+ const CPath JsaProject::DefaultFileName() const
+ {
+ return type().DefaultFileName();
+ }
+
void JsaProject::toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
BYTE* pData = NULL;
diff --git a/OOXML/DocxFormat/Media/JsaProject.h b/OOXML/DocxFormat/Media/JsaProject.h
index 963a5cbfe6..3efe84d97c 100644
--- a/OOXML/DocxFormat/Media/JsaProject.h
+++ b/OOXML/DocxFormat/Media/JsaProject.h
@@ -44,21 +44,13 @@ namespace OOX
public:
JsaProject( OOX::Document *pMain );
JsaProject(OOX::Document *pMain, const CPath& filename);
- virtual ~JsaProject()
- {
- }
- virtual const FileType type() const
- {
- return FileTypes::JsaProject;
- }
- virtual const CPath DefaultDirectory() const
- {
- return type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return type().DefaultFileName();
- }
+ virtual ~JsaProject();
+
+ virtual const FileType type() const;
+
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
+
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const;
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader);
};
diff --git a/OOXML/DocxFormat/Media/Media.cpp b/OOXML/DocxFormat/Media/Media.cpp
index 7a13dae82d..27215e4c53 100644
--- a/OOXML/DocxFormat/Media/Media.cpp
+++ b/OOXML/DocxFormat/Media/Media.cpp
@@ -49,6 +49,34 @@ namespace OOX
read(filename);
}
+ Media::~Media()
+ {
+ }
+ const FileType Media::type() const
+ {
+ return FileTypes::Media;
+ }
+ bool Media::IsExist()
+ {
+ return m_bExist;
+ }
+ bool Media::IsExternal()
+ {
+ return m_bExternal;
+ }
+ CPath Media::filename()
+ {
+ return m_filename;
+ }
+ const CPath Media::DefaultDirectory() const
+ {
+ if (m_bDocument) return type().DefaultDirectory();
+ else return L"../" + type().DefaultDirectory();
+ }
+ const CPath Media::DefaultFileName() const
+ {
+ return m_filename.GetFilename();
+ }
void Media::read(const CPath& filename)
{
m_filename = filename;
diff --git a/OOXML/DocxFormat/Media/Media.h b/OOXML/DocxFormat/Media/Media.h
index c5186ac3cb..3b1a730890 100644
--- a/OOXML/DocxFormat/Media/Media.h
+++ b/OOXML/DocxFormat/Media/Media.h
@@ -43,42 +43,26 @@ namespace OOX
public:
Media(OOX::Document *pMain, bool bDocument = true);
Media(OOX::Document *pMain, const CPath& filename, bool bExternal = false);
- virtual ~Media()
- {
- }
- virtual const FileType type() const
- {
- return FileTypes::Media;
- }
+ virtual ~Media();
+
+ virtual const FileType type() const;
+
virtual void read(const CPath& filename);
virtual void write(const CPath& filename, const CPath& directory, CContentTypes& content) const;
void set_filename(const std::wstring & file_path, bool bExternal);
void set_filename(CPath & file_path, bool bExternal, bool bDefault = false);
- bool IsExist()
- {
- return m_bExist;
- }
- bool IsExternal()
- {
- return m_bExternal;
- }
- CPath filename()
- {
- return m_filename;
- }
+ bool IsExist();
+ bool IsExternal();
+ CPath filename();
+
virtual void copy_to(const CPath& path) const;
- virtual const CPath DefaultDirectory() const
- {
- if (m_bDocument) return type().DefaultDirectory();
- else return L"../" + type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return m_filename.GetFilename();
- }
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
+
std::vector m_Data;
+
protected:
CPath m_filename;
bool m_bExist;
diff --git a/OOXML/DocxFormat/Media/OleObject.cpp b/OOXML/DocxFormat/Media/OleObject.cpp
new file mode 100644
index 0000000000..271b2bd757
--- /dev/null
+++ b/OOXML/DocxFormat/Media/OleObject.cpp
@@ -0,0 +1,81 @@
+/*
+ * (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
+ *
+ */
+
+#include "OleObject.h"
+
+namespace OOX
+{
+ OleObject::OleObject(OOX::Document *pMain, bool bMsPackage, bool bDocument) : Media (pMain, bDocument)
+ {
+ m_bMsPackage = bMsPackage;
+ }
+ OleObject::OleObject(OOX::Document *pMain, const OOX::CPath& filename, bool bMsPackage) : Media (pMain)
+ {
+ m_bMsPackage = bMsPackage;
+ read(filename);
+ }
+ const FileType OleObject::type() const
+ {
+ if (m_bMsPackage) return OOX::FileTypes::MicrosoftOfficeUnknown;
+ else return OOX::FileTypes::OleObject;
+ }
+ const CPath OleObject::DefaultDirectory() const
+ {
+ if (m_bDocument) return type().DefaultDirectory();
+ else return L"../" + type().DefaultDirectory();
+ }
+ const CPath OleObject::DefaultFileName() const
+ {
+ return m_filename.GetFilename();
+ }
+ void OleObject::set_filename_cache(const std::wstring & file_path)
+ {
+ m_filenameCache = file_path;
+ }
+ void OleObject::set_filename_cache(CPath & file_path)
+ {
+ m_filenameCache = file_path;
+ }
+ void OleObject::set_MsPackage(bool val)
+ {
+ m_bMsPackage = val;
+ }
+ CPath OleObject::filename_cache()
+ {
+ return m_filenameCache;
+ }
+ bool OleObject::isMsPackage()
+ {
+ return m_bMsPackage;
+ }
+
+} // namespace OOX
diff --git a/OOXML/DocxFormat/Media/OleObject.h b/OOXML/DocxFormat/Media/OleObject.h
index 08637fd64d..dbdfa29559 100644
--- a/OOXML/DocxFormat/Media/OleObject.h
+++ b/OOXML/DocxFormat/Media/OleObject.h
@@ -41,46 +41,21 @@ namespace OOX
class OleObject : public Media
{
public:
- OleObject(OOX::Document *pMain, bool bMsPackage = false, bool bDocument = true) : Media (pMain, bDocument)
- {
- m_bMsPackage = bMsPackage;
- }
- OleObject(OOX::Document *pMain, const OOX::CPath& filename, bool bMsPackage = false) : Media (pMain)
- {
- m_bMsPackage = bMsPackage;
- read(filename);
- }
- virtual const FileType type() const
- {
- if (m_bMsPackage) return OOX::FileTypes::MicrosoftOfficeUnknown;
- else return OOX::FileTypes::OleObject;
- }
- virtual const CPath DefaultDirectory() const
- {
- if (m_bDocument) return type().DefaultDirectory();
- else return L"../" + type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return m_filename.GetFilename();
- }
- void set_filename_cache(const std::wstring & file_path)
- {
- m_filenameCache = file_path;
- }
- void set_filename_cache(CPath & file_path)
- {
- m_filenameCache = file_path;
- }
- void set_MsPackage(bool val)
- {
- m_bMsPackage = val;
- }
- CPath filename_cache()
- {
- return m_filenameCache;
- }
- bool isMsPackage() {return m_bMsPackage;}
+ OleObject(OOX::Document *pMain, bool bMsPackage = false, bool bDocument = true);
+ OleObject(OOX::Document *pMain, const OOX::CPath& filename, bool bMsPackage = false);
+
+ virtual const FileType type() const;
+
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
+
+ void set_filename_cache(const std::wstring & file_path);
+ void set_filename_cache(CPath & file_path);
+ void set_MsPackage(bool val);
+
+ CPath filename_cache();
+ bool isMsPackage();
+
protected:
CPath m_filenameCache; //image
bool m_bMsPackage;
diff --git a/OOXML/DocxFormat/Media/Video.cpp b/OOXML/DocxFormat/Media/Video.cpp
new file mode 100644
index 0000000000..fe03e1fda4
--- /dev/null
+++ b/OOXML/DocxFormat/Media/Video.cpp
@@ -0,0 +1,59 @@
+/*
+ * (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
+ *
+ */
+
+#include "Video.h"
+
+namespace OOX
+{
+ Video::Video(OOX::Document* pMain, bool bDocument) : Media (pMain, bDocument)
+ {
+ }
+ Video::Video(OOX::Document* pMain, const CPath& filename, bool bExternal) : Media(pMain, filename, bExternal)
+ {
+ }
+ Video::~Video()
+ {
+ }
+ const FileType Video::type() const
+ {
+ return FileTypes::Video;
+ }
+ const CPath Video::DefaultDirectory() const
+ {
+ if (m_bDocument) return type().DefaultDirectory();
+ else return L"../" + type().DefaultDirectory();
+ }
+ const CPath Video::DefaultFileName() const
+ {
+ return m_filename.GetFilename();
+ }
+} // namespace OOX
diff --git a/OOXML/DocxFormat/Media/Video.h b/OOXML/DocxFormat/Media/Video.h
index cf23759e34..453590a222 100644
--- a/OOXML/DocxFormat/Media/Video.h
+++ b/OOXML/DocxFormat/Media/Video.h
@@ -41,29 +41,15 @@ namespace OOX
class Video : public Media
{
public:
- Video(OOX::Document* pMain, bool bDocument = true) : Media (pMain, bDocument)
- {
- }
- Video(OOX::Document* pMain, const CPath& filename, bool bExternal = false) : Media(pMain, filename, bExternal)
- {
- }
- virtual ~Video()
- {
- }
- virtual const FileType type() const
- {
- return FileTypes::Video;
- }
- virtual const CPath DefaultDirectory() const
- {
- if (m_bDocument) return type().DefaultDirectory();
- else return L"../" + type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return m_filename.GetFilename();
- }
+ Video(OOX::Document* pMain, bool bDocument = true);
+ Video(OOX::Document* pMain, const CPath& filename, bool bExternal = false);
+ virtual ~Video();
+
+ virtual const FileType type() const;
+
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
};
} // namespace OOX
-#endif // OOX_VIDEO_INCLUDE_H_
\ No newline at end of file
+#endif // OOX_VIDEO_INCLUDE_H_
diff --git a/OOXML/DocxFormat/Settings/Settings.h b/OOXML/DocxFormat/Settings/Settings.h
index 44d158e21a..2092d7f5c4 100644
--- a/OOXML/DocxFormat/Settings/Settings.h
+++ b/OOXML/DocxFormat/Settings/Settings.h
@@ -63,6 +63,7 @@ namespace OOX
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
+
public:
nullable_string m_sAppName;
nullable_bool m_oCheckSyle;
@@ -71,6 +72,7 @@ namespace OOX
nullable_bool m_oNlCheck;
nullable_string m_sVendorID;
};
+
//--------------------------------------------------------------------------------
// CAutoCaption 17.15.1.7 (Part 1)
//--------------------------------------------------------------------------------
diff --git a/OOXML/DocxFormat/Settings/WebSettings.cpp b/OOXML/DocxFormat/Settings/WebSettings.cpp
new file mode 100644
index 0000000000..a703aa1ca4
--- /dev/null
+++ b/OOXML/DocxFormat/Settings/WebSettings.cpp
@@ -0,0 +1,154 @@
+/*
+ * (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
+ *
+ */
+
+#include "WebSettings.h"
+
+namespace ComplexTypes
+{
+ namespace Word
+ {
+ //--------------------------------------------------------------------------------
+ // OptimizeForBrowser 17.15.2.34 (Part 1)
+ //--------------------------------------------------------------------------------
+
+ COptimizeForBrowser::COptimizeForBrowser()
+ {
+ }
+ COptimizeForBrowser::~COptimizeForBrowser()
+ {
+ }
+ void COptimizeForBrowser::FromXML(XmlUtils::CXmlNode& oNode)
+ {
+ XmlMacroReadAttributeBase( oNode, _T("w:val"), m_oVal );
+ XmlMacroReadAttributeBase( oNode, _T("w:target"), m_oTarget );
+ }
+ void COptimizeForBrowser::FromXML(XmlUtils::CXmlLiteReader& oReader)
+ {
+ // Читаем атрибуты
+ WritingElement_ReadAttributes_Start( oReader )
+ WritingElement_ReadAttributes_Read_if ( oReader, _T("w:val"), m_oVal )
+ WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:target"), m_oTarget )
+ WritingElement_ReadAttributes_End( oReader )
+ }
+ std::wstring COptimizeForBrowser::ToString() const
+ {
+ std::wstring sResult;
+
+ ComplexTypes_WriteAttribute( _T("w:val=\""), m_oVal );
+ ComplexTypes_WriteAttribute( _T("w:target=\""), m_oTarget );
+
+ return sResult;
+ }
+
+ } // Word
+} // ComplexTypes
+
+namespace OOX
+{
+ // TO DO: Доделать данный класс
+
+ //--------------------------------------------------------------------------------
+ // CWebSettings 17.11.15
+ //--------------------------------------------------------------------------------
+
+ CWebSettings::CWebSettings(OOX::Document *pMain) : OOX::File(pMain)
+ {
+ }
+ CWebSettings::CWebSettings(OOX::Document *pMain, const CPath& oPath) : OOX::File(pMain)
+ {
+ read( oPath );
+ }
+ CWebSettings::~CWebSettings()
+ {
+ }
+ void CWebSettings::read(const CPath& oFilePath)
+ {
+ XmlUtils::CXmlLiteReader oReader;
+
+ if ( !oReader.FromFile( oFilePath.GetPath() ) )
+ return;
+
+ if ( !oReader.ReadNextNode() )
+ return;
+
+ std::wstring sName = oReader.GetName();
+ if ( _T("w:webSettings") == sName && !oReader.IsEmptyNode() )
+ {
+ int nStylesDepth = oReader.GetDepth();
+ while ( oReader.ReadNextSiblingNode( nStylesDepth ) )
+ {
+ sName = oReader.GetName();
+ if ( _T("w:allowPNG") == sName )
+ m_oAllowPNG = oReader;
+ else if ( _T("w:optimizeForBrowser") == sName )
+ m_oOptimizeForBrowser = oReader;
+ }
+ }
+ }
+ void CWebSettings::write(const CPath& oFilePath, const CPath& oDirectory, CContentTypes& oContent) const
+ {
+ std::wstring sXml;
+ sXml = _T("");
+
+ if ( m_oAllowPNG.IsInit() )
+ {
+ sXml += _T("ToString();
+ sXml += _T("/>");
+ }
+
+ if ( m_oOptimizeForBrowser.IsInit() )
+ {
+ sXml += _T("ToString();
+ sXml += _T("/>");
+ }
+
+ sXml += _T("");
+ CDirectory::SaveToFile( oFilePath.GetPath(), sXml );
+
+ oContent.Registration( type().OverrideType(), oDirectory, oFilePath );
+ }
+ const OOX::FileType CWebSettings::type() const
+ {
+ return FileTypes::WebSetting;
+ }
+ const CPath CWebSettings::DefaultDirectory() const
+ {
+ return type().DefaultDirectory();
+ }
+ const CPath CWebSettings::DefaultFileName() const
+ {
+ return type().DefaultFileName();
+ }
+
+} // namespace OOX
diff --git a/OOXML/DocxFormat/Settings/WebSettings.h b/OOXML/DocxFormat/Settings/WebSettings.h
index de178ff48f..4e29d7716c 100644
--- a/OOXML/DocxFormat/Settings/WebSettings.h
+++ b/OOXML/DocxFormat/Settings/WebSettings.h
@@ -44,42 +44,20 @@ namespace ComplexTypes
//--------------------------------------------------------------------------------
// OptimizeForBrowser 17.15.2.34 (Part 1)
//--------------------------------------------------------------------------------
+
class COptimizeForBrowser : public ComplexType
{
public:
ComplexTypes_AdditionConstructors(COptimizeForBrowser)
- COptimizeForBrowser()
- {
- }
- virtual ~COptimizeForBrowser()
- {
- }
+ COptimizeForBrowser();
+ virtual ~COptimizeForBrowser();
- virtual void FromXML(XmlUtils::CXmlNode& oNode)
- {
- XmlMacroReadAttributeBase( oNode, _T("w:val"), m_oVal );
- XmlMacroReadAttributeBase( oNode, _T("w:target"), m_oTarget );
- }
- virtual void FromXML(XmlUtils::CXmlLiteReader& oReader)
- {
- // Читаем атрибуты
- WritingElement_ReadAttributes_Start( oReader )
- WritingElement_ReadAttributes_Read_if ( oReader, _T("w:val"), m_oVal )
- WritingElement_ReadAttributes_Read_else_if( oReader, _T("w:target"), m_oTarget )
- WritingElement_ReadAttributes_End( oReader )
- }
- virtual std::wstring ToString() const
- {
- std::wstring sResult;
+ virtual void FromXML(XmlUtils::CXmlNode& oNode);
+ virtual void FromXML(XmlUtils::CXmlLiteReader& oReader);
- ComplexTypes_WriteAttribute( _T("w:val=\""), m_oVal );
- ComplexTypes_WriteAttribute( _T("w:target=\""), m_oTarget );
-
- return sResult;
- }
+ virtual std::wstring ToString() const;
public:
-
nullable m_oTarget;
nullable m_oVal;
};
@@ -94,90 +72,29 @@ namespace OOX
//--------------------------------------------------------------------------------
// CWebSettings 17.11.15
//--------------------------------------------------------------------------------
+
class CWebSettings : public OOX::File
{
public:
- CWebSettings(OOX::Document *pMain) : OOX::File(pMain)
- {
- }
- CWebSettings(OOX::Document *pMain, const CPath& oPath) : OOX::File(pMain)
- {
- read( oPath );
- }
- virtual ~CWebSettings()
- {
- }
+ CWebSettings(OOX::Document *pMain);
+ CWebSettings(OOX::Document *pMain, const CPath& oPath);
+ virtual ~CWebSettings();
public:
- virtual void read(const CPath& oFilePath)
- {
- XmlUtils::CXmlLiteReader oReader;
-
- if ( !oReader.FromFile( oFilePath.GetPath() ) )
- return;
-
- if ( !oReader.ReadNextNode() )
- return;
-
- std::wstring sName = oReader.GetName();
- if ( _T("w:webSettings") == sName && !oReader.IsEmptyNode() )
- {
- int nStylesDepth = oReader.GetDepth();
- while ( oReader.ReadNextSiblingNode( nStylesDepth ) )
- {
- sName = oReader.GetName();
- if ( _T("w:allowPNG") == sName )
- m_oAllowPNG = oReader;
- else if ( _T("w:optimizeForBrowser") == sName )
- m_oOptimizeForBrowser = oReader;
- }
- }
- }
- virtual void write(const CPath& oFilePath, const CPath& oDirectory, CContentTypes& oContent) const
- {
- std::wstring sXml;
- sXml = _T("");
-
- if ( m_oAllowPNG.IsInit() )
- {
- sXml += _T("ToString();
- sXml += _T("/>");
- }
-
- if ( m_oOptimizeForBrowser.IsInit() )
- {
- sXml += _T("ToString();
- sXml += _T("/>");
- }
-
- sXml += _T("");
- CDirectory::SaveToFile( oFilePath.GetPath(), sXml );
-
- oContent.Registration( type().OverrideType(), oDirectory, oFilePath );
- }
+ virtual void read(const CPath& oFilePath);
+ virtual void write(const CPath& oFilePath, const CPath& oDirectory, CContentTypes& oContent) const;
public:
- virtual const OOX::FileType type() const
- {
- return FileTypes::WebSetting;
- }
- virtual const CPath DefaultDirectory() const
- {
- return type().DefaultDirectory();
- }
- virtual const CPath DefaultFileName() const
- {
- return type().DefaultFileName();
- }
+ virtual const OOX::FileType type() const;
+ virtual const CPath DefaultDirectory() const;
+ virtual const CPath DefaultFileName() const;
public:
-
// Childs
nullable m_oAllowPNG;
nullable m_oOptimizeForBrowser;
};
+
} // namespace OOX
#endif // OOX_WEBSETTING_INCLDUE_H_
diff --git a/OOXML/Projects/Linux/DocxFormatLib/DocxFormatLib.pro b/OOXML/Projects/Linux/DocxFormatLib/DocxFormatLib.pro
index 406e02496b..220edf9339 100644
--- a/OOXML/Projects/Linux/DocxFormatLib/DocxFormatLib.pro
+++ b/OOXML/Projects/Linux/DocxFormatLib/DocxFormatLib.pro
@@ -56,6 +56,10 @@ SOURCES += \
../../../DocxFormat/Media/VbaProject.cpp \
../../../DocxFormat/Media/JsaProject.cpp \
../../../DocxFormat/Media/ActiveX.cpp \
+ ../../../DocxFormat/Media/Audio.cpp \
+ ../../../DocxFormat/Media/Video.cpp \
+ ../../../DocxFormat/Media/Image.cpp \
+ ../../../DocxFormat/Media/OleObject.cpp \
../../../DocxFormat/Math/oMath.cpp \
../../../DocxFormat/Math/oMathContent.cpp \
../../../DocxFormat/Math/oMathPara.cpp \
@@ -78,6 +82,7 @@ SOURCES += \
../../../XlsxFormat/Table/Tables.cpp \
../../../XlsxFormat/Controls/Controls.cpp \
../../../DocxFormat/Settings/Settings.cpp \
+ ../../../DocxFormat/Settings/WebSettings.cpp \
../../../DocxFormat/App.cpp \
../../../DocxFormat/Core.cpp \
../../../DocxFormat/FileFactory.cpp \
diff --git a/OOXML/Projects/Linux/DocxFormatLib/docx_format_logic.cpp b/OOXML/Projects/Linux/DocxFormatLib/docx_format_logic.cpp
index 0e256df41f..32069c36c4 100644
--- a/OOXML/Projects/Linux/DocxFormatLib/docx_format_logic.cpp
+++ b/OOXML/Projects/Linux/DocxFormatLib/docx_format_logic.cpp
@@ -61,6 +61,10 @@
#include "../../../DocxFormat/Media/VbaProject.cpp"
#include "../../../DocxFormat/Media/JsaProject.cpp"
#include "../../../DocxFormat/Media/ActiveX.cpp"
+#include "../../../DocxFormat/Media/Audio.cpp"
+#include "../../../DocxFormat/Media/Video.cpp"
+#include "../../../DocxFormat/Media/Image.cpp"
+#include "../../../DocxFormat/Media/OleObject.cpp"
#include "../../../DocxFormat/Docx.cpp"
#include "../../../DocxFormat/DocxFlat.cpp"
#include "../../../DocxFormat/Document.cpp"
@@ -69,6 +73,7 @@
#include "../../../DocxFormat/App.cpp"
#include "../../../DocxFormat/Core.cpp"
#include "../../../DocxFormat/Settings/Settings.cpp"
+#include "../../../DocxFormat/Settings/WebSettings.cpp"
#include "../../../DocxFormat/FileFactory.cpp"
#include "../../../DocxFormat/FileTypes.cpp"
#include "../../../DocxFormat/IFileContainer.cpp"