1693 lines
42 KiB
C++
1693 lines
42 KiB
C++
/*
|
|
* (c) Copyright Ascensio System SIA 2010-2023
|
|
*
|
|
* This program is a free software product. You can redistribute it and/or
|
|
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
|
* version 3 as published by the Free Software Foundation. In accordance with
|
|
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
|
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
|
* of any third-party rights.
|
|
*
|
|
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
|
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
*
|
|
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
|
|
* street, Riga, Latvia, EU, LV-1050.
|
|
*
|
|
* The interactive user interfaces in modified source and object code versions
|
|
* of the Program must display Appropriate Legal Notices, as required under
|
|
* Section 5 of the GNU AGPL version 3.
|
|
*
|
|
* Pursuant to Section 7(b) of the License you must retain the original Product
|
|
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
|
* grant you any rights under trademark law for use of our trademarks.
|
|
*
|
|
* All the Product's GUI elements, including illustrations and icon sets, as
|
|
* well as technical writing content are licensed under the terms of the
|
|
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
|
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#include "../../DesktopEditor/xml/include/xmlutils.h"
|
|
#include "../Base/SmartPtr.h"
|
|
|
|
namespace NSBinPptxRW
|
|
{
|
|
class CBinaryFileWriter;
|
|
class CBinaryFileReader;
|
|
class CXmlWriter;
|
|
}
|
|
|
|
namespace OOX
|
|
{
|
|
#define AssignPtrXmlContentNoMain(Ptr, Class, Content) \
|
|
{\
|
|
Ptr = new Class();\
|
|
Class *pClass = dynamic_cast<Class*>(Ptr);\
|
|
*pClass = Content;\
|
|
}
|
|
#define AssignPtrXmlContent(Ptr, Class, Content) \
|
|
{\
|
|
Ptr = new Class(WritingElement::m_pMainDocument);\
|
|
Class *pClass = dynamic_cast<Class*>(Ptr);\
|
|
*pClass = Content;\
|
|
}
|
|
|
|
#define WritingElement_AdditionMethods(Class) \
|
|
const Class& operator =(const XmlUtils::CXmlNode &oNode)\
|
|
{\
|
|
fromXML( (XmlUtils::CXmlNode &)oNode );\
|
|
return *this;\
|
|
}\
|
|
const Class& operator =(const XmlUtils::CXmlLiteReader& oReader)\
|
|
{\
|
|
fromXML( (XmlUtils::CXmlLiteReader&)oReader );\
|
|
return *this;\
|
|
}\
|
|
const Class& operator =(XmlUtils::CXmlNode& node)\
|
|
{\
|
|
m_pMainDocument = NULL;\
|
|
fromXML(node);\
|
|
return *this;\
|
|
}\
|
|
|
|
#define WritingElement_XlsbConstructors(Class) \
|
|
explicit Class(XLS::BaseObjectPtr& obj)\
|
|
{\
|
|
m_pMainDocument = NULL;\
|
|
fromBin(obj);\
|
|
}\
|
|
const Class& operator =(XLS::BaseObjectPtr& obj)\
|
|
{\
|
|
m_pMainDocument = NULL;\
|
|
fromBin(obj);\
|
|
return *this;\
|
|
}\
|
|
|
|
#define WritingElement_XlsbVectorConstructors(Class) \
|
|
explicit Class(std::vector<XLS::BaseObjectPtr>& obj)\
|
|
{\
|
|
m_pMainDocument = NULL;\
|
|
fromBin(obj);\
|
|
}\
|
|
const Class& operator =(std::vector<XLS::BaseObjectPtr>& obj)\
|
|
{\
|
|
m_pMainDocument = NULL;\
|
|
fromBin(obj);\
|
|
return *this;\
|
|
}\
|
|
|
|
#define WritingElement_ReadNode( oRootNode, oChildNode, sNodeName, oValue ) \
|
|
if ( oRootNode.GetNode( sNodeName, oChildNode ) )\
|
|
oValue = oChildNode;
|
|
|
|
#define WritingElement_WriteNode_1( sStartNodeString, oValue ) \
|
|
if ( oValue.IsInit() )\
|
|
{\
|
|
sResult += sStartNodeString;\
|
|
sResult += oValue->ToString();\
|
|
sResult += _T("/>");\
|
|
}
|
|
|
|
#define WritingElement_WriteNode_2( oValue ) \
|
|
if ( oValue.IsInit() )\
|
|
sResult += oValue->toXML();
|
|
|
|
#define WritingElement_WriteNode_3( sStartNodeString, oValue ) \
|
|
if ( oValue.IsInit() )\
|
|
{\
|
|
sResult += sStartNodeString;\
|
|
sResult += oValue->ToString(false);\
|
|
sResult += _T("/>");\
|
|
}
|
|
//-----------------------------------------------------------------------------------------------
|
|
#define WritingElement_ReadAttributes_ReadSingle2(Reader, AttrName, Value) \
|
|
if ( Reader.GetAttributesCount() > 0 ){\
|
|
if ( Reader.MoveToFirstAttribute() ){\
|
|
std::wstring wsName = Reader.GetName();\
|
|
while( !wsName.empty() )\
|
|
{\
|
|
if ( AttrName == wsName )\
|
|
{\
|
|
Value = Reader.GetText();\
|
|
break;\
|
|
}\
|
|
if ( !Reader.MoveToNextAttribute() ) \
|
|
break;\
|
|
wsName = Reader.GetName();\
|
|
}\
|
|
Reader.MoveToElement();}}
|
|
// Следующие 3 define используются для чтения аттрибутов через CXmlLiteReader
|
|
#define WritingElement_ReadAttributes_Start(Reader) \
|
|
if ( Reader.GetAttributesCount() <= 0 )\
|
|
return;\
|
|
if ( !Reader.MoveToFirstAttribute() )\
|
|
return;\
|
|
std::wstring wsName = Reader.GetName();\
|
|
while( !wsName.empty() )\
|
|
{
|
|
|
|
#define WritingElement_ReadAttributes_StartChar(Reader) \
|
|
if ( Reader.GetAttributesCount() <= 0 )\
|
|
return;\
|
|
if ( !Reader.MoveToFirstAttribute() )\
|
|
return;\
|
|
const char* wsName = Reader.GetNameChar();\
|
|
while( strlen(wsName) != 0 )\
|
|
{
|
|
|
|
#define WritingElement_ReadAttributes_StartChar_No_NS(Reader) \
|
|
if ( Reader.GetAttributesCount() <= 0 )\
|
|
return;\
|
|
if ( !Reader.MoveToFirstAttribute() )\
|
|
return;\
|
|
const char* wsName = XmlUtils::GetNameNoNS(Reader.GetNameChar());\
|
|
while( strlen(wsName) != 0 )\
|
|
{
|
|
|
|
#define WritingElement_ReadAttributes_Start_No_NS(Reader) \
|
|
if ( Reader.GetAttributesCount() <= 0 )\
|
|
return;\
|
|
if ( !Reader.MoveToFirstAttribute() )\
|
|
return;\
|
|
std::wstring wsName = XmlUtils::GetNameNoNS(Reader.GetName());\
|
|
while( !wsName.empty() )\
|
|
{
|
|
|
|
#define WritingElement_ReadAttributes_Read_if(Reader, AttrName, Value) \
|
|
if ( AttrName == wsName )\
|
|
{\
|
|
Value = Reader.GetText();\
|
|
}
|
|
|
|
#define WritingElement_ReadAttributes_Read_ifChar(Reader, AttrName, Value) \
|
|
if ( strcmp(AttrName, wsName) == 0 )\
|
|
{\
|
|
Value = Reader.GetText();\
|
|
}
|
|
#define WritingElement_ReadAttributesA_Read_ifChar(Reader, AttrName, Value) \
|
|
if ( strcmp(AttrName, wsName) == 0 )\
|
|
{\
|
|
Value = Reader.GetTextA();\
|
|
}
|
|
#define WritingElement_ReadAttributes_Read_else_if(Reader, AttrName, Value) \
|
|
else if ( AttrName == wsName )\
|
|
Value = Reader.GetText();
|
|
|
|
#define WritingElement_ReadAttributes_Read_else_ifChar(Reader, AttrName, Value) \
|
|
else if ( strcmp(AttrName, wsName) == 0 )\
|
|
Value = Reader.GetText();
|
|
|
|
#define WritingElement_ReadAttributesA_Read_else_ifChar(Reader, AttrName, Value) \
|
|
else if ( strcmp(AttrName, wsName) == 0 )\
|
|
Value = Reader.GetTextA();
|
|
|
|
#define WritingElement_ReadAttributes_ReadSingle(Reader, AttrName, Value) \
|
|
if ( AttrName == wsName )\
|
|
{\
|
|
Value = Reader.GetText();\
|
|
break;\
|
|
}
|
|
|
|
#define WritingElement_ReadAttributes_End(Reader) \
|
|
if ( !Reader.MoveToNextAttribute() ) \
|
|
break;\
|
|
wsName = Reader.GetName();\
|
|
}\
|
|
Reader.MoveToElement();
|
|
|
|
#define WritingElement_ReadAttributes_EndChar(Reader) \
|
|
if ( !Reader.MoveToNextAttribute() ) \
|
|
break;\
|
|
wsName = Reader.GetNameChar();\
|
|
}\
|
|
Reader.MoveToElement();
|
|
|
|
#define WritingElement_ReadAttributes_EndChar_No_NS(Reader) \
|
|
if ( !Reader.MoveToNextAttribute() ) \
|
|
break;\
|
|
wsName = XmlUtils::GetNameNoNS(Reader.GetNameChar());\
|
|
}\
|
|
Reader.MoveToElement();
|
|
|
|
#define WritingElement_ReadAttributes_End_No_NS(Reader) \
|
|
if ( !Reader.MoveToNextAttribute() ) \
|
|
break;\
|
|
wsName = XmlUtils::GetNameNoNS(Reader.GetName());\
|
|
}\
|
|
Reader.MoveToElement();
|
|
|
|
enum EElementType
|
|
{
|
|
et_Unknown,
|
|
|
|
et_Default, // <Default>
|
|
et_Override, // <Override>
|
|
et_Relationship, // <Relationship>
|
|
|
|
et_a_accent1, // <a:accent1>
|
|
et_a_accent2, // <a:accent2>
|
|
et_a_accent3, // <a:accent3>
|
|
et_a_accent4, // <a:accent4>
|
|
et_a_accent5, // <a:accent5>
|
|
et_a_accent6, // <a:accent6>
|
|
et_a_ahLst, // <a:ahLst>
|
|
et_a_ahPolar, // <a:ahPolar>
|
|
et_a_ahXY, // <a:ahXY>
|
|
et_a_alpha, // <a:alpha>
|
|
et_a_alphaBiLevel, // <a:alphaBiLevel>
|
|
et_a_alphaCeiling, // <a:alphaCeiling>
|
|
et_a_alphaFloor, // <a:alphaFloor>
|
|
et_a_alphaInv, // <a:alphaInv>
|
|
et_a_alphaMod, // <a:alphaMod>
|
|
et_a_alphaModFix, // <a:alphaModFix>
|
|
et_a_alphaOff, // <a:alphaOff>
|
|
et_a_alphaOutset, // <a:alphaOutset>
|
|
et_a_alphaRepl, // <a:alphaRepl>
|
|
et_a_anchor, // <a:anchor>
|
|
et_a_arcTo, // <a:arcTo>
|
|
et_a_avLst, // <a:avLst>
|
|
et_a_backdrop, // <a:backdrop>
|
|
et_a_bevel, // <a:bevel>
|
|
et_a_bevelB, // <a:bevelB>
|
|
et_a_bevelT, // <a:bevelT>
|
|
et_a_bgClr, // <a:bgClr>
|
|
et_a_bgFillStyleLst, // <a:bgFillStyleLst>
|
|
et_a_biLevel, // <a:biLevel>
|
|
et_a_blend, // <a:blend>
|
|
et_a_blip, // <a:blip>
|
|
et_a_blipFill, // <a:blipFill>
|
|
et_a_blue, // <a:blue>
|
|
et_a_blueMod, // <a:blueMod>
|
|
et_a_blueOff, // <a:blueOff>
|
|
et_a_blur, // <a:blur>
|
|
et_a_bodyPr, // <a:bodyPr>
|
|
et_a_camera, // <a:camera>
|
|
et_a_close, // <a:close>
|
|
et_a_clrChange, // <a:clrChange>
|
|
et_a_clrFrom, // <a:clrFrom>
|
|
et_a_clrMap, // <a:clrMap>
|
|
et_a_clrMapOvr, // <a:clrMapOvr>
|
|
et_a_clrRepl, // <a:clrRepl>
|
|
et_a_clrScheme, // <a:clrScheme>
|
|
et_a_clrTo, // <a:clrTo>
|
|
et_a_cNvPicPr, // <a:cNvPicPr>
|
|
et_a_comp, // <a:comp>
|
|
et_a_cont, // <a:cont>
|
|
et_a_contourClr, // <a:contourClr>
|
|
et_a_cs, // <a:cs>
|
|
et_a_cubicBezTo, // <a:cubicBezTo>
|
|
et_a_custDash, // <a:custDash>
|
|
et_a_custClr, // <a:custClr>
|
|
et_a_custClrLst, // <a:custClrLst>
|
|
et_a_custGeom, // <a:custGeom>
|
|
et_a_cxn, // <a:cxn>
|
|
et_a_cxnLst, // <a:cxnLst>
|
|
et_a_dk1, // <a:dk1>
|
|
et_a_dk2, // <a:dk2>
|
|
et_a_ds, // <a:ds>
|
|
et_a_duotone, // <a:duotone>
|
|
et_a_ea, // <a:ea>
|
|
et_a_effect, // <a:effect>
|
|
et_a_effectDag, // <a:effectDag>
|
|
et_a_effectLst, // <a:effectLst>
|
|
et_a_effectRef, // <a:effectRef>
|
|
et_a_effectStyle, // <a:effectStyle>
|
|
et_a_effectStyleLst, // <a:effectStyleLst>
|
|
et_a_compatExt,
|
|
et_a_ext, // <a:ext>
|
|
et_a_extLst, // <a:extLst>
|
|
et_a_extraClrScheme, // <a:extraClrScheme>
|
|
et_a_extraClrSchemeLst, // <a:extraClrSchemeLst>
|
|
et_a_extrusionClr, // <a:extrusionClr>
|
|
et_a_fgClr, // <a:fgClr>
|
|
et_a_fill, // <a:fill>
|
|
et_a_fillOverlay, // <a:fillOverlay>
|
|
et_a_fillRect, // <a:fillRect>
|
|
et_a_fillRef, // <a:fillRef>
|
|
et_a_fillStyleLst, // <a:fillStyleLst>
|
|
et_a_fillToRect, // <a:fillToRect>
|
|
et_a_flatTx, // <a:flatTx>
|
|
et_a_fmtScheme, // <a:fmtScheme>
|
|
et_a_folHlink, // <a:folHlink>
|
|
et_a_font, // <a:font>
|
|
et_a_fontRef, // <a:fontRef>
|
|
et_a_fontScheme, // <a:fontScheme>
|
|
et_a_gamma, // <a:gamma>
|
|
et_a_gd, // <a:gd>
|
|
et_a_gdLst, // <a:gdLst>
|
|
et_a_glow, // <a:glow>
|
|
et_a_gradFill, // <a:gradFill>
|
|
et_a_graphic, // <a:graphic>
|
|
et_a_graphicFrame,
|
|
et_a_graphicData,
|
|
et_a_graphicFrameLocks, // <a:graphicFrameLocks>
|
|
et_a_gray, // <a:gray>
|
|
et_a_grayscl, // <a:grayscl>
|
|
et_a_green, // <a:green>
|
|
et_a_greenMod, // <a:greenMod>
|
|
et_a_greenOff, // <a:greenOff>
|
|
et_a_grpFill, // <a:grpFill>
|
|
et_a_gs, // <a:gs>
|
|
et_a_gsLst, // <a:gsLst>
|
|
et_a_headEnd, // <a:headEnd>
|
|
et_a_hlink, // <a:hlink>
|
|
et_a_hlinkClick, // <a:hlinkClick>
|
|
et_a_hlinkHover, // <a:hlinkHover>
|
|
et_a_hsl, // <a:hsl>
|
|
et_a_hslClr, // <a:hslClr>
|
|
et_a_hue, // <a:hue>
|
|
et_a_hueMod, // <a:hueMod>
|
|
et_a_hueOff, // <a:hueOff>
|
|
et_a_innerShdw, // <a:innerShdw>
|
|
et_a_inv, // <a:inv>
|
|
et_a_invGamma, // <a:invGamma>
|
|
et_a_latin, // <a:latin>
|
|
et_a_lightRig, // <a:lightRig>
|
|
et_a_lin, // <a:lin>
|
|
et_a_lineTo, // <a:lineTo>
|
|
et_a_ln, // <a:ln>
|
|
et_a_lnDef, // <a:lnDef>
|
|
et_a_lnRef, // <a:lnRef>
|
|
et_a_lnStyleLst, // <a:lnStyleLst>
|
|
et_a_lnTo, // <a:lnTo>
|
|
et_a_lt1, // <a:lt1>
|
|
et_a_lt2, // <a:lt2>
|
|
et_a_lum, // <a:lum>
|
|
et_a_lumMod, // <a:lumMod>
|
|
et_a_lumOff, // <a:lumOff>
|
|
et_a_majorFont, // <a:majorFont>
|
|
et_a_minorFont, // <a:minorFont>
|
|
et_a_masterClrMapping, // <a:masterClrMapping>
|
|
et_a_miter, // <a:miter>
|
|
et_a_moveTo, // <a:moveTo>
|
|
et_a_noAutofit, // <a:noAutofit>
|
|
et_a_noFill, // <a:noFill>
|
|
et_a_norm, // <a:norm>
|
|
et_a_normAutofit, // <a:normAutofit>
|
|
et_a_objectDefaults, // <a:objectDefaults>
|
|
et_a_outerShdw, // <a:outerShdw>
|
|
et_a_overrideClrMapping, // <a:overrideClrMapping>
|
|
et_a_path, // <a:path>
|
|
et_a_pathLst, // <a:pathLst>
|
|
et_a_pattFill, // <a:pattFill>
|
|
et_a_picLocks, // <a:picLocks>
|
|
et_a_pos, // <a:pos>
|
|
et_a_prstClr, // <a:prstClr>
|
|
et_a_prstDash, // <a:prstDash>
|
|
et_a_prstGeom, // <a:prstGeom>
|
|
et_a_prstShdw, // <a:prstShdw>
|
|
et_a_prstTxWarp, // <a:prstTxWarp>
|
|
et_a_pt, // <a:pt>
|
|
et_a_quadBezTo, // <a:quadBezTo>
|
|
et_a_rect, // <a:rect>
|
|
et_a_red, // <a:red>
|
|
et_a_redMod, // <a:redMod>
|
|
et_a_redOff, // <a:redOff>
|
|
et_a_reflection, // <a:reflection>
|
|
et_a_relOff, // <a:relOff>
|
|
et_a_rot, // <a:rot>
|
|
et_a_round, // <a:round>
|
|
et_a_sat, // <a:sat>
|
|
et_a_satMod, // <a:satMod>
|
|
et_a_satOff, // <a:satOff>
|
|
et_a_scene3d, // <a:scene3d>
|
|
et_a_schemeClr, // <a:schemeClr>
|
|
et_a_scrgbClr, // <a:scrgbClr>
|
|
et_a_styleClr,
|
|
et_a_shade, // <a:shade>
|
|
et_a_snd, // <a:snd>
|
|
et_a_softEdge, // <a:softEdge>
|
|
et_a_solidFill, // <a:solidFill>
|
|
et_a_sp3d, // <a:sp3d>
|
|
et_a_spAutoFit, // <a:spAutoFit>
|
|
et_a_spDef, // <a:spDef>
|
|
et_a_spPr, // <a:spPr>
|
|
et_a_srcRect, // <a:srcRect>
|
|
et_a_srgbClr, // <a:srgbClr>
|
|
et_a_stretch, // <a:stretch>
|
|
et_a_style, // <a:style>
|
|
et_a_sym, // <a:sym>
|
|
et_a_sysClr, // <a:sysClr>
|
|
et_a_tailEnd, // <a:tailEnd>
|
|
et_a_themeElements, // <a:themeElements>
|
|
et_a_tile, // <a:tile>
|
|
et_a_tileRect, // <a:tileRect>
|
|
et_a_tint, // <a:tint>
|
|
et_a_txDef, // <a:txDef>
|
|
et_a_up, // <a:up>
|
|
et_a_xfrm, // <a:xfrm>
|
|
et_a_uFillTx,
|
|
et_a_highlight,
|
|
|
|
et_a_groupSpPr, // <a:groupSpPr>
|
|
et_a_Shape, // <a:sp>
|
|
et_a_GroupShape, // <a:srpSp>
|
|
et_a_TextShape, // <a:txSp>
|
|
et_a_TextShapeBody, // <a:txBody>
|
|
et_a_LockedCanvas, // <a:LockedCanvas>
|
|
et_a_GroupShapeNonVisual,
|
|
et_a_ConnectionNonVisualShapeProps,
|
|
et_a_ShapeNonVisual,
|
|
et_a_Slicer,
|
|
|
|
et_dgm_DiagrammParts, // <dgm:relIds>
|
|
et_dgm_ptLst, // <dgm:ptLst>
|
|
et_dgm_pt, // <dgm:pt>
|
|
et_dgm_prSet, // <dgm:prSet>
|
|
et_dgm_spPr, // <dgm:spPr>
|
|
et_dgm_t, // <dgm:t>
|
|
et_dgm_cxnLst,
|
|
et_dgm_cxn,
|
|
et_dgm_VariableList,
|
|
et_dgm_Shape,
|
|
et_dgm_AdjLst,
|
|
et_dgm_ShapeAdjust,
|
|
et_dgm_PresOf,
|
|
et_dgm_Choose,
|
|
et_dgm_Else,
|
|
et_dgm_If,
|
|
et_dgm_Alg,
|
|
et_dgm_Param,
|
|
et_dgm_ConstrLst,
|
|
et_dgm_Constraint,
|
|
et_dgm_RuleLst,
|
|
et_dgm_Rule,
|
|
et_dgm_ForEach,
|
|
et_dgm_LayoutNode,
|
|
et_dgm_DiferentData,
|
|
et_dgm_styleLbl,
|
|
et_dgm_ClrLst,
|
|
et_dgm_Whole,
|
|
et_dgm_Bg,
|
|
et_dgm_DataModel,
|
|
et_dgm_Cat,
|
|
et_dgm_CatLst,
|
|
et_dgm_ResizeHandles,
|
|
et_dgm_OrgChart,
|
|
et_dgm_HierBranch,
|
|
et_dgm_Direction,
|
|
et_dgm_chPref,
|
|
et_dgm_chMax,
|
|
et_dgm_BulletEnabled,
|
|
et_dgm_AnimOne,
|
|
et_dgm_AnimLvl,
|
|
et_dgm_ComplexType,
|
|
et_dgm_text,
|
|
et_dgm_ColorStyleLbl,
|
|
|
|
et_dsp_Shape, // <dsp:sp>
|
|
et_dsp_ShapeTree, // <dsp:spTree>
|
|
et_dsp_spPr, // <dsp:spPr>
|
|
et_dsp_style, // <dsp:style>
|
|
et_dsp_groupSpPr, // <dsp:grpSpPr>
|
|
et_dsp_cNvPr,
|
|
et_dsp_txXfrm,
|
|
|
|
|
|
et_lc_LockedCanvas, // <lc:lockedCanvas>
|
|
|
|
et_graphicFrame, // <...:graphicFrame>
|
|
et_pic, // <...:pic>
|
|
et_cxnSp, // <...:cxnSp>
|
|
et_oleobject,
|
|
|
|
et_p_cNvPicPr, // <p:cNvPicPr>
|
|
et_p_cNvPr, // <p:cNvPr>
|
|
et_p_pic, // <p:pic>
|
|
et_p_Shape, // <p:sp>
|
|
et_p_ShapeTree, // <p:spTree>
|
|
et_p_spPr, // <p:spPr>
|
|
et_p_style, // <p:style>
|
|
et_p_groupSpPr, // <p:grpSpPr>
|
|
et_p_NvGrpSpPr,
|
|
et_p_xfrm,
|
|
et_p_r,
|
|
et_p_fld,
|
|
et_p_br,
|
|
et_p_MathPara,
|
|
|
|
et_p_EmptyTransition,
|
|
et_p_OrientationTransition,
|
|
et_p_EightDirectionTransition,
|
|
et_p_OptionalBlackTransition,
|
|
et_p_CornerDirectionTransition,
|
|
et_p_SideDirectionTransition,
|
|
et_p_WheelTransition,
|
|
et_p_SplitTransition,
|
|
et_p_ZoomTransition,
|
|
|
|
et_p_par,
|
|
et_p_seq,
|
|
et_p_audio,
|
|
et_p_video,
|
|
et_p_excl,
|
|
et_p_anim,
|
|
et_p_animClr,
|
|
et_p_animEffect,
|
|
et_p_animMotion,
|
|
et_p_animRot,
|
|
et_p_animScale,
|
|
et_p_cmd,
|
|
et_p_set,
|
|
|
|
et_p_bldP,
|
|
et_p_bldDgm,
|
|
et_p_bldGraphic,
|
|
et_p_bldOleChart,
|
|
|
|
et_a_textFit,
|
|
et_a_hyperlink,
|
|
et_a_fld,
|
|
et_a_p, // <a:p>
|
|
et_a_pPr, // <a:pPr>
|
|
et_a_r, // <a:p>
|
|
et_a_rPr, // <a:pPr>
|
|
et_a_t, // <a:t>
|
|
et_a_br, // <a:br>
|
|
et_a_spcPts, // <a:spcPts>
|
|
et_a_spcPct, // <a:spcPct>
|
|
et_a_spcAft, // <a:spcAft>
|
|
et_a_spcBef, // <a:spcBef>
|
|
et_a_lnSpc, // <a:lnSpc>
|
|
et_a_tab,
|
|
et_a_rtl,
|
|
|
|
et_a_buNone,
|
|
et_a_buChar,
|
|
et_a_buAutoNum,
|
|
et_a_buClr,
|
|
et_a_buClrTx,
|
|
et_a_buFontTx,
|
|
et_a_buBlip,
|
|
et_a_buSzPct,
|
|
et_a_buSzPts,
|
|
et_a_buSzTx,
|
|
|
|
et_ds_customXmlProps,
|
|
et_ds_schemaRefs, // <ds:shemeRefs>
|
|
et_ds_schemaRef, // <ds:shemeRef>
|
|
|
|
et_m_acc, //m:acc
|
|
et_m_accPr, //m:accPr
|
|
et_m_aln, //m:aln
|
|
et_m_alnScr, //m:alnScr
|
|
et_m_argPr, //m:argPr
|
|
et_m_argSz, //m:argSz
|
|
et_m_bar, //m:bar
|
|
et_m_barPr, //m:barPr
|
|
et_m_baseJc, //m:baseJc
|
|
et_m_begChr, //m:begChr
|
|
et_m_borderBox, //m:borderBox
|
|
et_m_borderBoxPr, //m:borderBoxPr
|
|
et_m_box, //m:box
|
|
et_m_boxPr, //m:boxPr
|
|
et_m_brk, //m:brk
|
|
et_m_brkBin, //m:brkBin
|
|
et_m_brkBinSub, //m:brkBinSub
|
|
et_m_cGp, //m:cGp
|
|
et_m_cGpRule, //m:cGpRule
|
|
et_m_chr, //m:chr
|
|
et_m_count, //m:count
|
|
et_m_cSp, //m:cSp
|
|
et_m_ctrlPr, //m:ctrlPr
|
|
et_m_d, //m:d
|
|
et_m_defJc, //m:defJc
|
|
et_m_deg, //m:deg
|
|
et_m_degHide, //m:degHide
|
|
et_m_den, //m:den
|
|
et_m_diff, //m:diff
|
|
et_m_dispDef, //m:dispDef
|
|
et_m_dPr, //m:dPr
|
|
et_m_e, //m:e
|
|
et_m_endChr, //m:endChr
|
|
et_m_eqArr, //m:eqArr
|
|
et_m_eqArrPr, //m:eqArrPr
|
|
et_m_f, //m:f
|
|
et_m_fName, //m:fName
|
|
et_m_fPr, //m:fPr
|
|
et_m_func, //m:func
|
|
et_m_funcPr, //m:funcPr
|
|
et_m_groupChr, //m:groupChr
|
|
et_m_groupChrPr, //m:groupChrPr
|
|
et_m_grow, //m:grow
|
|
et_m_hideBot, //m:hideBot
|
|
et_m_hideLeft, //m:hideLeft
|
|
et_m_hideRight, //m:hideRight
|
|
et_m_hideTop, //m:hideTop
|
|
et_m_interSp, //m:interSp
|
|
et_m_intLim, //m:intLim
|
|
et_m_intraSp, //m:intraSp
|
|
et_m_jc, //m:jc
|
|
et_m_lim, //m:lim
|
|
et_m_limLoc, //m:limLoc
|
|
et_m_limLow, //m:limLow
|
|
et_m_limLowPr, //m:limLowPr
|
|
et_m_limUpp, //m:limUpp
|
|
et_m_limUppPr, //m:limUppPr
|
|
et_m_lit, //m:lit
|
|
et_m_lMargin, //m:lMargin
|
|
et_m_m, //m:m
|
|
et_m_mathFont, //m:mathFont
|
|
et_m_mathPr, //m:mathPr
|
|
et_m_maxDist, //m:maxDist
|
|
et_m_mc, //m:mc
|
|
et_m_mcJc, //m:mcJc
|
|
et_m_mcPr, //m:mPr
|
|
et_m_mcs, //m:mcs
|
|
et_m_mPr, //m:mPr
|
|
et_m_mr, //m:mr
|
|
et_m_nary, //m:nary
|
|
et_m_naryLim, //m:naryLim
|
|
et_m_naryPr, //m:naryPr
|
|
et_m_noBreak, //m:noBreak
|
|
et_m_nor, //m:nor
|
|
et_m_num, //m:num
|
|
et_m_objDist, //m:objDist
|
|
et_m_oMath, //m:oMath
|
|
et_m_oMathPara, // m:oMathPara
|
|
et_m_oMathParaPr, //m:oMathParaPr
|
|
et_m_opEmu, //m:opEmu
|
|
et_m_phant, //m:phant
|
|
et_m_phantPr, //m:phantPr
|
|
et_m_plcHide, //m:plcHide
|
|
et_m_pos, //m:pos
|
|
et_m_postSp, //m:postSp
|
|
et_m_preSp, //m:preSp
|
|
et_m_r, //m:r
|
|
et_m_rad, //m:rad
|
|
et_m_radPr, //m:radPr
|
|
et_m_rMargin, //m:rMargin
|
|
et_m_rPr, //m:rPr
|
|
et_m_rSp, //m:rSp
|
|
et_m_rSpRule, //m:rSpRule
|
|
et_m_scr, //m:scr
|
|
et_m_sepChr, //m:sepChr
|
|
et_m_show, //m:show
|
|
et_m_shp, //m:shp
|
|
et_m_smallFrac, //m:smallFrac
|
|
et_m_sPre, //m:sPre
|
|
et_m_sPrePr, //m:sPrePr
|
|
et_m_sSub, //m:sSub
|
|
et_m_sSubPr, //m:sSubPr
|
|
et_m_sSubSup, //m:sSubSup
|
|
et_m_sSubSupPr, //m:sSubSupPr
|
|
et_m_sSup, //m:sSup
|
|
et_m_sSupPr, //m:sSupPr
|
|
et_m_strikeBLTR, //m:strikeBLTR
|
|
et_m_strikeH, //m:strikeH
|
|
et_m_strikeTLBR, //m:strikeTLBR
|
|
et_m_strikeV, //m:strikeV
|
|
et_m_sty, //m:sty
|
|
et_m_sub, //m:sub
|
|
et_m_subHide, //m:subHide
|
|
et_m_sup, //m:sup
|
|
et_m_supHide, //m:supHide
|
|
et_m_t, //m:t
|
|
et_m_transp, //m:transp
|
|
et_m_type, //m:type
|
|
et_m_vertJc, //m:vertJc
|
|
et_m_wrapIndent, //m:wrapIndent
|
|
et_m_wrapRight, //m:wrapRight
|
|
et_m_zeroAsc, //m:zeroAsc
|
|
et_m_zeroDesc, //m:zeroDesc
|
|
et_m_zeroWid, //m:zeroWid
|
|
|
|
et_mc_alternateContent, // <mc:alternateContent>
|
|
|
|
et_o_bottom, // <o:bottom>
|
|
et_o_callout, // <o:callout>
|
|
et_o_clippath, // <o:clippath>
|
|
et_o_colormenu, // <o:colormenu>
|
|
et_o_colormru, // <o:colormru>
|
|
et_o_column, // <o:column>
|
|
et_o_complex, // <o:complex>
|
|
et_o_diagram, // <o:diagram>
|
|
et_o_entry, // <o:entry>
|
|
et_o_equationXml, // <o:equationXml>
|
|
et_o_extrusion, // <o:extrusion>
|
|
et_o_FieldCodes, // <o:FieldCodes>
|
|
et_o_fill, // <o:fill>
|
|
et_o_idmap, // <o:idmap>
|
|
et_o_ink, // <o:ink>
|
|
et_o_left, // <o:left>
|
|
et_o_LinkType, // <o:LinkType>
|
|
et_o_lock, // <o:lock>
|
|
et_o_LockedField, // <o:LockedField>
|
|
et_o_OLEObject, // <o:OLEObject>
|
|
et_o_proxy, // <o:proxy>
|
|
et_o_r, // <o:r>
|
|
et_o_regrouptable, // <o:regrouptable>
|
|
et_o_rel, // <o:rel>
|
|
et_o_relationtable, // <o:relationtable>
|
|
et_o_right, // <o:right>
|
|
et_o_rules, // <o:rules>
|
|
et_o_shapedefaults, // <o:shapedefaults>
|
|
et_o_shapelayout, // <o:shapelayout>
|
|
et_o_signatureline, // <o:signatureline>
|
|
et_o_skew, // <o:skew>
|
|
et_o_top, // <o:top>
|
|
|
|
et_pic_blipFill, // <pic:blipFill>
|
|
et_pic_cNvPicPr, // <pic:cNvPicPr>
|
|
et_pic_cNvPr, // <pic:cNvPr>
|
|
et_pic_nvPicPr, // <pic:nvPicPr>
|
|
et_pic_spPr, // <pic:spPr>
|
|
et_pic_pic, // <pic:pic>
|
|
|
|
et_x_cNvPr, // <xdr:cNvPr>
|
|
et_x_spPr, // <xdr:spPr>
|
|
et_x_groupSpPr, // <xdr:groupSpPr>
|
|
|
|
et_c_chart, // <c:chart>
|
|
et_c_spPr,
|
|
|
|
et_sl_schema, // <sl:shema>
|
|
et_sl_schemaLibrary, // <sl:schemaLibrary>
|
|
|
|
et_v_arc, // <v:arc>
|
|
et_v_background, // <v:background>
|
|
et_v_curve, // <v:curve>
|
|
et_v_f, // <v:f>
|
|
et_v_fill, // <v:fill>
|
|
et_v_formulas, // <v:formulas>
|
|
et_v_group, // <v:group>
|
|
et_v_h, // <v:h>
|
|
et_v_handles, // <v:handles>
|
|
et_v_image, // <v:image>
|
|
et_v_imagedata, // <v:imagedata>
|
|
et_v_line, // <v:line>
|
|
et_v_oval, // <v:oval>
|
|
et_v_path, // <v:path>
|
|
et_v_polyline, // <v:polyline>
|
|
et_v_rect, // <v:rect>
|
|
et_v_roundrect, // <v:roundrect>
|
|
et_v_shadow, // <v:shadow>
|
|
et_v_shape, // <v:shape>
|
|
et_v_shapetype, // <v:shapetype>
|
|
et_v_stroke, // <v:stroke>
|
|
et_v_textbox, // <v:textbox>
|
|
et_v_textpath, // <v:textpath>
|
|
et_v_ClientData, // <x:textpath>
|
|
et_v_shape_elements,
|
|
et_v_shape_attrs,
|
|
|
|
et_w_abstractNum, // <w:abstractNum>
|
|
et_w_activeWritingStyle, // <w:activeWritingStyle>
|
|
et_w_annotationRef, // <w:annotationRef>
|
|
et_w_autoCaption, // <w:autoCaption>
|
|
et_w_autoCaptions, // <w:autoCaptions>
|
|
et_w_background, // <w:background>
|
|
et_w_bdo, // <w:bdo>
|
|
et_w_binData, // <w:binData>
|
|
et_w_bgPict, // <w:bgPict>
|
|
et_w_docSuppData, // <w:docSuppData>
|
|
et_w_bookmarkEnd, // <w:bookmarkEnd>
|
|
et_w_bookmarkStart, // <w:bookmarkStart>
|
|
et_w_br, // <w:br>
|
|
et_w_caption, // <w:caption>
|
|
et_w_captions, // <w:captions>
|
|
et_w_characterSpacingControl, // <w:characterSpacingControl>
|
|
et_w_checkBox, // <w:checkBox>
|
|
et_w_clrSchemeMapping, // <w:clrSchemeMapping>
|
|
et_w_cols, // <w:cols>
|
|
et_w_comboBox, // <w:comboBox>
|
|
et_w_textFormPr, // <w:textFormPr> custom!
|
|
et_w_formPr,// <w:formPr> custom!
|
|
et_w_complexFormPr, // <w:complexFormPr> custom!
|
|
et_w_comment, // <w:comment>
|
|
et_w_commentRangeEnd, // <w:commentRangeEnd>
|
|
et_w_commentRangeStart, // <w:commentRangeStart>
|
|
et_w_commentReference, // <w:commentReference>
|
|
et_w_compat, // <w:compat>
|
|
et_w_compatSetting, // <w:compatSetting>
|
|
et_w_contentPart, // <w:contentPart> <w14:contentPart>
|
|
et_w_nvContentPartPr, // <w14:nvContentPartPr>
|
|
et_w_continuationSeparator, // <w:continuationSeparator>
|
|
et_w_control, // <w:control>
|
|
et_w_customXmlDelRangeEnd, // <w:customXmlDelRangeEnd>
|
|
et_w_customXmlDelRangeStart, // <w:customXmlDelRangeStart>
|
|
et_w_customXmlInsRangeEnd, // <w:customXmlInsRangeEnd>
|
|
et_w_customXmlInsRangeStart, // <w:customXmlInsRangeStart>
|
|
et_w_customXmlMoveFromRangeEnd, // <w:customXmlMoveFromRangeEnd>
|
|
et_w_customXmlMoveFromRangeStart, // <w:customXmlMoveFromRangeStart>
|
|
et_w_customXmlMoveToRangeEnd, // <w:customXmlMoveToRangeEnd>
|
|
et_w_customXmlMoveToRangeStart, // <w:customXmlMoveToRangeStart>
|
|
et_w_cr, // <w:cr>
|
|
et_w_date, // <w:date>
|
|
et_w_dayLong, // <w:dayLong>
|
|
et_w_dayShort, // <w:dayShort>
|
|
et_w_ddList, // <w:ddList>
|
|
et_w_del, // <w:del>
|
|
et_w_delInstrText, // <w:delInstrText>
|
|
et_w_delText, // <w:delText>
|
|
et_w_drawing, // <w:drawing>
|
|
et_w_docDefaults, // <w:docDefaults>
|
|
et_w_docPartList, // <w:docPartList>
|
|
et_w_documentProtection, // <w:documentProtection>
|
|
et_w_documentType, // <w:documentType>
|
|
et_w_docVar, // <w:docVar>
|
|
et_w_docVars, // <w:docVars>
|
|
et_w_dropDownList, // <w:dropDownList>
|
|
et_w_endnote, // <w:endnote>
|
|
et_w_endnotePr, // <w:endnotePr>
|
|
et_w_endnoteRef, // <w:endnoteRef>
|
|
et_w_endnoteReference, // <w:endnoteReference>
|
|
et_w_ffData, // <w:ffData>
|
|
et_w_fldChar, // <w:fldChar>
|
|
et_w_fldSimple, // <w:fldSimple>
|
|
et_w_fonts, // <w:fonts>
|
|
et_w_font, // <w:font>
|
|
et_w_footnote, // <w:footnote>
|
|
et_w_footnotePr, // <w:footnotePr>
|
|
et_w_footnoteRef, // <w:footnoteRef>
|
|
et_w_footnoteReference, // <w:footnoteReference>
|
|
et_w_ftr, // <w:ftr>
|
|
et_w_hdr, // <w:hdr>
|
|
et_w_hdrShapeDefaults, // <w:hdrShapeDefaults>
|
|
et_w_headers, // <w:headers>
|
|
et_w_hyperlink, // <w:hyperlink>
|
|
et_w_altChunk, // <w:altChunk>
|
|
et_w_altChunkPr, // <w:altChunkPr>
|
|
et_w_ins, // <w:ins>
|
|
et_w_instrText, // <w:instrText>
|
|
et_w_latentStyles, // <w:latentStyles>
|
|
et_w_lastRenderedPageBreak, // <w:lastRenderedPageBreak>
|
|
et_w_lvl, // <w:lvl>
|
|
et_w_lvlOverride, // <w:lvlOverride>
|
|
et_w_monthLong, // <w:monthLong>
|
|
et_w_monthShort, // <w:monthShort>
|
|
et_w_moveFrom, // <w:moveFrom>
|
|
et_w_moveTo, // <w:moveTo>
|
|
et_w_moveFromRangeEnd, // <w:moveFromRangeEnd>
|
|
et_w_moveFromRangeStart, // <w:moveFromRangeStart>
|
|
et_w_moveToRangeEnd, // <w:moveToRangeEnd>
|
|
et_w_moveToRangeStart, // <w:moveToRangeStart>
|
|
et_w_numbering, // <w:numbering>
|
|
et_w_num, // <w:num>
|
|
et_w_numPicBullet, // <w:numPicBullet>
|
|
et_w_numPr, // <w:numPr>
|
|
et_w_noLineBreaksAfter, // <w:noLineBreaksAfter>
|
|
et_w_noLineBreaksBefore, // <w:noLineBreaksBefore>
|
|
et_w_nonBreakHyphen, // <w:nonBreakHyphen>
|
|
et_w_object, // <w:object>
|
|
et_w_p, // <w:p>
|
|
et_w_pBdr, // <w:pBdr>
|
|
et_w_permEnd, // <w:permEnd>
|
|
et_w_permStart, // <w:permStart>
|
|
et_w_pgBorders, // <w:pgBorders>
|
|
et_w_pgNum, // <w:pgNum>
|
|
et_w_pict, // <w:pict>
|
|
et_w_placeholder, // <w:placeholder>
|
|
et_w_pPr, // <w:pPr>
|
|
et_w_pPrChange, // <w:pPrChange>
|
|
et_w_proofErr, // <w:proofErr>
|
|
et_w_proofState, // <w:proofState>
|
|
et_w_ptab, // <w:ptab>
|
|
et_w_r, // <w:r>
|
|
et_w_readModeInkLockDown, // <w:readModeInkLockDown>
|
|
et_w_revisionView, // <w:revisionView>
|
|
et_w_rsids, // <w:rsids>
|
|
et_w_rPr, // <w:rPr>
|
|
et_w_rPrChange, // <w:rPrChange>
|
|
et_w_ruby, // <w:ruby>
|
|
et_w_saveThroughXslt, // <w:saveThroughXslt>
|
|
et_w_sdt, // <w:sdt>
|
|
et_w_sdtContent, // <w:sdtContent>
|
|
et_w_dir, // <w:dir>
|
|
et_w_sdtEndPr, // <w:sdtEndPr>
|
|
et_w_sdtPr, // <w:sdtPr>
|
|
et_w_sdtCheckbox, // <w:checkbox>
|
|
et_w_sdtPicture, // <w:picture>
|
|
et_w_sdtCheckboxSymbol, // <w:checkedState>
|
|
et_w_sectPr, // <w:sectPr>
|
|
et_w_sectPrChange, // <w:sectPrChange>
|
|
et_w_separator, // <w:separator>
|
|
et_w_shapeDefaults, // <w:shapeDefaults>
|
|
et_w_smartTag, // <w:smartTagType>
|
|
et_w_smartTagType, // <w:smartTagType>
|
|
et_w_softHyphen, // <w:softHyphen>
|
|
et_w_wordDocument, // <w:wordDocument>
|
|
et_w_document, // <w:document>
|
|
et_w_settings, // <w:settings>
|
|
et_w_style, // <w:style>
|
|
et_w_styles, // <w:styles>
|
|
et_w_stylePaneFormatFilter, // <w:stylePaneFormatFilter>
|
|
et_w_stylePaneSortMethod, // <w:stylePaneSortMethod>
|
|
et_w_sym, // <w:sym>
|
|
et_w_t, // <w:t>
|
|
et_w_tab, // <w:tab>
|
|
et_w_tabs, // <w:tabs>
|
|
et_w_tbl, // <w:tbl>
|
|
et_w_tblBorders, // <w:tblBorders>
|
|
et_w_tblCellMar, // <w:tblCellMar>
|
|
et_w_tblGrid, // <w:tblGrid>
|
|
et_w_tblGridChange, // <w:tblGridChange>
|
|
et_w_tblPr, // <w:tblPr>
|
|
et_w_tblPrChange, // <w:tblPrChange>
|
|
et_w_tblPrEx, // <w:tblPrEx>
|
|
et_w_tblPrExChange, // <w:tblPrExChange>
|
|
et_w_tblStylePr, // <w:tblStylePr>
|
|
et_w_tc, // <w:tc>
|
|
et_w_tcBorders, // <w:tcBorders>
|
|
et_w_tcMar, // <w:tcMar>
|
|
et_w_tcPr, // <w:tcPr>
|
|
et_w_tcPrChange, // <w:tcPrChange>
|
|
et_w_textInput, // <w:textInput>
|
|
et_w_tr, // <w:tr>
|
|
et_w_trPr, // <w:trPr>
|
|
et_w_trPrChange, // <w:trPrChange>
|
|
et_w_txbxContent, // <w:txbxContent>
|
|
et_w_writeProtection, // <w:writeProtection>
|
|
et_w_yearLong, // <w:yearLong>
|
|
et_w_yearShort, // <w:yearShort>
|
|
et_w_zoom, // <w:zoom>
|
|
et_w_docParts,
|
|
et_w_docPart,
|
|
et_w_docPartBody,
|
|
et_w_docPartPr,
|
|
et_w_docPartCategory,
|
|
et_w_docPartTypes,
|
|
et_w_docPartBehaviors,
|
|
et_w_stylisticSets,
|
|
|
|
et_wd_anchorLock, // <wd:anchorLock>
|
|
et_wd_borderbottom, // <wd:borderbottom>
|
|
et_wd_borderleft, // <wd:borderleft>
|
|
et_wd_borderright, // <wd:borderright>
|
|
et_wd_bordertop, // <wd:bordertop>
|
|
et_wd_wrap, // <wd:wrap>
|
|
|
|
et_wp_anchor, // <wp:anchor>
|
|
et_wp_cNvGraphicFramePr, // <wp:cNvGraphicFramePr>
|
|
et_wp_docPr, // <wp:docPr>
|
|
et_wp_effectExtent, // <wp:effectExtent>
|
|
et_wp_extent, // <wp:extent>
|
|
et_wp_inline, // <wp:inline>
|
|
et_wp_positionH, // <wp:positionH>
|
|
et_wp_positionV, // <wp:positionV>
|
|
et_wp_sizeRelH, // <wp14:sizeRelH>
|
|
et_wp_sizeRelV, // <wp14:sizeRelV>
|
|
et_wp_wrapNone, // <wp:wrapNone>
|
|
et_wp_wrapPolygon, // <wp:wrapPolygon>
|
|
et_wp_wrapSquare, // <wp:wrapSquare>
|
|
et_wp_wrapThrough, // <wp:wrapThrough>
|
|
et_wp_wrapTight, // <wp:wrapTight>
|
|
et_wp_wrapTopAndBottom, // <wp:wrapTopAndBottom>
|
|
|
|
et_w15_presenceInfo, // <w15:presenceInfo>
|
|
et_w15_person, // <w15:person>
|
|
et_w15_commentEx, // <w15:commentEx>
|
|
|
|
et_w16_commentId, // <w16cid:commentId>
|
|
et_w16_commentExtensible, // <w16cex:commentExtensible>
|
|
|
|
et_w_ShapeTextBody, //<wps:txbx>
|
|
et_w_Shape, //<wps:wsp>
|
|
et_w_GroupShape, //<wpg:wgp>
|
|
et_w_LockedCanvas, //<wpc:wgc>
|
|
et_w_cNvPr, //<wps:cNvPr>
|
|
et_w_spPr, //<wps:spPr>
|
|
et_w_groupSpPr, //<wpg:grpSpPr>
|
|
et_w_ConnectionNonVisualShapeProps,//<wps:cNvSpPr>
|
|
et_w_NonVisualGroupShapeDrawingProps,//<wpg:cNvGrpSpPr>
|
|
et_w_ConnectionNonVisualConnShapeProps,
|
|
et_w_ShapeNonVisual, //<wps:spPr>
|
|
|
|
et_ct_extlst,
|
|
et_ct_ChartSpace,
|
|
et_ct_boolean,
|
|
et_ct_relid,
|
|
et_ct_pagesetup,
|
|
et_ct_pagemargins,
|
|
et_ct_headerfooter,
|
|
et_ct_printsettings,
|
|
et_ct_externaldata,
|
|
et_ct_dispblanksas,
|
|
et_ct_unsignedint,
|
|
et_ct_extension,
|
|
et_ct_layout,
|
|
et_ct_manuallayout,
|
|
et_ct_layouttarget,
|
|
et_ct_layoutmode,
|
|
et_ct_double,
|
|
et_ct_dtable,
|
|
et_ct_serax,
|
|
et_ct_scaling,
|
|
et_ct_logbase,
|
|
et_ct_orientation,
|
|
et_ct_axpos,
|
|
et_ct_chartlines,
|
|
et_ct_title,
|
|
et_ct_tx,
|
|
et_ct_strref,
|
|
et_ct_strdata,
|
|
et_ct_strval,
|
|
et_ct_numfmt,
|
|
et_ct_tickmark,
|
|
et_ct_ticklblpos,
|
|
et_ct_crosses,
|
|
et_ct_skip,
|
|
et_ct_timeunit,
|
|
et_ct_dateax,
|
|
et_ct_lbloffset,
|
|
et_ct_axisunit,
|
|
et_ct_lblalgn,
|
|
et_ct_catax,
|
|
et_ct_dispunitslbl,
|
|
et_ct_builtinunit,
|
|
et_ct_dispunits,
|
|
et_ct_crossbetween,
|
|
et_ct_valax,
|
|
et_ct_sizerepresents,
|
|
et_ct_bubblescale,
|
|
et_ct_bubbleser,
|
|
et_ct_sertx,
|
|
et_ct_dpt,
|
|
et_ct_marker,
|
|
et_ct_markerstyle,
|
|
et_ct_markersize,
|
|
et_ct_pictureoptions,
|
|
et_ct_pictureformat,
|
|
et_ct_picturestackunit,
|
|
et_ct_dlbls,
|
|
et_ct_dlbl,
|
|
et_ct_dlblpos,
|
|
et_ct_trendline,
|
|
et_ct_trendlinetype,
|
|
et_ct_order,
|
|
et_ct_period,
|
|
et_ct_trendlinelbl,
|
|
et_ct_errbars,
|
|
et_ct_errdir,
|
|
et_ct_errbartype,
|
|
et_ct_errvaltype,
|
|
et_ct_numdatasource,
|
|
et_ct_numdata,
|
|
et_ct_numval,
|
|
et_ct_numref,
|
|
et_ct_axdatasource,
|
|
et_ct_multilvlstrref,
|
|
et_ct_lvl,
|
|
et_ct_multilvlstrdata,
|
|
et_ct_bubblechart,
|
|
et_ct_bandfmts,
|
|
et_ct_surface3dchart,
|
|
et_ct_surfaceser,
|
|
et_ct_bandfmt,
|
|
et_ct_surfacechart,
|
|
et_ct_secondpiesize,
|
|
et_ct_splittype,
|
|
et_ct_ofpietype,
|
|
et_ct_custsplit,
|
|
et_ct_ofpiechart,
|
|
et_ct_pieser,
|
|
et_ct_gapamount,
|
|
et_ct_bar3dchart,
|
|
et_ct_bardir,
|
|
et_ct_bargrouping,
|
|
et_ct_barser,
|
|
et_ct_shape,
|
|
et_ct_overlap,
|
|
et_ct_barchart,
|
|
et_ct_holesize,
|
|
et_ct_doughnutchart,
|
|
et_ct_firstsliceang,
|
|
et_ct_pie3dchart,
|
|
et_ct_piechart,
|
|
et_ct_scatterser,
|
|
et_ct_scatterstyle,
|
|
et_ct_scatterchart,
|
|
et_ct_radarser,
|
|
et_ct_radarstyle,
|
|
et_ct_radarchart,
|
|
et_ct_stockchart,
|
|
et_ct_lineser,
|
|
et_ct_updownbars,
|
|
et_ct_updownbar,
|
|
et_ct_line3dchart,
|
|
et_ct_grouping,
|
|
et_ct_linechart,
|
|
et_ct_area3dchart,
|
|
et_ct_areaser,
|
|
et_ct_areachart,
|
|
et_ct_thickness,
|
|
et_ct_surface,
|
|
et_ct_perspective,
|
|
et_ct_depthpercent,
|
|
et_ct_roty,
|
|
et_ct_hpercent,
|
|
et_ct_rotx,
|
|
et_ct_view3d,
|
|
et_ct_pivotfmt,
|
|
et_ct_pivotfmts,
|
|
et_ct_protection,
|
|
et_ct_pivotsource,
|
|
et_ct_style1,
|
|
et_ct_style,
|
|
et_ct_textlanguageid,
|
|
et_ct_Chart,
|
|
et_ct_ChartStyle,
|
|
et_ct_Title,
|
|
et_ct_Tx,
|
|
et_ct_Rich,
|
|
et_ct_Legend,
|
|
et_ct_Overlay,
|
|
et_ct_LegendPos,
|
|
et_ct_LegendEntry,
|
|
et_ct_Layout,
|
|
et_ct_ManualLayout,
|
|
et_ct_PlotArea,
|
|
et_ct_CatAx,
|
|
et_ct_ValAx,
|
|
et_ct_CatAy,
|
|
et_ct_ValAy,
|
|
et_ct_BasicChart,
|
|
et_ct_Series,
|
|
et_ct_NumPoint,
|
|
et_ct_NumCache,
|
|
et_ct_NumCacheRef,
|
|
et_ct_NumCacheValues,
|
|
et_ct_SeriesCat,
|
|
et_ct_StrCacheRef,
|
|
et_ct_SeriesTx,
|
|
et_ct_SeriesMarker,
|
|
et_ct_SeriesDataLabels,
|
|
et_ct_SeriesShapeProperties,
|
|
et_ct_SeriesShapeIndex,
|
|
et_ct_SeriesShapeOrder,
|
|
et_ct_SeriesShapeOutline,
|
|
et_ct_alternatecontent,
|
|
et_ct_alternatecontentchoice,
|
|
et_ct_alternatecontentfallback,
|
|
et_ct_CategoryFilterExceptions,
|
|
et_ct_CategoryFilterException,
|
|
et_ct_SeriesDataLabelsRange,
|
|
et_ct_SeriesFiltering,
|
|
|
|
et_ct_TickMarks,
|
|
et_ct_Gridlines,
|
|
et_ct_DataPoint,
|
|
et_ct_DataLabels,
|
|
et_ct_DataLabel,
|
|
et_ct_DataLabelHidden,
|
|
et_ct_NumberFormat,
|
|
et_ct_SeriesLayoutProperties,
|
|
et_ct_Subtotals,
|
|
et_ct_Statistics,
|
|
et_ct_Binning,
|
|
et_ct_DataLabelVisibilities,
|
|
et_ct_SeriesElementVisibilities,
|
|
et_ct_StringValue,
|
|
et_ct_StringLevel,
|
|
et_ct_NumericValue,
|
|
et_ct_NumericLevel,
|
|
et_ct_Text,
|
|
et_ct_TextData,
|
|
et_ct_Formula,
|
|
et_ct_CatScaling,
|
|
et_ct_ValScaling,
|
|
et_ct_AxisUnitsLabel,
|
|
et_ct_AxisUnit,
|
|
et_ct_Axis,
|
|
et_ct_PlotSurface,
|
|
et_ct_PlotAreaRegion,
|
|
et_ct_Data,
|
|
et_ct_StrDimension,
|
|
et_ct_NumDimension,
|
|
et_ct_ChartData,
|
|
et_ct_ExternalData,
|
|
|
|
et_cs_ChartStyle,
|
|
et_cs_StyleEntry,
|
|
et_cs_MarkerLayout,
|
|
et_cs_ColorStyle,
|
|
et_cs_SchemeClr,
|
|
et_cs_Variation,
|
|
|
|
et_cdr_FromTo,
|
|
et_cdr_Ext,
|
|
et_cdr_RelSizeAnchor,
|
|
et_cdr_AbsSizeAnchor,
|
|
|
|
et_x_Unknown,
|
|
et_x_SpreadsheetFlat,
|
|
et_x_BookViews, // <bookViews>
|
|
et_x_Workbook,
|
|
et_x_WorkbookPr,
|
|
et_x_WorkbookProtection,
|
|
et_x_WorkbookView, // <workbookView>
|
|
et_x_FileSharing,
|
|
et_x_DefinedNames, // <definedNames>
|
|
et_x_DefinedName, // <definedName>
|
|
et_x_Sheets, // <sheets>
|
|
et_x_Sheet, // <sheet>
|
|
et_x_ExternalReference,
|
|
et_x_ExternalReferences,
|
|
et_x_Si, // <si>
|
|
et_x_PhoneticPr, // <PhoneticPr>
|
|
et_x_r, // <r>
|
|
et_x_rPr, // <rPr>
|
|
et_x_rPh, // <rPh>
|
|
et_x_t, // <t>
|
|
et_x_Borders, // <borders>
|
|
et_x_Border,
|
|
et_x_BorderProp,
|
|
et_x_CalcPr, // <calcPr>
|
|
et_x_CellStyles,
|
|
et_x_CellStyle,
|
|
et_x_CellStyleXfs,
|
|
et_x_CellXfs,
|
|
et_x_Xfs,
|
|
et_x_Aligment,
|
|
et_x_Protection,
|
|
et_x_Colors,
|
|
et_x_Color,
|
|
et_x_RgbColor,
|
|
et_x_IndexedColors,
|
|
et_x_MruColors,
|
|
et_x_Dxfs,
|
|
et_x_Dxf,
|
|
et_x_Fills,
|
|
et_x_Fill,
|
|
et_x_GradientFill,
|
|
et_x_GradientStop,
|
|
et_x_PatternFill,
|
|
et_x_BgColor,
|
|
et_x_FgColor,
|
|
et_x_Fonts,
|
|
et_x_Font,
|
|
et_x_NumFmts,
|
|
et_x_NumFmt,
|
|
et_x_TableStyles,
|
|
et_x_TableStyle,
|
|
et_x_TableStyleElement,
|
|
et_x_SheetData,
|
|
et_x_Row,
|
|
et_x_Cell,
|
|
et_x_Formula,
|
|
et_x_Data,
|
|
et_x_Cols,
|
|
et_x_Col,
|
|
et_x_Hyperlinks,
|
|
et_x_Hyperlink,
|
|
et_x_PageMargins,
|
|
et_x_PageSetup,
|
|
et_x_PrintOptions,
|
|
et_x_MergeCells,
|
|
et_x_MergeCell,
|
|
et_x_Dimension,
|
|
et_x_SheetFormatPr,
|
|
et_x_CellAnchor,
|
|
et_x_Pic,
|
|
et_x_BlipFill,
|
|
et_x_Blip,
|
|
et_x_FromTo,
|
|
et_x_Pos,
|
|
et_x_Ext,
|
|
et_x_ClientData,
|
|
et_x_CalcCell,
|
|
et_x_SheetViews,
|
|
et_x_SheetView,
|
|
et_x_ProtectedRanges,
|
|
et_x_ProtectedRange,
|
|
et_x_CellWatches,
|
|
et_x_CellWatch,
|
|
et_x_GraphicFrame,
|
|
et_x_Graphic,
|
|
et_x_GraphicData,
|
|
et_x_OleObjects,
|
|
et_x_OleObject,
|
|
et_x_OleObjectPr,
|
|
et_x_ExtAnchor,
|
|
et_x_Controls,
|
|
et_x_Control,
|
|
et_x_ControlPr,
|
|
et_x_OcxPr,
|
|
et_x_QueryTable,
|
|
et_x_QueryTableField,
|
|
et_x_QueryTableFields,
|
|
et_x_QueryTableRefresh,
|
|
et_x_QueryTableDeletedFields,
|
|
et_x_QueryTableDeletedField,
|
|
et_x_Connections,
|
|
et_x_Connection,
|
|
et_x_rangePr,
|
|
et_x_dbPr,
|
|
et_x_textPr,
|
|
et_x_olapPr,
|
|
et_x_webPr,
|
|
et_x_parameter,
|
|
et_x_parameters,
|
|
et_x_textFields,
|
|
et_x_textField,
|
|
et_x_TableParts,
|
|
et_x_TablePart,
|
|
et_x_Table,
|
|
et_x_TableColumns,
|
|
et_x_TableColumn,
|
|
et_x_TableStyleInfo,
|
|
et_x_xmlColumnPr,
|
|
et_x_AltTextTable,
|
|
et_x_SortState,
|
|
et_x_SortCondition,
|
|
et_x_Autofilter,
|
|
et_x_FilterColumn,
|
|
et_x_ColorFilter,
|
|
et_x_DynamicFilter,
|
|
et_x_CustomFilters,
|
|
et_x_Filters,
|
|
et_x_Filter,
|
|
et_x_DateGroupItem,
|
|
et_x_Authors,
|
|
et_x_CommentList,
|
|
et_x_Comment,
|
|
et_x_ThreadedComments,
|
|
et_x_ThreadedComment,
|
|
et_x_ThreadedCommentMentions,
|
|
et_x_ThreadedCommentMention,
|
|
et_x_PersonList,
|
|
et_x_Person,
|
|
et_x_ConditionalFormatting,
|
|
et_x_ConditionalFormattingRule,
|
|
et_x_ColorScale,
|
|
et_x_DataBar,
|
|
et_x_FormulaCF,
|
|
et_x_IconSet,
|
|
et_x_ConditionalFormatValueObject,
|
|
et_x_ConditionalFormatIconSet,
|
|
et_x_PageSetUpPr,
|
|
et_x_OutlinePr,
|
|
et_x_SheetPr,
|
|
et_x_Pane,
|
|
et_x_ExternalBook,
|
|
et_x_ExternalSheetNames,
|
|
et_x_ExternalDefinedNames,
|
|
et_x_ExternalDefinedName,
|
|
et_x_ExternalSheetDataSet,
|
|
et_x_ExternalSheetData,
|
|
et_x_ExternalRow,
|
|
et_x_ExternalCell,
|
|
et_x_AlternateUrls,
|
|
et_x_OleLink,
|
|
et_x_OleItems,
|
|
et_x_OleItem,
|
|
et_x_DdeLink,
|
|
et_x_DdeItems,
|
|
et_x_DdeItem,
|
|
et_x_DdeValues,
|
|
et_x_DdeValue,
|
|
et_x_Selection,
|
|
et_x_LegacyDrawingWorksheet,
|
|
et_x_LegacyDrawingHFWorksheet,
|
|
et_x_PictureWorksheet,
|
|
et_x_HeaderFooterWorksheet,
|
|
et_x_HeaderFooterElementWorksheet,
|
|
et_x_Break,
|
|
et_x_RowColBreaks,
|
|
et_x_SheetProtection,
|
|
et_x_DataValidations,
|
|
et_x_DataValidation,
|
|
et_x_DataValidationFormula,
|
|
et_x_DataConsolidate,
|
|
et_x_DataRefs,
|
|
et_x_DataRef,
|
|
et_x_FormControlPr,
|
|
et_x_ListItems,
|
|
et_x_ListItem,
|
|
|
|
et_x_UserProtectedRange,
|
|
et_x_UserProtectedRanges,
|
|
|
|
et_x_WorkbookPivotCache,
|
|
et_x_WorkbookPivotCaches,
|
|
|
|
et_x_PivotTableDefinition,
|
|
et_x_PivotCacheDefinition,
|
|
et_x_PivotCacheDefinitionExt,
|
|
et_x_PivotCacheRecords,
|
|
et_x_ColumnRowFields,
|
|
et_x_ColumnRowItems,
|
|
et_x_Field,
|
|
et_x_ColumnRowItem,
|
|
et_x_DataField,
|
|
et_x_DataFields,
|
|
et_x_PageField,
|
|
et_x_PageFields,
|
|
et_x_PivotField,
|
|
et_x_PivotFields,
|
|
et_x_FieldItem,
|
|
et_x_FieldItems,
|
|
et_x_AutoSortScope,
|
|
et_x_PivotArea,
|
|
et_x_References,
|
|
et_x_Reference,
|
|
et_x_PivotTableLocation,
|
|
et_x_PivotTableFormats,
|
|
et_x_PivotTableFormat,
|
|
et_x_PivotTableStyleInfo,
|
|
et_x_PivotTableFilters,
|
|
et_x_PivotTableFilter,
|
|
et_x_PivotCacheFields,
|
|
et_x_PivotCacheField,
|
|
et_x_SharedItems,
|
|
et_x_FieldGroupProperties,
|
|
et_x_DiscreteGroupingProperties,
|
|
et_x_RangeGroupingProperties,
|
|
et_x_OLAPGroupItems,
|
|
et_x_PivotCacheSource,
|
|
et_x_WorksheetSource,
|
|
et_x_ConsolidationSource,
|
|
et_x_PageItemValues,
|
|
et_x_PageItems,
|
|
et_x_PageItem,
|
|
et_x_RangeSets,
|
|
et_x_RangeSet,
|
|
et_x_PivotCharacterValue,
|
|
et_x_PivotBooleanValue,
|
|
et_x_PivotErrorValue,
|
|
et_x_PivotDateTimeValue,
|
|
et_x_PivotNoValue,
|
|
et_x_PivotNumericValue,
|
|
et_x_PivotCacheRecord,
|
|
et_x_SharedItemsIndex,
|
|
et_x_MemberPropertyIndex,
|
|
|
|
et_x_SlicerCacheDefinition,
|
|
et_x_SlicerCachePivotTable,
|
|
et_x_SlicerCacheData,
|
|
et_x_OlapSlicerCache,
|
|
et_x_TabularSlicerCache,
|
|
et_x_OlapSlicerCacheLevelsData,
|
|
et_x_OlapSlicerCacheSelections,
|
|
et_x_TabularSlicerCacheItems,
|
|
et_x_OlapSlicerCacheLevelData,
|
|
et_x_OlapSlicerCacheSelection,
|
|
et_x_TabularSlicerCacheItem,
|
|
et_x_OlapSlicerCacheRange,
|
|
et_x_OlapSlicerCacheItemParent,
|
|
et_x_OlapSlicerCacheItem,
|
|
et_x_SlicerCacheOlapLevelName,
|
|
et_x_SlicerCacheHideNoData,
|
|
et_x_TableSlicerCache,
|
|
et_x_SlicerStyleElement,
|
|
et_x_Slicer,
|
|
et_x_SlicerCache,
|
|
et_x_SlicerRef,
|
|
et_x_SlicerStyle,
|
|
et_x_Slicers,
|
|
et_x_SlicerCaches,
|
|
et_x_SlicerRefs,
|
|
et_x_SlicerStyles,
|
|
|
|
et_x_SortRule,
|
|
et_x_SortRules,
|
|
et_x_ColumnFilter,
|
|
et_x_NsvFilter,
|
|
et_x_NamedSheetView,
|
|
et_x_NamedSheetViews,
|
|
|
|
et_x_SparklineGroups,
|
|
et_x_SparklineGroup,
|
|
et_x_Sparklines,
|
|
et_x_Sparkline,
|
|
|
|
et_x_Style2003,
|
|
|
|
et_x_TimelineCachePivotTable,
|
|
et_x_TimelineRange,
|
|
et_x_TimelineCachePivotTables,
|
|
et_x_Timeline,
|
|
et_x_Timelines,
|
|
et_x_TimelineCacheDefinition,
|
|
et_x_TimelinePivotFilter,
|
|
et_x_TimelineState,
|
|
et_x_TimelineRefs,
|
|
et_x_TimelineRef,
|
|
et_x_TimelineCacheRefs,
|
|
et_x_TimelineCacheRef,
|
|
et_x_Timeslicer,
|
|
et_x_TimelineStyles,
|
|
et_x_TimelineStyle,
|
|
et_x_TimelineStyleElement,
|
|
|
|
et_x_Metadata,
|
|
et_x_FutureMetadata,
|
|
et_x_FutureMetadataBlock,
|
|
et_x_MetadataType,
|
|
et_x_MetadataTypes,
|
|
et_x_MetadataBlocks,
|
|
et_x_MetadataBlock,
|
|
et_x_MetadataRecord,
|
|
et_x_MetadataString,
|
|
et_x_MetadataStrings,
|
|
et_x_MdxMetadata,
|
|
et_x_Mdx,
|
|
et_x_MdxTuple,
|
|
et_x_MetadataStringIndex,
|
|
et_x_MdxSet,
|
|
et_x_MdxMemeberProp,
|
|
et_x_MdxKPI,
|
|
et_x_DynamicArrayProperties,
|
|
et_x_RichValueBlock,
|
|
et_x_MapInfo,
|
|
et_x_Schema,
|
|
et_x_Map,
|
|
et_x_DataBinding,
|
|
et_x_SingleXmlCells,
|
|
et_x_SingleXmlCell,
|
|
et_x_xmlCellPr,
|
|
et_x_xmlPr,
|
|
|
|
et_dr_Masters,
|
|
et_dr_Pages,
|
|
et_dr_DocumentSettings,
|
|
et_dr_ColorEntry,
|
|
et_dr_Colors,
|
|
et_dr_FaceName,
|
|
et_dr_FaceNames,
|
|
et_dr_StyleSheet,
|
|
et_dr_StyleSheets,
|
|
et_dr_EventItem,
|
|
et_dr_EventList,
|
|
et_dr_DocumentSheet,
|
|
et_dr_HeaderFooter,
|
|
et_dr_Shapes,
|
|
et_dr_Shape,
|
|
et_dr_Cell,
|
|
et_dr_Trigger,
|
|
et_dr_Section,
|
|
et_dr_Row,
|
|
et_dr_Text,
|
|
et_dr_text_cp,
|
|
et_dr_text_pp,
|
|
et_dr_text_tp,
|
|
et_dr_text_fld,
|
|
et_dr_text_text,
|
|
et_dr_ForeignData,
|
|
et_dr_Rel,
|
|
et_dr_RefBy,
|
|
et_dr_Connects,
|
|
et_dr_Connect,
|
|
et_dr_Page,
|
|
et_dr_Master,
|
|
et_dr_PageSheet,
|
|
et_dr_Icon,
|
|
et_dr_DataConnections,
|
|
et_dr_DataConnection,
|
|
et_dr_DataRecordSets,
|
|
et_dr_DataRecordSet,
|
|
et_dr_DataColumns,
|
|
et_dr_DataColumn,
|
|
et_dr_PrimaryKey,
|
|
et_dr_RowKeyValue,
|
|
et_dr_RowMap,
|
|
et_dr_RefreshConflict,
|
|
et_dr_AutoLinkComparison,
|
|
et_dr_ADOData,
|
|
et_dr_Windows,
|
|
et_dr_Window,
|
|
et_dr_SnapAngles,
|
|
et_dr_SnapAngle,
|
|
et_dr_PublishSettings,
|
|
et_dr_PublishedPage,
|
|
et_dr_RefreshableData,
|
|
et_dr_Solutions,
|
|
et_dr_Solution,
|
|
et_dr_Issues,
|
|
et_dr_Issue,
|
|
et_dr_IssueTarget,
|
|
et_dr_RuleInfo,
|
|
et_dr_Rule,
|
|
et_dr_RuleSet,
|
|
et_dr_RuleSets,
|
|
et_dr_CRuleFormula,
|
|
et_dr_RuleSetFlags,
|
|
et_dr_ValidationProperties,
|
|
et_dr_Comments,
|
|
et_dr_CommentList,
|
|
et_dr_AuthorList,
|
|
et_dr_CommentEntry,
|
|
et_dr_AuthorEntry
|
|
|
|
};
|
|
|
|
class File;
|
|
|
|
class Document
|
|
{
|
|
public:
|
|
Document();
|
|
virtual ~Document();
|
|
|
|
std::wstring m_sDocumentPath;
|
|
std::wstring m_sTempPath;
|
|
std::map<std::wstring, NSCommon::smart_ptr<OOX::File>> m_mapContent;
|
|
};
|
|
|
|
class WritingElement
|
|
{
|
|
public:
|
|
WritingElement(OOX::Document *pMain = NULL);
|
|
virtual ~WritingElement();
|
|
|
|
virtual void fromXML(XmlUtils::CXmlNode& node) = 0;
|
|
virtual std::wstring toXML() const = 0;
|
|
virtual EElementType getType() const { return OOX::et_Unknown; }
|
|
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader) {}
|
|
|
|
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader);
|
|
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const;
|
|
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const;
|
|
|
|
public:
|
|
OOX::Document *m_pMainDocument;
|
|
};
|
|
|
|
template<typename ElemType = WritingElement>
|
|
class WritingElementWithChilds : public WritingElement
|
|
{
|
|
public:
|
|
std::vector<ElemType *> m_arrItems;
|
|
|
|
WritingElementWithChilds(OOX::Document *pMain = NULL) : WritingElement(pMain){}
|
|
|
|
virtual ~WritingElementWithChilds()
|
|
{
|
|
ClearItems();
|
|
}
|
|
|
|
virtual void ClearItems()
|
|
{
|
|
for (size_t i = 0; i < m_arrItems.size(); ++i)
|
|
{
|
|
if (m_arrItems[i]) delete m_arrItems[i];
|
|
}
|
|
m_arrItems.clear();
|
|
}
|
|
};
|
|
}
|