Commit 04d03310 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

добавление новых объектов и дополнение старых объектов

(все дублирующие xml-стринги сохранены) 

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@57976 954022d7-b5bf-4e40-9824-e11837661b57
parent ac92d65a
...@@ -355,6 +355,7 @@ Common/ASCDocxFormat/Lib/Release/Utility.lib svn_mime_002dtype=application%2Foct ...@@ -355,6 +355,7 @@ Common/ASCDocxFormat/Lib/Release/Utility.lib svn_mime_002dtype=application%2Foct
Common/ASCDocxFormat/Lib/Release/XML.lib svn_mime_002dtype=application%2Foctet-stream Common/ASCDocxFormat/Lib/Release/XML.lib svn_mime_002dtype=application%2Foctet-stream
Common/DocxFormat/Source/CompoundDocument svnc_tsvn_003alogminsize=5 Common/DocxFormat/Source/CompoundDocument svnc_tsvn_003alogminsize=5
Common/DocxFormat/Source/CompoundDocument/detail svnc_tsvn_003alogminsize=5 Common/DocxFormat/Source/CompoundDocument/detail svnc_tsvn_003alogminsize=5
Common/DocxFormat/Source/DocxFormat/Diagram svnc_tsvn_003alogminsize=5
Common/DocxFormat/Source/SystemUtility/Solution/FileSystemTest/app.ico svn_mime_002dtype=application%2Foctet-stream Common/DocxFormat/Source/SystemUtility/Solution/FileSystemTest/app.ico svn_mime_002dtype=application%2Foctet-stream
Common/DocxFormat/Source/XML/libxml2/LIBXML2_LIB_TEST svnc_tsvn_003alogminsize=5 Common/DocxFormat/Source/XML/libxml2/LIBXML2_LIB_TEST svnc_tsvn_003alogminsize=5
Common/DocxFormat/Source/XML/libxml2/XML/doc/DOM.gif svn_mime_002dtype=application%2Foctet-stream Common/DocxFormat/Source/XML/libxml2/XML/doc/DOM.gif svn_mime_002dtype=application%2Foctet-stream
......
...@@ -676,6 +676,18 @@ ...@@ -676,6 +676,18 @@
> >
</File> </File>
</Filter> </Filter>
<Filter
Name="Sections"
>
<File
RelativePath="..\Source\DocxFormat\Logic\SectionProperty.cpp"
>
</File>
<File
RelativePath="..\Source\DocxFormat\Logic\SectionProperty.h"
>
</File>
</Filter>
</Filter> </Filter>
<Filter <Filter
Name="Numbering" Name="Numbering"
...@@ -840,6 +852,10 @@ ...@@ -840,6 +852,10 @@
RelativePath="..\Source\DocxFormat\Drawing\DrawingShape.h" RelativePath="..\Source\DocxFormat\Drawing\DrawingShape.h"
> >
</File> </File>
<File
RelativePath="..\Source\DocxFormat\Drawing\DrawingShapeElements.h"
>
</File>
<File <File
RelativePath="..\Source\DocxFormat\Drawing\DrawingShared.h" RelativePath="..\Source\DocxFormat\Drawing\DrawingShared.h"
> >
...@@ -857,21 +873,17 @@ ...@@ -857,21 +873,17 @@
> >
</File> </File>
<File <File
RelativePath="..\Source\DocxFormat\Drawing\DrawingTransform.h" RelativePath="..\Source\DocxFormat\Drawing\DrawingText.h"
> >
</File> </File>
<Filter <File
Name="Sections" RelativePath="..\Source\DocxFormat\Drawing\DrawingTextProperties.h"
> >
<File </File>
RelativePath="..\Source\DocxFormat\Logic\SectionProperty.cpp" <File
> RelativePath="..\Source\DocxFormat\Drawing\DrawingTransform.h"
</File> >
<File </File>
RelativePath="..\Source\DocxFormat\Logic\SectionProperty.h"
>
</File>
</Filter>
</Filter> </Filter>
<Filter <Filter
Name="Utility" Name="Utility"
...@@ -1329,6 +1341,14 @@ ...@@ -1329,6 +1341,14 @@
> >
</File> </File>
</Filter> </Filter>
<Filter
Name="Diagram"
>
<File
RelativePath="..\Source\DocxFormat\Diagram\DiagramDrawing.h"
>
</File>
</Filter>
<File <File
RelativePath="..\Source\SystemUtility\FileSystem\Directory.cpp" RelativePath="..\Source\SystemUtility\FileSystem\Directory.cpp"
> >
......
...@@ -3957,6 +3957,7 @@ namespace SimpleTypes ...@@ -3957,6 +3957,7 @@ namespace SimpleTypes
////new////////////// ////new//////////////
shapetypeBallon, shapetypeBallon,
shapetypeRightUpArrow, shapetypeRightUpArrow,
// WordArd - ,
shapetypeTextArchDownPour, shapetypeTextArchDownPour,
shapetypeTextArchUpPour, shapetypeTextArchUpPour,
shapetypeTextCanDown, shapetypeTextCanDown,
...@@ -5275,7 +5276,7 @@ namespace SimpleTypes ...@@ -5275,7 +5276,7 @@ namespace SimpleTypes
wchar_t wChar = sValue.GetAt(4); wchar_t wChar = sValue.GetAt(4);
switch ( wChar ) switch ( wChar )
{ {
case 'a': case 'A':
if ( _T("textArchDown") == sValue ) this->m_eValue = textshapetypeTextArchDown; if ( _T("textArchDown") == sValue ) this->m_eValue = textshapetypeTextArchDown;
else if ( _T("textArchDownPour") == sValue ) this->m_eValue = textshapetypeTextArchDownPour; else if ( _T("textArchDownPour") == sValue ) this->m_eValue = textshapetypeTextArchDownPour;
...@@ -5283,13 +5284,13 @@ namespace SimpleTypes ...@@ -5283,13 +5284,13 @@ namespace SimpleTypes
else if ( _T("textArchUpPour") == sValue ) this->m_eValue = textshapetypeTextArchUpPour; else if ( _T("textArchUpPour") == sValue ) this->m_eValue = textshapetypeTextArchUpPour;
break; break;
case 'b': case 'B':
if ( _T("textButton") == sValue ) this->m_eValue = textshapetypeTextButton; if ( _T("textButton") == sValue ) this->m_eValue = textshapetypeTextButton;
else if ( _T("textButtonPour") == sValue ) this->m_eValue = textshapetypeTextButtonPour; else if ( _T("textButtonPour") == sValue ) this->m_eValue = textshapetypeTextButtonPour;
break; break;
case 'c': case 'C':
if ( _T("textCanDown") == sValue ) this->m_eValue = textshapetypeTextCanDown; if ( _T("textCanDown") == sValue ) this->m_eValue = textshapetypeTextCanDown;
else if ( _T("textCanUp") == sValue ) this->m_eValue = textshapetypeTextCanUp; else if ( _T("textCanUp") == sValue ) this->m_eValue = textshapetypeTextCanUp;
...@@ -5303,7 +5304,7 @@ namespace SimpleTypes ...@@ -5303,7 +5304,7 @@ namespace SimpleTypes
else if ( _T("textCurveUp") == sValue ) this->m_eValue = textshapetypeTextCurveUp; else if ( _T("textCurveUp") == sValue ) this->m_eValue = textshapetypeTextCurveUp;
break; break;
case 'd': case 'D':
if ( _T("textDeflate") == sValue ) this->m_eValue = textshapetypeTextDeflate; if ( _T("textDeflate") == sValue ) this->m_eValue = textshapetypeTextDeflate;
else if ( _T("textDeflateBottom") == sValue ) this->m_eValue = textshapetypeTextDeflateBottom; else if ( _T("textDeflateBottom") == sValue ) this->m_eValue = textshapetypeTextDeflateBottom;
else if ( _T("textDeflateInflate") == sValue ) this->m_eValue = textshapetypeTextDeflateInflate; else if ( _T("textDeflateInflate") == sValue ) this->m_eValue = textshapetypeTextDeflateInflate;
...@@ -5312,49 +5313,49 @@ namespace SimpleTypes ...@@ -5312,49 +5313,49 @@ namespace SimpleTypes
else if ( _T("textDoubleWave1") == sValue ) this->m_eValue = textshapetypeTextDoubleWave1; else if ( _T("textDoubleWave1") == sValue ) this->m_eValue = textshapetypeTextDoubleWave1;
break; break;
case 'f': case 'F':
if ( _T("textFadeDown") == sValue ) this->m_eValue = textshapetypeTextFadeDown; if ( _T("textFadeDown") == sValue ) this->m_eValue = textshapetypeTextFadeDown;
else if ( _T("textFadeLeft") == sValue ) this->m_eValue = textshapetypeTextFadeLeft; else if ( _T("textFadeLeft") == sValue ) this->m_eValue = textshapetypeTextFadeLeft;
else if ( _T("textFadeRight") == sValue ) this->m_eValue = textshapetypeTextFadeRight; else if ( _T("textFadeRight") == sValue ) this->m_eValue = textshapetypeTextFadeRight;
else if ( _T("textFadeUp") == sValue ) this->m_eValue = textshapetypeTextFadeUp; else if ( _T("textFadeUp") == sValue ) this->m_eValue = textshapetypeTextFadeUp;
break; break;
case 'i': case 'I':
if ( _T("textInflate") == sValue ) this->m_eValue = textshapetypeTextInflate; if ( _T("textInflate") == sValue ) this->m_eValue = textshapetypeTextInflate;
else if ( _T("textInflateBottom") == sValue ) this->m_eValue = textshapetypeTextInflateBottom; else if ( _T("textInflateBottom") == sValue ) this->m_eValue = textshapetypeTextInflateBottom;
else if ( _T("textInflateTop") == sValue ) this->m_eValue = textshapetypeTextInflateTop; else if ( _T("textInflateTop") == sValue ) this->m_eValue = textshapetypeTextInflateTop;
break; break;
case 'n': case 'N':
if ( _T("textNoShape") == sValue ) this->m_eValue = textshapetypeTextNoShape; if ( _T("textNoShape") == sValue ) this->m_eValue = textshapetypeTextNoShape;
break; break;
case 'p': case 'P':
if ( _T("textPlain") == sValue ) this->m_eValue = textshapetypeTextPlain; if ( _T("textPlain") == sValue ) this->m_eValue = textshapetypeTextPlain;
break; break;
case 'r': case 'R':
if ( _T("textRingInside") == sValue ) this->m_eValue = textshapetypeTextRingInside; if ( _T("textRingInside") == sValue ) this->m_eValue = textshapetypeTextRingInside;
else if ( _T("textRingOutside") == sValue ) this->m_eValue = textshapetypeTextRingOutside; else if ( _T("textRingOutside") == sValue ) this->m_eValue = textshapetypeTextRingOutside;
break; break;
case 's': case 'S':
if ( _T("textSlantDown") == sValue ) this->m_eValue = textshapetypeTextSlantDown; if ( _T("textSlantDown") == sValue ) this->m_eValue = textshapetypeTextSlantDown;
else if ( _T("textSlantUp") == sValue ) this->m_eValue = textshapetypeTextSlantUp; else if ( _T("textSlantUp") == sValue ) this->m_eValue = textshapetypeTextSlantUp;
else if ( _T("textStop") == sValue ) this->m_eValue = textshapetypeTextStop; else if ( _T("textStop") == sValue ) this->m_eValue = textshapetypeTextStop;
break; break;
case 't': case 'T':
if ( _T("textTriangle") == sValue ) this->m_eValue = textshapetypeTextTriangle; if ( _T("textTriangle") == sValue ) this->m_eValue = textshapetypeTextTriangle;
else if ( _T("textTriangleInverted")== sValue ) this->m_eValue = textshapetypeTextTriangleInverted; else if ( _T("textTriangleInverted")== sValue ) this->m_eValue = textshapetypeTextTriangleInverted;
break; break;
case 'w': case 'W':
if ( _T("textWave1") == sValue ) this->m_eValue = textshapetypeTextWave1; if ( _T("textWave1") == sValue ) this->m_eValue = textshapetypeTextWave1;
else if ( _T("textWave2") == sValue ) this->m_eValue = textshapetypeTextWave2; else if ( _T("textWave2") == sValue ) this->m_eValue = textshapetypeTextWave2;
......
#pragma once
#include "../FileTypes.h"
#include "../File.h"
#include "../../Base/Nullable.h"
#include "../WritingElement.h"
#include "../Drawing/DrawingCoreInfo.h"
#include "../Drawing/DrawingText.h"
namespace OOX
{
namespace Diagram
{
//--------------------------------------------------------------------------------
// ?????? sp (Shape)
//--------------------------------------------------------------------------------
class CShape : public WritingElement
{
public:
CShape(XmlUtils::CXmlNode &oNode)
{
fromXML( oNode );
}
CShape(XmlUtils::CXmlLiteReader& oReader)
{
fromXML( oReader );
}
CShape()
{
}
virtual ~CShape()
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlNode& node)
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
if ( _T("dsp:spPr") == sName )
m_oSpPr = oReader;
//else if ( _T("dsp:nvSpPr") == sName )
// m_oNvSpPr = oReader;
else if ( _T("dsp:style") == sName )
m_oShapeStyle = oReader;
else if (_T("dsp:txBody") == sName)
m_oTxBody = oReader;
}
}
virtual EElementType getType () const
{
return et_dsp_Shape;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
}
public:
//nullable<OOX::Drawing::CShapeNonVisual> m_oNvSpPr;
nullable<OOX::Drawing::CShapeProperties> m_oSpPr;
nullable<OOX::Drawing::CShapeStyle> m_oShapeStyle;
nullable<OOX::Drawing::CTxBody> m_oTxBody;
//extLst (Extension List) 20.1.2.2.15
};
class CShapeTree : public WritingElementWithChilds<OOX::Diagram::CShape>
{
public:
WritingElement_AdditionConstructors(CShapeTree)
CShapeTree()
{
}
virtual ~CShapeTree()
{
}
public:
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nParentDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nParentDepth ) )
{
CString sName = oReader.GetName();
WritingElement *pItem = NULL;
if ( _T("dsp:sp") == sName )
m_arrItems.Add( new Diagram::CShape( oReader ));
//else if ( _T("dsp:nvGrpSpPr") == sName )
// m_oGroupShapeNonVisual = oReader;
else if ( _T("dsp:grpSpPr") == sName )
m_oGroupShapeProperties = oReader;
}
}
virtual CString toXML() const
{
CString sResult = _T("");
return sResult;
}
virtual EElementType getType() const
{
return et_dsp_ShapeTree;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_End( oReader )
}
public:
// Attributes
// Childs
//nullable<Diagram::CGroupShapeNonVisual> m_oGroupShapeNonVisual;
nullable<Drawing::CGroupShapeProperties> m_oGroupShapeProperties;
};
}
class CDiagramDrawing : public OOX::File
{
public:
CDiagramDrawing()
{
}
CDiagramDrawing(const CPath& oPath)
{
read( oPath );
}
virtual ~CDiagramDrawing()
{
for(int i = 0, length = m_arrShapeTree.GetSize(); i < length; ++i)
delete m_arrShapeTree[i];
m_arrShapeTree.RemoveAll();
}
public:
virtual void read(const CPath& oFilePath)
{
#ifdef USE_LITE_READER
XmlUtils::CXmlLiteReader oReader;
if ( !oReader.FromFile( oFilePath.GetPath() ) )
return;
if ( !oReader.ReadNextNode() )
return;
CWCharWrapper sName = oReader.GetName();
if ( _T("dsp:drawing") == sName && !oReader.IsEmptyNode() )
{
int nNumberingDepth = oReader.GetDepth();
while ( oReader.ReadNextSiblingNode( nNumberingDepth ) )
{
sName = oReader.GetName();
if ( _T("dsp:spTree") == sName )
m_arrShapeTree.Add( new Diagram::CShapeTree(oReader) );
}
}
#endif
}
virtual void write(const CPath& oFilePath, const CPath& oDirectory, CContentTypes& oContent) const
{
}
public:
virtual const OOX::FileType type() const
{
return FileTypes::DiagDrawing;
}
virtual const CPath DefaultDirectory() const
{
return type().DefaultDirectory();
}
virtual const CPath DefaultFileName() const
{
return type().DefaultFileName();
}
public:
CSimpleArray<Diagram::CShapeTree*> m_arrShapeTree;
};
} // namespace OOX
...@@ -98,6 +98,8 @@ namespace OOX ...@@ -98,6 +98,8 @@ namespace OOX
m_eType = et_xdr_cNvPr; m_eType = et_xdr_cNvPr;
else if ( _T("wps:cNvPr") == sName ) else if ( _T("wps:cNvPr") == sName )
m_eType = et_w_cNvPr; m_eType = et_w_cNvPr;
else if ( _T("dsp:cNvPr") == sName )
m_eType = et_dsp_cNvPr;
else else
return; return;
...@@ -130,6 +132,8 @@ namespace OOX ...@@ -130,6 +132,8 @@ namespace OOX
sResult = _T("<xdr:cNvPr "); sResult = _T("<xdr:cNvPr ");
else if ( et_w_cNvPr == m_eType ) else if ( et_w_cNvPr == m_eType )
sResult = _T("<wps:cNvPr "); sResult = _T("<wps:cNvPr ");
else if ( et_dsp_cNvPr == m_eType )
sResult = _T("<dsp:cNvPr ");
else else
return _T(""); return _T("");
...@@ -173,6 +177,8 @@ namespace OOX ...@@ -173,6 +177,8 @@ namespace OOX
sResult += _T("</wps:cNvPr>"); sResult += _T("</wps:cNvPr>");
else if ( et_xdr_cNvPr == m_eType ) else if ( et_xdr_cNvPr == m_eType )
sResult += _T("</xdr:cNvPr>"); sResult += _T("</xdr:cNvPr>");
else if ( et_dsp_cNvPr == m_eType )
sResult += _T("</dsp:cNvPr>");
return sResult; return sResult;
} }
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "../RId.h" #include "../RId.h"
#include "DrawingExt.h" #include "DrawingExt.h"
#include "DrawingShape.h" #include "DrawingShapeElements.h"
#include "DrawingTransform.h" #include "DrawingTransform.h"
#include "DrawingEffects.h" #include "DrawingEffects.h"
#include "DrawingStyles2.h" #include "DrawingStyles2.h"
...@@ -795,6 +795,8 @@ namespace OOX ...@@ -795,6 +795,8 @@ namespace OOX
m_eType = et_c_spPr; m_eType = et_c_spPr;
else if ( _T("wps:spPr") == sName ) else if ( _T("wps:spPr") == sName )
m_eType = et_w_spPr; m_eType = et_w_spPr;
else if ( _T("dsp:spPr") == sName )
m_eType = et_dsp_spPr;
else else
return; return;
...@@ -883,6 +885,8 @@ namespace OOX ...@@ -883,6 +885,8 @@ namespace OOX
sResult = _T("<c:spPr "); sResult = _T("<c:spPr ");
else if ( et_w_spPr == m_eType ) else if ( et_w_spPr == m_eType )
sResult = _T("<wps:spPr "); sResult = _T("<wps:spPr ");
else if ( et_dsp_spPr == m_eType )
sResult = _T("<dsp:spPr ");
else else
return _T(""); return _T("");
...@@ -988,6 +992,8 @@ namespace OOX ...@@ -988,6 +992,8 @@ namespace OOX
sResult = _T("</c:spPr>"); sResult = _T("</c:spPr>");
else if ( et_w_spPr == m_eType ) else if ( et_w_spPr == m_eType )
sResult = _T("</wps:spPr>"); sResult = _T("</wps:spPr>");
else if ( et_dsp_spPr == m_eType )
sResult = _T("</dsp:spPr>");
return sResult; return sResult;
} }
virtual EElementType getType() const virtual EElementType getType() const
...@@ -1100,6 +1106,8 @@ namespace OOX ...@@ -1100,6 +1106,8 @@ namespace OOX
m_eType = et_xdr_groupSpPr; m_eType = et_xdr_groupSpPr;
else if ( _T("wpg:grpSpPr") == sName ) else if ( _T("wpg:grpSpPr") == sName )
m_eType = et_w_groupSpPr; m_eType = et_w_groupSpPr;
else if ( _T("dsp:grpSpPr") == sName )
m_eType = et_dsp_groupSpPr;
else else
return; return;
...@@ -1257,6 +1265,7 @@ namespace OOX ...@@ -1257,6 +1265,7 @@ namespace OOX
{ {
return et_a_style; return et_a_style;
} }
//todooo namespae
public: public:
......
...@@ -868,6 +868,9 @@ namespace OOX ...@@ -868,6 +868,9 @@ namespace OOX
nullable<OOX::Drawing::CTileInfoProperties> m_oTile; nullable<OOX::Drawing::CTileInfoProperties> m_oTile;
nullable<OOX::Drawing::CStretchInfoProperties> m_oStretch; nullable<OOX::Drawing::CStretchInfoProperties> m_oStretch;
//todooo extList
//HD
}; };
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// BlurEffect 20.1.8.15 // BlurEffect 20.1.8.15
......
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
#include "DrawingExt.h" #include "DrawingExt.h"
#include "DrawingStyles.h" #include "DrawingStyles.h"
#include "DrawingShape.h"
#include "DrawingTransform.h" #include "DrawingTransform.h"
#include "DrawingPicture.h"
#include "DrawingCoreInfo.h"
#include "DrawingPicture.h"
#include "DrawingShape.h"
#include "../Logic/Shape.h" #include "../Logic/Shape.h"
namespace OOX namespace OOX
...@@ -36,7 +36,7 @@ namespace OOX ...@@ -36,7 +36,7 @@ namespace OOX
graphictypeGroupShape = 5, // 20.4 graphictypeGroupShape = 5, // 20.4
}; };
class CGraphic : public WritingElement class CGraphic : public WritingElementWithChilds<WritingElement> // - 1
{ {
public: public:
WritingElement_AdditionConstructors(CGraphic) WritingElement_AdditionConstructors(CGraphic)
...@@ -76,24 +76,39 @@ namespace OOX ...@@ -76,24 +76,39 @@ namespace OOX
sName = oReader.GetName(); sName = oReader.GetName();
if ( _T("pic:pic") == sName ) if ( _T("pic:pic") == sName )
{ {
m_oPicture = oReader; m_arrItems.Add( new OOX::Drawing::CPicture( oReader ));
m_eGraphicType = graphictypePicture; m_eGraphicType = graphictypePicture;
} }
else if ( _T("c:chart") == sName ) else if ( _T("c:chart") == sName )
{ {
m_oChart = oReader; m_arrItems.Add( new OOX::Drawing::CChart( oReader ));
m_eGraphicType = graphictypeChart; m_eGraphicType = graphictypeChart;
} }
else if ( _T("wps:wsp") == sName ) else if ( _T("wps:wsp") == sName )
{ {
m_oShape = oReader; m_arrItems.Add( new OOX::Logic::CShape( oReader ));
m_eGraphicType = graphictypeShape; m_eGraphicType = graphictypeShape;
} }
else if ( _T("wpg:wgp") == sName ) else if ( _T("wpg:wgp") == sName )
{ {
m_oGroupShape = oReader; m_arrItems.Add( new OOX::Logic::CGroupShape( oReader ));
m_eGraphicType = graphictypeGroupShape; m_eGraphicType = graphictypeGroupShape;
} }
else if ( _T("wpc:wpc") == sName )
{
m_arrItems.Add( new OOX::Logic::CLockedCanvas( oReader ));
m_eGraphicType = graphictypeLockedCanvas;
}
else if ( _T("lc:lockedCanvas") == sName )
{
m_arrItems.Add( new OOX::Drawing::CLockedCanvas( oReader ));
m_eGraphicType = graphictypeLockedCanvas;
}
else if ( _T("dgm:relIds") == sName )
{
m_arrItems.Add( new OOX::Drawing::CDiagrammParts( oReader ));
m_eGraphicType = graphictypeDiagram;
}
} }
} }
} }
...@@ -119,21 +134,10 @@ namespace OOX ...@@ -119,21 +134,10 @@ namespace OOX
} }
public: public:
EGraphicType m_eGraphicType; EGraphicType m_eGraphicType;
// Attributes // Attributes
nullable<CString> m_sUri; nullable<CString> m_sUri;
//Child
// Childs
nullable<OOX::Drawing::CPicture> m_oPicture;
nullable<OOX::Drawing::CChart> m_oChart;
nullable<OOX::Logic::CGroupShape> m_oGroupShape;
nullable<OOX::Logic::CShape> m_oShape;
}; };
} // Drawing } // Drawing
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "DrawingExt.h" #include "DrawingExt.h"
#include "DrawingEffects.h" #include "DrawingEffects.h"
#include "DrawingRun.h" #include "DrawingRun.h"
#include "DrawingBody.h" #include "DrawingTextProperties.h"
#include "DrawingCoreInfo.h" #include "DrawingCoreInfo.h"
namespace OOX namespace OOX
......
#pragma once
#ifndef OOX_LOGIC_DRAWING_BODY_INCLUDE_H_
#define OOX_LOGIC_DRAWING_BODY_INCLUDE_H_
#include "../../Base/Nullable.h"
#include "../../Common/SimpleTypes_Drawing.h"
#include "../../Common/SimpleTypes_Shared.h"
#include "../WritingElement.h"
#include "DrawingTextProperties.h"
#include "DrawingParagraph.h"
namespace OOX
{
namespace Drawing
{
//--------------------------------------------------------------------------------
// 20.1.2.2.40 txBody (Shape Text Body)
//--------------------------------------------------------------------------------
class CTxBody : public WritingElementWithChilds<Drawing::CParagraph>
{
public:
WritingElement_AdditionConstructors(CTxBody)
CTxBody()
{
}
virtual ~CTxBody()
{
}
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
if ( _T("a:bodyPr") == sName )
m_oBodyPr = oReader;
//if ( _T("a:lstStyle") == sName )
// m_oLstStyle = oReader;
else if ( _T("a:p") == sName )
m_arrItems.Add( new Drawing::CParagraph( oReader ));
}
}
virtual EElementType getType () const
{
return et_a_TextShapeBody;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
WritingElement_ReadAttributes_Start ( oReader )
WritingElement_ReadAttributes_End ( oReader )
}
public:
nullable<OOX::Drawing::CTextBodyProperties> m_oBodyPr;
//nullable<OOX::Drawing::CTextListStyle> m_oLstStyle;
};
//--------------------------------------------------------------------------------
// 20.1.2.2.41 txSp (Text Shape)
//--------------------------------------------------------------------------------
class CTxSp : public WritingElement
{
public:
WritingElement_AdditionConstructors(CTxSp)
CTxSp()
{
}
virtual ~CTxSp()
{
}
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO: fromXML(XmlUtils::CXmlNode& oNode)
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
if ( _T("a:txBody") == sName )
m_oTxBody = oReader;
//if ( _T("a:lstStyle") == sName )
// m_oLstStyle = oReader;
}
}
virtual EElementType getType () const
{
return et_a_TextShape;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
WritingElement_ReadAttributes_Start ( oReader )
WritingElement_ReadAttributes_End ( oReader )
}
public:
nullable<OOX::Drawing::CTxBody> m_oTxBody;
//extLst (Extension List) 20.1.2.2.15
//useSpRect (Use Shape Text Rectangle) 20.1.2.2.42
//xfrm (2D Transform for Individual Objects) 20.1.7.6
};
} // namespace Drawing
} // namespace OOX
#endif // OOX_LOGIC_DRAWING_BODY_INCLUDE_H_
\ No newline at end of file
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "Numbering.h" #include "Numbering.h"
#include "Comments.h" #include "Comments.h"
#include "UnknowTypeFile.h" #include "UnknowTypeFile.h"
#include "Diagram\DiagramDrawing.h"
namespace OOX namespace OOX
...@@ -86,6 +87,11 @@ namespace OOX ...@@ -86,6 +87,11 @@ namespace OOX
return smart_ptr<OOX::File>(new CCommentsExt( oFileName )); return smart_ptr<OOX::File>(new CCommentsExt( oFileName ));
else if ( oRelation.Type() == FileTypes::People ) else if ( oRelation.Type() == FileTypes::People )
return smart_ptr<OOX::File>(new CPeople( oFileName )); return smart_ptr<OOX::File>(new CPeople( oFileName ));
////
else if (oRelation.Type() == FileTypes::Data) // filepath
return smart_ptr<OOX::File>(new Image( oFileName ));
else if (oRelation.Type() == FileTypes::DiagDrawing)
return smart_ptr<OOX::File>(new CDiagramDrawing( oFileName ));
return smart_ptr<OOX::File>( new UnknowTypeFile() ); return smart_ptr<OOX::File>( new UnknowTypeFile() );
} }
......
...@@ -117,6 +117,10 @@ namespace OOX ...@@ -117,6 +117,10 @@ namespace OOX
_T("application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml"), _T("application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml"),
_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData")); _T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData"));
const FileType DiagDrawing(L"diagrams", L"drawing.xml",
_T("application/vnd.openxmlformats-officedocument.drawingml.diagramDrawing+xml"),
_T("http://schemas.microsoft.com/office/2007/relationships/diagramDrawing"));
const FileType Layout(L"diagrams", L"layout.xml", const FileType Layout(L"diagrams", L"layout.xml",
_T("application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml"), _T("application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml"),
_T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout")); _T("http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout"));
......
...@@ -29,6 +29,8 @@ namespace OOX ...@@ -29,6 +29,8 @@ namespace OOX
void CParagraph::fromXML(XmlUtils::CXmlNode& oNode) void CParagraph::fromXML(XmlUtils::CXmlNode& oNode)
{ {
m_oParagraphProperty = NULL;
oNode.ReadAttributeBase( _T("w:rsidDel"), m_oRsidDel ); oNode.ReadAttributeBase( _T("w:rsidDel"), m_oRsidDel );
oNode.ReadAttributeBase( _T("w:rsidP"), m_oRsidP ); oNode.ReadAttributeBase( _T("w:rsidP"), m_oRsidP );
oNode.ReadAttributeBase( _T("w:rsidR"), m_oRsidR ); oNode.ReadAttributeBase( _T("w:rsidR"), m_oRsidR );
...@@ -105,7 +107,9 @@ namespace OOX ...@@ -105,7 +107,9 @@ namespace OOX
else if ( _T("w:permStart") == sName ) else if ( _T("w:permStart") == sName )
pItem = new CPermStart( oItem ); pItem = new CPermStart( oItem );
else if ( _T("w:pPr") == sName ) else if ( _T("w:pPr") == sName )
pItem = new CParagraphProperty( oItem ); {
pItem = m_oParagraphProperty = new CParagraphProperty( oItem );
}
else if ( _T("w:proofErr") == sName ) else if ( _T("w:proofErr") == sName )
pItem = new CProofErr( oItem ); pItem = new CProofErr( oItem );
else if ( _T("w:r") == sName ) else if ( _T("w:r") == sName )
...@@ -127,6 +131,8 @@ namespace OOX ...@@ -127,6 +131,8 @@ namespace OOX
void CParagraph::fromXML(XmlUtils::CXmlLiteReader& oReader) void CParagraph::fromXML(XmlUtils::CXmlLiteReader& oReader)
{ {
m_oParagraphProperty = NULL;
ReadAttributes( oReader ); ReadAttributes( oReader );
if ( oReader.IsEmptyNode() ) if ( oReader.IsEmptyNode() )
...@@ -197,7 +203,9 @@ namespace OOX ...@@ -197,7 +203,9 @@ namespace OOX
else if ( _T("w:permStart") == sName ) else if ( _T("w:permStart") == sName )
pItem = new CPermStart( oReader ); pItem = new CPermStart( oReader );
else if ( _T("w:pPr") == sName ) else if ( _T("w:pPr") == sName )
pItem = new CParagraphProperty( oReader ); {
pItem = m_oParagraphProperty = new CParagraphProperty( oReader );// c .. /
}
else if ( _T("w:proofErr") == sName ) else if ( _T("w:proofErr") == sName )
pItem = new CProofErr( oReader ); pItem = new CProofErr( oReader );
else if ( _T("w:r") == sName ) else if ( _T("w:r") == sName )
......
...@@ -18,6 +18,7 @@ namespace OOX ...@@ -18,6 +18,7 @@ namespace OOX
{ {
namespace Logic namespace Logic
{ {
class CParagraphProperty;
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CParagraph 17.3.1.22 (Part 1) // CParagraph 17.3.1.22 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -26,6 +27,7 @@ namespace OOX ...@@ -26,6 +27,7 @@ namespace OOX
public: public:
CParagraph() CParagraph()
{ {
m_oParagraphProperty = NULL;
} }
CParagraph(XmlUtils::CXmlNode &oNode) CParagraph(XmlUtils::CXmlNode &oNode)
{ {
...@@ -46,6 +48,7 @@ namespace OOX ...@@ -46,6 +48,7 @@ namespace OOX
} }
m_arrItems.RemoveAll(); m_arrItems.RemoveAll();
m_oParagraphProperty = NULL;
} }
public: public:
...@@ -83,6 +86,7 @@ namespace OOX ...@@ -83,6 +86,7 @@ namespace OOX
} }
m_arrItems.RemoveAll(); m_arrItems.RemoveAll();
m_oParagraphProperty = NULL;
} }
void AddRun(CRun *pRun); void AddRun(CRun *pRun);
...@@ -122,6 +126,8 @@ namespace OOX ...@@ -122,6 +126,8 @@ namespace OOX
// Childs // Childs
CSimpleArray<WritingElement *> m_arrItems; CSimpleArray<WritingElement *> m_arrItems;
CParagraphProperty * m_oParagraphProperty; // m_arrItems... - /
// Drawing::Paragraph -
}; };
} // namespace Logic } // namespace Logic
} // namespace OOX } // namespace OOX
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include "../../Common/SimpleTypes_Word.h" #include "../../Common/SimpleTypes_Word.h"
#include "../../Common/ComplexTypes.h" #include "../../Common/ComplexTypes.h"
// TO DO: 1. CObject 17.3.3.19
// 2. CRuby 17.3.3.25 // 2. CRuby 17.3.3.25
namespace OOX namespace OOX
...@@ -485,39 +484,6 @@ namespace OOX ...@@ -485,39 +484,6 @@ namespace OOX
}; };
//--------------------------------------------------------------------------------
// CObject 17.3.3.19 (Part 1)
//--------------------------------------------------------------------------------
// TO DO: CObject 17.3.3.19 (Part 1)
class CObject : public WritingElement
{
public:
WritingElement_AdditionConstructors(CObject)
CObject() {}
virtual ~CObject() {}
public:
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
if ( !oReader.IsEmptyNode() )
oReader.ReadTillEnd( oReader.GetDepth() );
}
virtual CString toXML() const
{
return _T("<w:object />");
}
virtual EElementType getType() const
{
return et_w_object;
}
};
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// CPgNum 17.3.3.22 (Part 1) // CPgNum 17.3.3.22 (Part 1)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "../Logic/FldChar.h" #include "../Logic/FldChar.h"
#include "../Logic/RunProperty.h" #include "../Logic/RunProperty.h"
#include "../Logic/Annotations.h" #include "../Logic/Annotations.h"
#include "../Logic/Pict.h"
#include "../Drawing/Drawing.h" #include "../Drawing/Drawing.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "../DocxFormat/Drawing/DrawingCoreInfo.h" #include "../DocxFormat/Drawing/DrawingCoreInfo.h"
#include "../DocxFormat/Drawing/DrawingEffects.h" #include "../DocxFormat/Drawing/DrawingEffects.h"
#include "../DocxFormat/Drawing/DrawingBody.h" #include "../DocxFormat/Drawing/DrawingTextProperties.h"
#include "../DocxFormat/Drawing/DrawingParagraph.h" #include "../DocxFormat/Drawing/DrawingParagraph.h"
#include "ComplexTypes_Spreadsheet.h" #include "ComplexTypes_Spreadsheet.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment