From ececaee42bf67f53ff993380cfcd682b95aa2ffb Mon Sep 17 00:00:00 2001 From: ElenaSubbotina Date: Thu, 5 Nov 2020 15:12:58 +0300 Subject: [PATCH] ooxml strict ole --- .../ASCOfficeDrawingConverter.cpp | 151 +-- ASCOfficePPTXFile/ASCOfficeDrawingConverter.h | 1 + ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp | 4 + .../source/Reader/OOXShapeReader.cpp | 2 +- .../DocxFormat/Source/DocxFormat/Logic/Pict.h | 14 +- .../DocxFormat/Logic/VmlOfficeDrawing.h | 928 ++++++++---------- 6 files changed, 520 insertions(+), 580 deletions(-) diff --git a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp index 418a32a4fd..96cde6be28 100644 --- a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp +++ b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp @@ -1122,69 +1122,7 @@ PPTX::Logic::SpTreeElem CDrawingConverter::ObjectFromXml(const std::wstring& sXm { if (strName == L"drawing") { - XmlUtils::CXmlNode oNodeAnchorInline = oParseNode.ReadNodeNoNS(L"anchor"); - if (!oNodeAnchorInline.IsValid()) - { - oNodeAnchorInline = oParseNode.ReadNodeNoNS(L"inline"); - } - - if (oNodeAnchorInline.IsValid()) - { - XmlUtils::CXmlNode oNodeExt; - - m_pBinaryWriter->m_lXCurShape = 0; - m_pBinaryWriter->m_lYCurShape = 0; - - if (oNodeAnchorInline.GetNode(L"wp:extent", oNodeExt)) - { - m_pBinaryWriter->m_lCxCurShape = oNodeExt.ReadAttributeInt(L"cx"); - m_pBinaryWriter->m_lCyCurShape = oNodeExt.ReadAttributeInt(L"cy"); - } - XmlUtils::CXmlNode oNodeDocPr; - if (oNodeAnchorInline.GetNode(L"wp:docPr", oNodeDocPr)) - {//vml shapes without id .. reset all id - oNodeDocPr.SetAttributeInt(L"id", m_lNextId++); - - } - SendMainProps(oNodeAnchorInline.GetXml(), ppMainProps); - - XmlUtils::CXmlNode oNodeGraphic = oNodeAnchorInline.ReadNodeNoNS(L"graphic"); - XmlUtils::CXmlNode oNodeGraphicData = oNodeGraphic.ReadNodeNoNS(L"graphicData"); - - if (oNodeGraphicData.IsValid()) - { - XmlUtils::CXmlNodes oChilds; - oNodeGraphicData.GetNodes(L"*", oChilds); - - if (1 == oChilds.GetCount()) - { - XmlUtils::CXmlNode oNodeContent; - oChilds.GetAt(0, oNodeContent); - - if (L"dgm:relIds" == oNodeContent.GetName() && m_pBinaryWriter->m_pCurrentContainer->is_init()) - { - doc_LoadDiagram(&oElem, oNodeContent, ppMainProps, true); - } - else if (L"wpc:wpc" == oNodeContent.GetName()) - { - PPTX::Logic::SpTree* pTree = new PPTX::Logic::SpTree(); - - pTree->grpSpPr.xfrm = new PPTX::Logic::Xfrm(); - pTree->grpSpPr.xfrm->offX = m_pBinaryWriter->m_lXCurShape; - pTree->grpSpPr.xfrm->offY = m_pBinaryWriter->m_lYCurShape; - pTree->grpSpPr.xfrm->extX = m_pBinaryWriter->m_lCxCurShape; - pTree->grpSpPr.xfrm->extY = m_pBinaryWriter->m_lCyCurShape; - - pTree->fromXML(oNodeContent); - oElem.InitElem(pTree); - } - else - { - oElem = oNodeContent; - } - } - } - } + doc_LoadDrawing(&oElem, oParseNode, ppMainProps, true); break; } else if (strName == L"background") @@ -1244,7 +1182,7 @@ PPTX::Logic::SpTreeElem CDrawingConverter::ObjectFromXml(const std::wstring& sXm #endif } } - else if (L"OLEObject" == strNameP) + else if (L"OLEObject" == strNameP || L"objectEmbed" == strNameP) { pOle = new PPTX::Logic::COLEObject(); pOle->fromXML(oNodeP); @@ -1263,6 +1201,10 @@ PPTX::Logic::SpTreeElem CDrawingConverter::ObjectFromXml(const std::wstring& sXm #endif } } + else if (L"drawing" == strNameP) + { + doc_LoadDrawing(pElem, oNodeP, ppMainProps, true); + } else { continue; @@ -1287,8 +1229,8 @@ PPTX::Logic::SpTreeElem CDrawingConverter::ObjectFromXml(const std::wstring& sXm if (!bImageOle) oBlipFillNew.blip = new PPTX::Logic::Blip(); - const PPTX::Logic::BlipFill& oBlipFill = bImageOle ? pShape->spPr.Fill.Fill.as() : - oBlipFillNew; + const PPTX::Logic::BlipFill& oBlipFill = bImageOle ? pShape->spPr.Fill.Fill.as() : oBlipFillNew; + if(oBlipFill.blip.IsInit()) { if (pOle->m_OleObjectFile.IsInit()) @@ -1598,7 +1540,7 @@ bool CDrawingConverter::ParceObject(const std::wstring& strXml, std::wstring** p doc_LoadShape(pElem, oNodeP, pMainProps, true); } } - else if (L"OLEObject" == strNameP) + else if (L"OLEObject" == strNameP || L"objectEmbed" == strNameP) { pOle = new PPTX::Logic::COLEObject(); pOle->fromXML(oNodeP); @@ -1611,6 +1553,14 @@ bool CDrawingConverter::ParceObject(const std::wstring& strXml, std::wstring** p doc_LoadGroup(pElem, oNodeP, pMainProps, true); } } + else if (L"drawing" == strNameP) + { + if (NULL == pElem) + { + pElem = new PPTX::Logic::SpTreeElem; + doc_LoadDrawing(pElem, oNodeP, pMainProps, true); + } + } else { continue; @@ -1785,7 +1735,74 @@ void CDrawingConverter::doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtil } } +void CDrawingConverter::doc_LoadDrawing(PPTX::Logic::SpTreeElem *elem, XmlUtils::CXmlNode& oNodeShape, std::wstring**& pMainProps, bool bIsTop) +{ + if (!elem) return; + XmlUtils::CXmlNode oNodeAnchorInline = oNodeShape.ReadNodeNoNS(L"anchor"); + if (!oNodeAnchorInline.IsValid()) + { + oNodeAnchorInline = oNodeShape.ReadNodeNoNS(L"inline"); + } + + if (oNodeAnchorInline.IsValid()) + { + XmlUtils::CXmlNode oNodeExt; + + m_pBinaryWriter->m_lXCurShape = 0; + m_pBinaryWriter->m_lYCurShape = 0; + + if (oNodeAnchorInline.GetNode(L"wp:extent", oNodeExt)) + { + m_pBinaryWriter->m_lCxCurShape = oNodeExt.ReadAttributeInt(L"cx"); + m_pBinaryWriter->m_lCyCurShape = oNodeExt.ReadAttributeInt(L"cy"); + } + XmlUtils::CXmlNode oNodeDocPr; + if (oNodeAnchorInline.GetNode(L"wp:docPr", oNodeDocPr)) + {//vml shapes without id .. reset all id + oNodeDocPr.SetAttributeInt(L"id", m_lNextId++); + + } + SendMainProps(oNodeAnchorInline.GetXml(), pMainProps); + + XmlUtils::CXmlNode oNodeGraphic = oNodeAnchorInline.ReadNodeNoNS(L"graphic"); + XmlUtils::CXmlNode oNodeGraphicData = oNodeGraphic.ReadNodeNoNS(L"graphicData"); + + if (oNodeGraphicData.IsValid()) + { + XmlUtils::CXmlNodes oChilds; + oNodeGraphicData.GetNodes(L"*", oChilds); + + if (1 == oChilds.GetCount()) + { + XmlUtils::CXmlNode oNodeContent; + oChilds.GetAt(0, oNodeContent); + + if (L"dgm:relIds" == oNodeContent.GetName() && m_pBinaryWriter->m_pCurrentContainer->is_init()) + { + doc_LoadDiagram(elem, oNodeContent, pMainProps, true); + } + else if (L"wpc:wpc" == oNodeContent.GetName()) + { + PPTX::Logic::SpTree* pTree = new PPTX::Logic::SpTree(); + + pTree->grpSpPr.xfrm = new PPTX::Logic::Xfrm(); + pTree->grpSpPr.xfrm->offX = m_pBinaryWriter->m_lXCurShape; + pTree->grpSpPr.xfrm->offY = m_pBinaryWriter->m_lYCurShape; + pTree->grpSpPr.xfrm->extX = m_pBinaryWriter->m_lCxCurShape; + pTree->grpSpPr.xfrm->extY = m_pBinaryWriter->m_lCyCurShape; + + pTree->fromXML(oNodeContent); + elem->InitElem(pTree); + } + else + { + elem->fromXML(oNodeContent); + } + } + } + } +} void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::CXmlNode& oNodeShape, std::wstring**& pMainProps,bool bIsTop) { if (!elem) return; diff --git a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.h b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.h index 4e9cf9adbf..ad8da7beae 100644 --- a/ASCOfficePPTXFile/ASCOfficeDrawingConverter.h +++ b/ASCOfficePPTXFile/ASCOfficeDrawingConverter.h @@ -278,6 +278,7 @@ namespace NSBinPptxRW void doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtils::CXmlNode& oNode, std::wstring**& pMainProps, bool bIsTop = true); void doc_LoadShape (PPTX::Logic::SpTreeElem *result, XmlUtils::CXmlNode& oNode, std::wstring**& pMainProps, bool bIsTop = true); void doc_LoadGroup (PPTX::Logic::SpTreeElem *result, XmlUtils::CXmlNode& oNode, std::wstring**& pMainProps, bool bIsTop = true); + void doc_LoadDrawing(PPTX::Logic::SpTreeElem *result, XmlUtils::CXmlNode& oNode, std::wstring**& pMainProps, bool bIsTop = true); std::wstring GetVMLShapeXml (CPPTShape* pPPTShape); std::wstring GetVMLShapeXml (PPTX::Logic::SpTreeElem& oElem); diff --git a/ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp b/ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp index 1e89cf79d3..1dc7d287eb 100644 --- a/ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp +++ b/ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp @@ -77,6 +77,10 @@ namespace PPTX XmlMacroReadAttributeBase(node, L"Type", m_oType); XmlMacroReadAttributeBase(node, L"UpdateMode", m_oUpdateMode); + XmlMacroReadAttributeBase(node, L"w:drawAspect", m_oDrawAspect); + XmlMacroReadAttributeBase(node, L"w:progId", m_sProgId); + XmlMacroReadAttributeBase(node, L"w:shapeId", m_sShapeId); + if (false == m_oId.IsInit()) { XmlMacroReadAttributeBase( node, L"relationships:id", m_oId ); diff --git a/ASCOfficeRtfFile/RtfFormatLib/source/Reader/OOXShapeReader.cpp b/ASCOfficeRtfFile/RtfFormatLib/source/Reader/OOXShapeReader.cpp index a6bb97adaa..b3289bb0a5 100644 --- a/ASCOfficeRtfFile/RtfFormatLib/source/Reader/OOXShapeReader.cpp +++ b/ASCOfficeRtfFile/RtfFormatLib/source/Reader/OOXShapeReader.cpp @@ -1516,7 +1516,7 @@ bool OOXShapeReader::ParseVmlObject ( ReaderParameter oParam , RtfShapePtr& pOut pOutput->m_pOleObject = RtfOlePtr(new RtfOle()); if( vmlOLE->m_sProgId.IsInit() ) - pOutput->m_pOleObject->m_sOleClass = vmlOLE->m_sProgId.get2(); + pOutput->m_pOleObject->m_sOleClass = vmlOLE->m_sProgId.get(); if(vmlOLE->m_oType.IsInit()) { diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/Pict.h b/Common/DocxFormat/Source/DocxFormat/Logic/Pict.h index 1e8768a9da..bf88b194e5 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/Pict.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/Pict.h @@ -31,13 +31,9 @@ */ #pragma once -#include "../../Base/Nullable.h" - +#include "../Drawing/Drawing.h" #include "../../Common/SimpleTypes_Word.h" -#include "../WritingElement.h" -#include "../RId.h" - #include "VmlOfficeDrawing.h" #include "Vml.h" @@ -717,8 +713,13 @@ namespace OOX break; } case 'w': - if ( _T("w:control") == sName ) + if (L"w:control" == sName ) m_oControl = oSubReader; + else if (L"w:objectEmbed" == sName) + m_oOleObject = oSubReader; + else if (L"w:drawing" == sName) + m_oDrawing = oSubReader; + break; } @@ -744,6 +745,7 @@ namespace OOX nullable_int m_oDyaOrig; nullable m_oControl; + nullable m_oDrawing; nullable m_oShapeType; nullable m_oOleObject; diff --git a/Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h b/Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h index d4d481d372..cd9e08b3d8 100644 --- a/Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h +++ b/Common/DocxFormat/Source/DocxFormat/Logic/VmlOfficeDrawing.h @@ -74,15 +74,15 @@ namespace OOX m_eType = et_Unknown; std::wstring sName = oReader.GetName(); - if ( _T("o:bottom") == sName ) + if ( L"o:bottom" == sName ) m_eType = et_o_bottom; - else if ( _T("o:column") == sName ) + else if ( L"o:column" == sName ) m_eType = et_o_column; - else if ( _T("o:left") == sName ) + else if ( L"o:left" == sName ) m_eType = et_o_left; - else if ( _T("o:right") == sName ) + else if ( L"o:right" == sName ) m_eType = et_o_right; - else if ( _T("o:top") == sName ) + else if ( L"o:top" == sName ) m_eType = et_o_top; else return; @@ -98,43 +98,43 @@ namespace OOX switch( m_eType ) { - case et_o_bottom: sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -147,35 +147,34 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("althref"), m_sAlthref ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("color2"), m_oColor2 ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dashstyle"), m_oDashStyle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("endarrow"), m_oEndArrow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("endarrowlength"), m_oEndArrowLength ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("endarrowwidth"), m_oEndArrowWidth ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("endcap"), m_oEndCap ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("filltype"), m_oFillType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:forcedash"), m_oForceDash ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:href"), m_sHref ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("imagealignshape"), m_oImageAlignShape ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("imageaspect"), m_oImageAspect ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("imagesize"), m_sImageSize ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("insetpen"), m_oInsetPen ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("joinstyle"), m_oJoinStyle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("linestyle"), m_oLineStyle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("miterlimit"), m_oMiterLimit ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("on"), m_oOn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("opacity"), m_sOpacity ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("src"), m_sSrc ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("startarrow"), m_oStartArrow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("startarrowlength"), m_oStartArrowLength ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("startarrowwidth"), m_oStartArrowWidth ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:title"), m_sTitle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("weight"), m_sWeight ) + WritingElement_ReadAttributes_Read_if ( oReader, L"althref", m_sAlthref ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"color", m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"color2", m_oColor2 ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dashstyle", m_oDashStyle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"endarrow", m_oEndArrow ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"endarrowlength", m_oEndArrowLength ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"endarrowwidth", m_oEndArrowWidth ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"endcap", m_oEndCap ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"filltype", m_oFillType ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:forcedash", m_oForceDash ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:href", m_sHref ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"imagealignshape", m_oImageAlignShape ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"imageaspect", m_oImageAspect ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"imagesize", m_sImageSize ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"insetpen", m_oInsetPen ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"joinstyle", m_oJoinStyle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"linestyle", m_oLineStyle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"miterlimit", m_oMiterLimit ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"on", m_oOn ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"opacity", m_sOpacity ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"src", m_sSrc ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"startarrow", m_oStartArrow ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"startarrowlength", m_oStartArrowLength ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"startarrowwidth", m_oStartArrowWidth ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:title", m_sTitle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"weight", m_sWeight ) WritingElement_ReadAttributes_End( oReader ) } @@ -183,7 +182,6 @@ namespace OOX EElementType m_eType; - // Attributes nullable m_sAlthref; nullable> m_oColor; nullable> m_oColor2; @@ -240,24 +238,24 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -270,28 +268,25 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("accentbar"), m_oAccentbar ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("angle"), m_oAngle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("distance"), m_oDistance ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("drop"), m_oDrop ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dropauto"), m_oDropAuto ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("gap"), m_oGap ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("length"), m_oLength ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lengthspecified"), m_oLengthSpecified ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("minusx"), m_oMinusX ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("minusy"), m_oMinusY ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("on"), m_oOn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("textborder"), m_oTextBorder ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("type"), m_oType ) + WritingElement_ReadAttributes_Read_if ( oReader, L"accentbar", m_oAccentbar ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"angle", m_oAngle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"distance", m_oDistance ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"drop", m_oDrop ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dropauto", m_oDropAuto ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"gap", m_oGap ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"length", m_oLength ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lengthspecified", m_oLengthSpecified ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"minusx", m_oMinusX ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"minusy", m_oMinusY ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"on", m_oOn ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"textborder", m_oTextBorder ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"type", m_oType ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oAccentbar; nullable> m_oAngle; nullable m_oDistance; @@ -333,7 +328,7 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + std::wstring sResult = L""; return sResult; } virtual EElementType getType() const @@ -345,15 +340,12 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("o:v"), m_oV ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"o:v", m_oV ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes SimpleTypes::Vml::CVmlPath m_oV; }; //-------------------------------------------------------------------------------- @@ -369,9 +361,6 @@ namespace OOX virtual ~CColorMenu() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CColorMenu::fromXML(XmlUtils::CXmlNode& oNode) @@ -385,14 +374,14 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"extrusioncolor=\"" + m_oExtrusionColor.ToString() + L"\" "; + sResult += L"fillcolor=\"" + m_oFillColor.ToString() + L"\" "; + sResult += L"shadowcolor=\"" + m_oShadowColor.ToString() + L"\" "; + sResult += L"strokecolor=\"" + m_oStrokeColor.ToString() + L"\"/>"; return sResult; } @@ -406,24 +395,21 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { // Устанавливаем значения по умолчанию - m_oExtrusionColor = _T("#000000"); - m_oFillColor = _T("#0000FF"); - m_oShadowColor = _T("#80800C"); - m_oStrokeColor = _T("#FFFF00"); + m_oExtrusionColor = L"#000000"; + m_oFillColor = L"#0000FF"; + m_oShadowColor = L"#80800C"; + m_oStrokeColor = L"#FFFF00"; - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("extrusioncolor"), m_oExtrusionColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("fillcolor"), m_oFillColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("shadowcolor"), m_oShadowColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("strokecolor"), m_oStrokeColor ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"extrusioncolor", m_oExtrusionColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"fillcolor", m_oFillColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"shadowcolor", m_oShadowColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"strokecolor", m_oStrokeColor ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oExt; SimpleTypes::CColorType m_oExtrusionColor; SimpleTypes::CColorType m_oFillColor; @@ -449,9 +435,6 @@ namespace OOX } m_arrColors.clear(); } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CColorMru::fromXML(XmlUtils::CXmlNode& oNode) @@ -465,20 +448,20 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("ToString() + _T(","); + sResult += m_arrColors[nIndex]->ToString() + L","; } } - sResult += _T("\"/>"); + sResult += L"\"/>"; return sResult; } @@ -496,16 +479,16 @@ namespace OOX // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("colors"), sColors ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"colors", sColors ) WritingElement_ReadAttributes_End( oReader ) - if ( _T("") != sColors ) + if ( L"" != sColors ) { int nStartPos = 0; int nEndPos = -1; std::wstring sColor; - while ( -1 != ( nEndPos =(int)sColors.find( _T(","), nStartPos ) ) ) + while ( -1 != ( nEndPos =(int)sColors.find( L",", nStartPos ) ) ) { sColor = sColors.substr( nStartPos, nEndPos - nStartPos ); SimpleTypes::CColorType* oColor = new SimpleTypes::CColorType(); @@ -529,8 +512,6 @@ namespace OOX } public: - - // Attributes std::vector*> m_arrColors; nullable> m_oExt; }; @@ -560,9 +541,9 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + std::wstring sResult = L""; return sResult; } @@ -575,15 +556,11 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("v:ext"), m_oExt ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"v:ext", m_oExt ) WritingElement_ReadAttributes_End( oReader ) } - public: - - // Attributes nullable> m_oExt; }; //-------------------------------------------------------------------------------- @@ -599,9 +576,6 @@ namespace OOX virtual ~CRelation() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CRelation::fromXML(XmlUtils::CXmlNode& oNode) @@ -615,14 +589,14 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"\"/>"; return sResult; } @@ -637,16 +611,14 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("idcntr"), m_sIdCntr ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("iddest"), m_sIdDest ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("idsrc"), m_sIdSrc ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"idcntr", m_sIdCntr ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"iddest", m_sIdDest ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"idsrc", m_sIdSrc ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oExt; nullable m_sIdCntr; nullable m_sIdDest; @@ -671,9 +643,6 @@ namespace OOX } m_arrRel.clear(); } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CRelationTable::fromXML(XmlUtils::CXmlNode& oNode) @@ -689,7 +658,7 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:rel") == sName ) + if ( L"o:rel" == sName ) { OOX::VmlOffice::CRelation *oRel = new OOX::VmlOffice::CRelation(oReader); if (oRel) m_arrRel.push_back( oRel ); @@ -698,11 +667,11 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"\">"; for ( unsigned int nIndex = 0; nIndex < m_arrRel.size(); nIndex++ ) { @@ -710,7 +679,7 @@ namespace OOX sResult += m_arrRel[nIndex]->toXML(); } - sResult += _T(""); + sResult += L""; return sResult; } @@ -723,18 +692,13 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("v:ext"), m_oExt ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"v:ext", m_oExt ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oExt; - - // Childs std::vector m_arrRel; }; @@ -767,31 +731,31 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:relationtable") == sName ) + if ( L"o:relationtable" == sName ) m_oRelationTable = oReader; } } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"\">"; if ( m_oRelationTable.IsInit() ) sResult += m_oRelationTable->toXML(); - sResult += _T(""); + sResult += L""; return sResult; } @@ -804,24 +768,21 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("autoformat"), m_oAutoFormat ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("autolayout"), m_oAutoLayout ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("constrainbounds"), m_sConstrainbounds ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dgmbasetextscale"), m_oDmgBaseTextScale ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dgmfontsize"), m_oDmgFontSize ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dgmscalex"), m_oDmgScaleX ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dgmscaley"), m_oDmgScaleY ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("dgmstyle"), m_oDmgStyle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("reverse"), m_oReverse ) + WritingElement_ReadAttributes_Read_if ( oReader, L"autoformat", m_oAutoFormat ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"autolayout", m_oAutoLayout ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"constrainbounds", m_sConstrainbounds ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dgmbasetextscale", m_oDmgBaseTextScale ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dgmfontsize", m_oDmgFontSize ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dgmscalex", m_oDmgScaleX ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dgmscaley", m_oDmgScaleY ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"dgmstyle", m_oDmgStyle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"reverse", m_oReverse ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oAutoFormat; nullable> m_oAutoLayout; nullable m_sConstrainbounds; @@ -833,7 +794,6 @@ namespace OOX nullable> m_oExt; nullable> m_oReverse; - // Childs nullable m_oRelationTable; }; @@ -851,9 +811,6 @@ namespace OOX virtual ~CEntry() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CEntry::fromXML(XmlUtils::CXmlNode& oNode) @@ -867,12 +824,12 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"\"/>"; return sResult; } @@ -885,16 +842,13 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("new"), m_oNew ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("old"), m_oOld ) + WritingElement_ReadAttributes_Read_if ( oReader, L"new", m_oNew ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"old", m_oOld ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oNew; nullable> m_oOld; }; @@ -932,11 +886,11 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + std::wstring sResult = L""; - sResult += _T(""); + sResult += L""; return sResult; } @@ -949,15 +903,12 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("contentType"), m_oContentType ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"contentType", m_oContentType ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oContentType; }; //-------------------------------------------------------------------------------- @@ -986,107 +937,107 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("ToString() + _T("\" "); + sResult += L"color=\"" + m_oColor->ToString() + L"\" "; if ( 5 != m_oShininess.GetValue() ) - sResult += _T("shininess=\"") + m_oShininess.ToString() + _T("\" "); + sResult += L"shininess=\"" + m_oShininess.ToString() + L"\" "; if ( 0 != m_oSpecularity.GetValue() ) - sResult += _T("specularity=\"") + m_oSpecularity.ToString() + _T("\" "); + sResult += L"specularity=\"" + m_oSpecularity.ToString() + L"\" "; if ( 1 != m_oDiffusity.GetValue() ) - sResult += _T("diffusity=\"") + m_oDiffusity.ToString() + _T("\" "); + sResult += L"diffusity=\"" + m_oDiffusity.ToString() + L"\" "; if ( SimpleTypes::booleanFalse != m_oMetal.GetValue() ) - sResult += _T("metal=\"") + m_oMetal.ToString() + _T("\" "); + sResult += L"metal=\"" + m_oMetal.ToString() + L"\" "; if ( 1 != m_oEdge.GetValue() ) - sResult += _T("edge=\"") + m_oEdge.ToString() + _T("\" "); + sResult += L"edge=\"" + m_oEdge.ToString() + L"\" "; if ( 30000 != m_oFacet.GetValue() ) - sResult += _T("facet=\"") + m_oFacet.ToString() + _T("\" "); + sResult += L"facet=\"" + m_oFacet.ToString() + L"\" "; if ( SimpleTypes::booleanTrue != m_oLightFace.GetValue() ) - sResult += _T("lightface=\"") + m_oLightFace.ToString() + _T("\" "); + sResult += L"lightface=\"" + m_oLightFace.ToString() + L"\" "; if ( 0.3 != m_oBrightness.GetValue() ) - sResult += _T("brightness=\"") + m_oBrightness.ToString() + _T("\" "); + sResult += L"brightness=\"" + m_oBrightness.ToString() + L"\" "; if ( 50000 != m_oLightPosition.GetX() || 0 != m_oLightPosition.GetY() || 10000 != m_oLightPosition.GetZ() ) - sResult += _T("lightposition=\"") + m_oLightPosition.ToString() + _T("\" "); + sResult += L"lightposition=\"" + m_oLightPosition.ToString() + L"\" "; if ( 0.6 != m_oLightLevel.GetValue() ) - sResult += _T("lightlevel=\"") + m_oLightLevel.ToString() + _T("\" "); + sResult += L"lightlevel=\"" + m_oLightLevel.ToString() + L"\" "; if ( SimpleTypes::booleanTrue != m_oLightHarsh.GetValue() ) - sResult += _T("lightharsh=\"") + m_oLightHarsh.ToString() + _T("\" "); + sResult += L"lightharsh=\"" + m_oLightHarsh.ToString() + L"\" "; if ( 50000 != m_oLightPosition2.GetX() || 0 != m_oLightPosition2.GetY() || 10000 != m_oLightPosition2.GetZ() ) - sResult += _T("lightposition2=\"") + m_oLightPosition2.ToString() + _T("\" "); + sResult += L"lightposition2=\"" + m_oLightPosition2.ToString() + L"\" "; if ( 0.6 != m_oLightLevel2.GetValue() ) - sResult += _T("lightlevel2=\"") + m_oLightLevel2.ToString() + _T("\" "); + sResult += L"lightlevel2=\"" + m_oLightLevel2.ToString() + L"\" "; if ( SimpleTypes::booleanFalse != m_oLightHarsh2.GetValue() ) - sResult += _T("lightharsh2=\"") + m_oLightHarsh2.ToString() + _T("\" "); + sResult += L"lightharsh2=\"" + m_oLightHarsh2.ToString() + L"\" "; - sResult += _T("/>"); + sResult += L"/>"; return sResult; } @@ -1117,47 +1068,44 @@ namespace OOX m_oViewPoint.SetValue( 0, 0, 0 ); m_oViewPointOrigin.SetValue( 0.5, -0.5 ); - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("autorotationcenter"), m_oAutoRotationCenter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("backdepth"), m_oBackDepth ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("brightness"), m_oBrightness ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("color"), m_oColor ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("colormode"), m_oColorMode ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("diffusity"), m_oDiffusity ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("edge"), m_oEdge ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("facet"), m_oFacet ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("foredepth"), m_oForeDepth ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightface"), m_oLightFace ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightharsh"), m_oLightHarsh ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightharsh2"), m_oLightHarsh2 ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightlevel"), m_oLightLevel ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightlevel2"), m_oLightLevel2 ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightposition"), m_oLightPosition ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lightposition2"), m_oLightPosition2 ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("lockrotationcenter"), m_oLockRotationCenter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("metal"), m_oMetal ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("on"), m_oOn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("orientation"), m_oOrientation ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("orientationangle"), m_oOrientationAngle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("plane"), m_oPlane ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("render"), m_oRender ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("rotationangle"), m_oRotationAngle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("rotationcenter"), m_oRotationCenter ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("shininess"), m_oShininess ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("skewamt"), m_oSkewAmt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("skewangle"), m_oSkewAngle ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("specularity"), m_oSpecularity ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("type"), m_oType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("viewpoint"), m_oViewPoint ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("viewpointorigin"), m_oViewPointOrigin ) + WritingElement_ReadAttributes_Read_if ( oReader, L"autorotationcenter", m_oAutoRotationCenter ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"backdepth", m_oBackDepth ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"brightness", m_oBrightness ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"color", m_oColor ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"colormode", m_oColorMode ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"diffusity", m_oDiffusity ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"edge", m_oEdge ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"facet", m_oFacet ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"foredepth", m_oForeDepth ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightface", m_oLightFace ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightharsh", m_oLightHarsh ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightharsh2", m_oLightHarsh2 ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightlevel", m_oLightLevel ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightlevel2", m_oLightLevel2 ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightposition", m_oLightPosition ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lightposition2", m_oLightPosition2 ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"lockrotationcenter", m_oLockRotationCenter ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"metal", m_oMetal ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"on", m_oOn ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"orientation", m_oOrientation ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"orientationangle", m_oOrientationAngle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"plane", m_oPlane ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"render", m_oRender ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"rotationangle", m_oRotationAngle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"rotationcenter", m_oRotationCenter ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"shininess", m_oShininess ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"skewamt", m_oSkewAmt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"skewangle", m_oSkewAngle ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"specularity", m_oSpecularity ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"type", m_oType ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"viewpoint", m_oViewPoint ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"viewpointorigin", m_oViewPointOrigin ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes SimpleTypes::CTrueFalse m_oAutoRotationCenter; SimpleTypes::CPoint m_oBackDepth; SimpleTypes::Vml::CVml_1_65536 m_oBrightness; @@ -1205,9 +1153,6 @@ namespace OOX virtual ~CFieldCodes() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CFieldCodes::fromXML(XmlUtils::CXmlNode& oNode) @@ -1221,7 +1166,7 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("") + m_sText + _T(""); + std::wstring sResult = L"" + m_sText + L""; return sResult; } virtual EElementType getType() const @@ -1229,8 +1174,6 @@ namespace OOX return OOX::et_o_FieldCodes; } - public: - // Text std::wstring m_sText; }; @@ -1260,12 +1203,12 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -1278,16 +1221,13 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("type"), m_oType ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"type", m_oType ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oExt; nullable> m_oType; }; @@ -1304,9 +1244,6 @@ namespace OOX virtual ~CIdMap() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CIdMap::fromXML(XmlUtils::CXmlNode& oNode) @@ -1320,12 +1257,12 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -1340,14 +1277,12 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("data"), m_sData ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"data", m_sData ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable m_sData; nullable> m_oExt; }; @@ -1377,13 +1312,13 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -1396,17 +1331,14 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("annotation"), m_oAnnotation ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("contentType"), m_oContentType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("i"), m_sI ) + WritingElement_ReadAttributes_Read_if ( oReader, L"annotation", m_oAnnotation ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"contentType", m_oContentType ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"i", m_sI ) WritingElement_ReadAttributes_End( oReader ) } public: - - // Attributes nullable> m_oAnnotation; nullable m_oContentType; nullable m_sI; @@ -1424,9 +1356,6 @@ namespace OOX virtual ~CLinkType() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CLinkType::fromXML(XmlUtils::CXmlNode& oNode) @@ -1441,16 +1370,13 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("") + m_oValue.ToString() + _T(""); + std::wstring sResult = L"" + m_oValue.ToString() + L""; return sResult; } virtual EElementType getType() const { return OOX::et_o_LinkType; } - - public: - // Text SimpleTypes::COLELinkType<> m_oValue; }; @@ -1480,44 +1406,44 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -1530,20 +1456,19 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("adjusthandles"), m_oAdjustHandles ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("aspectratio"), m_oAspectRatio ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("cropping"), m_oCropping ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("grouping"), m_oGrouping ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("position"), m_oPosition ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("rotation"), m_oRotation ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("selection"), m_oSelection ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("shapetype"), m_oShapeType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("text"), m_oText ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("ungrouping"), m_oUnGrouping ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("verticies"), m_oVerticies ) + WritingElement_ReadAttributes_Read_if ( oReader, L"adjusthandles", m_oAdjustHandles ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"aspectratio", m_oAspectRatio ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"cropping", m_oCropping ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"grouping", m_oGrouping ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"position", m_oPosition ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"rotation", m_oRotation ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"selection", m_oSelection ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"shapetype", m_oShapeType ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"text", m_oText ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"ungrouping", m_oUnGrouping ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"verticies", m_oVerticies ) WritingElement_ReadAttributes_End( oReader ) } @@ -1576,9 +1501,6 @@ namespace OOX virtual ~CLockedField() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CLockedField::fromXML(XmlUtils::CXmlNode& oNode) @@ -1593,7 +1515,7 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("") + m_oValue.ToString() + _T(""); + std::wstring sResult = L"" + m_oValue.ToString() + L""; return sResult; } virtual EElementType getType() const @@ -1601,9 +1523,6 @@ namespace OOX return OOX::et_o_LockedField; } - public: - - // Text SimpleTypes::CTrueFalse<> m_oValue; }; @@ -1622,16 +1541,16 @@ namespace OOX } virtual void fromXML(XmlUtils::CXmlNode& oNode) { - if ( _T("o:OLEObject") != oNode.GetName() ) + if ( L"o:OLEObject" != oNode.GetName() ) return; - XmlMacroReadAttributeBase( oNode, _T("DrawAspect"), m_oDrawAspect ); - XmlMacroReadAttributeBase( oNode, _T("r:id"), m_oId ); - XmlMacroReadAttributeBase( oNode, _T("ObjectID"), m_sObjectId ); - XmlMacroReadAttributeBase( oNode, _T("ProgID"), m_sProgId ); - XmlMacroReadAttributeBase( oNode, _T("ShapeID"), m_sShapeId ); - XmlMacroReadAttributeBase( oNode, _T("Type"), m_oType ); - XmlMacroReadAttributeBase( oNode, _T("UpdateMode"), m_oUpdateMode ); + XmlMacroReadAttributeBase( oNode, L"DrawAspect", m_oDrawAspect ); + XmlMacroReadAttributeBase( oNode, L"r:id", m_oId ); + XmlMacroReadAttributeBase( oNode, L"ObjectID", m_sObjectId ); + XmlMacroReadAttributeBase( oNode, L"ProgID", m_sProgId ); + XmlMacroReadAttributeBase( oNode, L"ShapeID", m_sShapeId ); + XmlMacroReadAttributeBase( oNode, L"Type", m_oType ); + XmlMacroReadAttributeBase( oNode, L"UpdateMode", m_oUpdateMode ); if (false == m_oId.IsInit()) { @@ -1650,27 +1569,27 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:FieldCodes") == sName ) + if ( L"o:FieldCodes" == sName ) m_oFieldCodes = oReader; - else if ( _T("o:LinkType") == sName ) + else if ( L"o:LinkType" == sName ) m_oLinkType = oReader; - else if ( _T("o:LockedField") == sName ) + else if ( L"o:LockedField" == sName ) m_oLockedField = oReader; } } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L">"; if ( m_oLinkType.IsInit() ) sResult += m_oLinkType->toXML(); @@ -1681,7 +1600,7 @@ namespace OOX if ( m_oFieldCodes.IsInit() ) sResult += m_oFieldCodes->toXML(); - sResult += _T(""); + sResult += L""; return sResult; } @@ -1695,32 +1614,37 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("DrawAspect"), m_oDrawAspect ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("r:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("relationships:id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("ObjectID"), m_sObjectId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("ProgID"), m_sProgId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("ShapeID"), m_sShapeId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("Type"), m_oType ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("UpdateMode"), m_oUpdateMode ) + WritingElement_ReadAttributes_Read_if ( oReader, L"DrawAspect", m_oDrawAspect ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"r:id", m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"relationships:id", m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"ObjectID", m_sObjectId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"ProgID", m_sProgId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"ShapeID", m_sShapeId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"Type", m_oType ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"UpdateMode", m_oUpdateMode ) + //w:objectEmbed + WritingElement_ReadAttributes_Read_else_if(oReader, L"w:drawAspect", m_oDrawAspect) + WritingElement_ReadAttributes_Read_else_if(oReader, L"w:progID", m_sProgId) + WritingElement_ReadAttributes_Read_else_if(oReader, L"w:shapeID", m_sShapeId) + WritingElement_ReadAttributes_Read_else_if(oReader, L"w:fieldCodes", m_oFieldCodes2) WritingElement_ReadAttributes_End( oReader ) } public: - // Attributes - nullable> m_oDrawAspect; - nullable m_oId; - nullable m_sObjectId; - nullable m_sProgId; - nullable m_sShapeId; - nullable> m_oType; - nullable> m_oUpdateMode; + nullable> m_oDrawAspect; + nullable m_oId; + nullable_string m_sObjectId; + nullable_string m_sProgId; + nullable_string m_sShapeId; + nullable> m_oType; + nullable> m_oUpdateMode; - // Childs - nullable m_oFieldCodes; - nullable m_oLinkType; - nullable m_oLockedField; + nullable_string m_oFieldCodes2; + nullable m_oFieldCodes; + + nullable m_oLinkType; + nullable m_oLockedField; }; //-------------------------------------------------------------------------------- // CProxy 14.2.2.21 (Part 4) @@ -1735,9 +1659,6 @@ namespace OOX virtual ~CProxy() { } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CProxy::fromXML(XmlUtils::CXmlNode& oNode) @@ -1751,12 +1672,12 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"start=\"" + m_oStart.ToString() + L"\" "; + sResult += L"end=\"" + m_oEnd.ToString() + L"\" "; + sResult += L"idref=\"" + m_sIdRef + L"\" "; + sResult += L"connectloc=\"" + m_oConnectLoc.ToString() + L"\"/>"; return sResult; } @@ -1769,18 +1690,16 @@ namespace OOX void ReadAttributes(XmlUtils::CXmlLiteReader& oReader) { - // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("connectloc"), m_oConnectLoc ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("end"), m_oEnd ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("idref"), m_sIdRef ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("start"), m_oStart ) + WritingElement_ReadAttributes_Read_if ( oReader, L"connectloc", m_oConnectLoc ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"end", m_oEnd ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"idref", m_sIdRef ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"start", m_oStart ) WritingElement_ReadAttributes_End( oReader ) } public: - // Attributes SimpleTypes::CDecimalNumber<0> m_oConnectLoc; SimpleTypes::CTrueFalse m_oEnd; std::wstring m_sIdRef; @@ -1805,9 +1724,6 @@ namespace OOX } m_arrProxy.clear(); } - - public: - virtual void fromXML(XmlUtils::CXmlNode& oNode) { // TO DO: Реализовать CR::fromXML(XmlUtils::CXmlNode& oNode) @@ -1823,7 +1739,7 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:proxy") == sName ) + if ( L"o:proxy" == sName ) { OOX::VmlOffice::CProxy *oProxy = new OOX::VmlOffice::CProxy(oReader); if (oProxy )m_arrProxy.push_back( oProxy ); @@ -1832,13 +1748,13 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L">"; for ( unsigned int nIndex = 0; nIndex < m_arrProxy.size(); nIndex++ ) { @@ -1846,7 +1762,7 @@ namespace OOX sResult += m_arrProxy[nIndex]->toXML(); } - sResult += _T(""); + sResult += L""; return sResult; } @@ -1861,10 +1777,10 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("how"), m_oHow ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("id"), m_sId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("idref"), m_sIdRef ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("type"), m_oType ) + WritingElement_ReadAttributes_Read_if ( oReader, L"how", m_oHow ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"id", m_sId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"idref", m_sIdRef ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"type", m_oType ) WritingElement_ReadAttributes_End( oReader ) } @@ -1916,7 +1832,7 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:entry") == sName ) + if ( L"o:entry" == sName ) { OOX::VmlOffice::CEntry *oEntry = new OOX::VmlOffice::CEntry (oReader); if (oEntry) m_arrEntry.push_back( oEntry ); @@ -1925,11 +1841,11 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L">"; for ( unsigned int nIndex = 0; nIndex < m_arrEntry.size(); nIndex++ ) { @@ -1937,7 +1853,7 @@ namespace OOX sResult += m_arrEntry[nIndex]->toXML(); } - sResult += _T(""); + sResult += L""; return sResult; } @@ -1952,7 +1868,7 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("v:ext"), m_oExt ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"v:ext", m_oExt ) WritingElement_ReadAttributes_End( oReader ) } @@ -2001,7 +1917,7 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:r") == sName ) + if ( L"o:r" == sName ) { OOX::VmlOffice::CR *oR = new OOX::VmlOffice::CR (oReader); if ( oR) m_arrR.push_back( oR ); @@ -2010,11 +1926,11 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L">"; for ( unsigned int nIndex = 0; nIndex < m_arrR.size(); nIndex++ ) { @@ -2022,7 +1938,7 @@ namespace OOX sResult += m_arrR[nIndex]->toXML(); } - sResult += _T(""); + sResult += L""; return sResult; } @@ -2037,7 +1953,7 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("v:ext"), m_oExt ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"v:ext", m_oExt ) WritingElement_ReadAttributes_End( oReader ) } @@ -2077,21 +1993,21 @@ namespace OOX while ( oReader.ReadNextSiblingNode( nCurDepth ) ) { std::wstring sName = oReader.GetName(); - if ( _T("o:idmap") == sName ) + if ( L"o:idmap" == sName ) m_oIdMap = oReader; - else if ( _T("o:regrouptable") == sName ) + else if ( L"o:regrouptable" == sName ) m_oRegroupTable = oReader; - else if ( _T("o:rules") == sName ) + else if ( L"o:rules" == sName ) m_oRules = oReader; } } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L">"; if ( m_oIdMap.IsInit() ) sResult += m_oIdMap->toXML(); @@ -2102,7 +2018,7 @@ namespace OOX if ( m_oRules.IsInit() ) sResult += m_oRules->toXML(); - sResult += _T(""); + sResult += L""; return sResult; } @@ -2117,7 +2033,7 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_ReadSingle( oReader, _T("v:ext"), m_oExt ) + WritingElement_ReadAttributes_ReadSingle( oReader, L"v:ext", m_oExt ) WritingElement_ReadAttributes_End( oReader ) } @@ -2169,33 +2085,33 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T("ToString2(SimpleTypes::onofftostringT) + _T("\" "); + sResult += L"issignatureline=\"" + m_oIsSignatureLine->ToString2(SimpleTypes::onofftostringT) + L"\" "; - ComplexTypes_WriteAttribute ( _T("id=\""), m_oId ); - ComplexTypes_WriteAttribute ( _T("provid=\""), m_oProvId ); + ComplexTypes_WriteAttribute ( L"id=\"", m_oId ); + ComplexTypes_WriteAttribute ( L"provid=\"", m_oProvId ); if ( m_oSigningInstructionsSet.IsInit() ) - sResult += _T("signinginstructionsset=\"") + m_oSigningInstructionsSet->ToString2(SimpleTypes::onofftostringT) + _T("\" "); + sResult += L"signinginstructionsset=\"" + m_oSigningInstructionsSet->ToString2(SimpleTypes::onofftostringT) + L"\" "; if ( m_oAllowComments.IsInit() ) - sResult += _T("allowcomments=\"") + m_oAllowComments->ToString2(SimpleTypes::onofftostringT) + _T("\" "); + sResult += L"allowcomments=\"" + m_oAllowComments->ToString2(SimpleTypes::onofftostringT) + L"\" "; if ( m_oShowSignDate.IsInit() ) - sResult += _T("showsigndate=\"") + m_oShowSignDate->ToString2(SimpleTypes::onofftostringT) + _T("\" "); + sResult += L"showsigndate=\"" + m_oShowSignDate->ToString2(SimpleTypes::onofftostringT) + L"\" "; - ComplexTypes_WriteAttribute2Encode( _T("o:suggestedsigner=\""), m_sSuggestedSigner ); - ComplexTypes_WriteAttribute2Encode( _T("o:suggestedsigner2=\""), m_sSuggestedSigner2 ); - ComplexTypes_WriteAttribute2Encode( _T("o:suggestedsigneremail=\""), m_sSuggestedSignerEmail ); - ComplexTypes_WriteAttribute2Encode( _T("o:signinginstructions=\""), m_sSigningInstructions ); - ComplexTypes_WriteAttribute2Encode( _T("o:addlxml=\""), m_sAddXml ); - ComplexTypes_WriteAttribute2Encode( _T("o:sigprovurl=\""), m_sSigProvUrl ); + ComplexTypes_WriteAttribute2Encode( L"o:suggestedsigner=\"", m_sSuggestedSigner ); + ComplexTypes_WriteAttribute2Encode( L"o:suggestedsigner2=\"", m_sSuggestedSigner2 ); + ComplexTypes_WriteAttribute2Encode( L"o:suggestedsigneremail=\"", m_sSuggestedSignerEmail ); + ComplexTypes_WriteAttribute2Encode( L"o:signinginstructions=\"", m_sSigningInstructions ); + ComplexTypes_WriteAttribute2Encode( L"o:addlxml=\"", m_sAddXml ); + ComplexTypes_WriteAttribute2Encode( L"o:sigprovurl=\"", m_sSigProvUrl ); - sResult += _T("/>"); + sResult += L"/>"; return sResult; } @@ -2339,19 +2255,19 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("o:addlxml"), m_sAddXml ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("allowcomments"), m_oAllowComments ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("id"), m_oId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("issignatureline"), m_oIsSignatureLine ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("provid"), m_oProvId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("showsigndate"), m_oShowSignDate ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:signinginstructions"), m_sSigningInstructions ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("signinginstructionsset"), m_oSigningInstructionsSet ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:sigprovurl"), m_sSigProvUrl ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:suggestedsigner"), m_sSuggestedSigner ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:suggestedsigner2"), m_sSuggestedSigner2 ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("o:suggestedsigneremail"), m_sSuggestedSignerEmail ) + WritingElement_ReadAttributes_Read_if ( oReader, L"o:addlxml", m_sAddXml ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"allowcomments", m_oAllowComments ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"id", m_oId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"issignatureline", m_oIsSignatureLine ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"provid", m_oProvId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"showsigndate", m_oShowSignDate ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:signinginstructions", m_sSigningInstructions ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"signinginstructionsset", m_oSigningInstructionsSet ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:sigprovurl", m_sSigProvUrl ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:suggestedsigner", m_sSuggestedSigner ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:suggestedsigner2", m_sSuggestedSigner2 ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"o:suggestedsigneremail", m_sSuggestedSignerEmail ) WritingElement_ReadAttributes_End( oReader ) } @@ -2398,19 +2314,19 @@ namespace OOX } virtual std::wstring toXML() const { - std::wstring sResult = _T(""); + sResult += L"/>"; return sResult; } @@ -2425,12 +2341,12 @@ namespace OOX { // Читаем атрибуты WritingElement_ReadAttributes_Start( oReader ) - WritingElement_ReadAttributes_Read_if ( oReader, _T("v:ext"), m_oExt ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("id"), m_sId ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("matrix"), m_sMatrix ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("offset"), m_sOffset ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("on"), m_oOn ) - WritingElement_ReadAttributes_Read_else_if( oReader, _T("origin"), m_sOrigin ) + WritingElement_ReadAttributes_Read_if ( oReader, L"v:ext", m_oExt ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"id", m_sId ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"matrix", m_sMatrix ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"offset", m_sOffset ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"on", m_oOn ) + WritingElement_ReadAttributes_Read_else_if( oReader, L"origin", m_sOrigin ) WritingElement_ReadAttributes_End( oReader ) // TO DO: OOX::Vml::CSkew сделать нормальный парсер параметров