Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
onlyoffice_core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
onlyoffice_core
Commits
dac6ae2e
Commit
dac6ae2e
authored
Jan 19, 2017
by
ElenaSubbotina
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x2t - PPTX format - refactoring
parent
9f145333
Changes
48
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
1216 additions
and
2291 deletions
+1216
-2291
ASCOfficeDocxFile2/X2tConverter_win_test.sln
ASCOfficeDocxFile2/X2tConverter_win_test.sln
+29
-28
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
+1
-1
ASCOfficePPTXFile/Editor/BinWriters.h
ASCOfficePPTXFile/Editor/BinWriters.h
+1
-1
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.cpp
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.cpp
+5
-7
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.h
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.h
+5
-2
ASCOfficePPTXFile/Editor/PPTXWriter.h
ASCOfficePPTXFile/Editor/PPTXWriter.h
+5
-5
ASCOfficePPTXFile/File.cpp
ASCOfficePPTXFile/File.cpp
+1
-1
ASCOfficePPTXFile/PPTXFormat/App.h
ASCOfficePPTXFile/PPTXFormat/App.h
+2
-1
ASCOfficePPTXFile/PPTXFormat/Core.h
ASCOfficePPTXFile/PPTXFormat/Core.h
+3
-3
ASCOfficePPTXFile/PPTXFormat/DocxFormat/DateTime.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/DateTime.h
+0
-82
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Drawing/VmlDrawing.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Drawing/VmlDrawing.h
+0
-313
ASCOfficePPTXFile/PPTXFormat/DocxFormat/NamespaceOwn.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/NamespaceOwn.h
+0
-50
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/File.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/File.h
+0
-159
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationShip.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationShip.h
+0
-128
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationTable.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationTable.h
+0
-75
ASCOfficePPTXFile/PPTXFormat/DocxFormat/WritingElement.h
ASCOfficePPTXFile/PPTXFormat/DocxFormat/WritingElement.h
+0
-186
ASCOfficePPTXFile/PPTXFormat/FileContainer.cpp
ASCOfficePPTXFile/PPTXFormat/FileContainer.cpp
+23
-22
ASCOfficePPTXFile/PPTXFormat/FileContainer.h
ASCOfficePPTXFile/PPTXFormat/FileContainer.h
+4
-4
ASCOfficePPTXFile/PPTXFormat/FileFactory.cpp
ASCOfficePPTXFile/PPTXFormat/FileFactory.cpp
+50
-48
ASCOfficePPTXFile/PPTXFormat/FileFactory.h
ASCOfficePPTXFile/PPTXFormat/FileFactory.h
+6
-5
ASCOfficePPTXFile/PPTXFormat/FileMap.h
ASCOfficePPTXFile/PPTXFormat/FileMap.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/FileTypes.h
ASCOfficePPTXFile/PPTXFormat/FileTypes.h
+235
-235
ASCOfficePPTXFile/PPTXFormat/Folder.cpp
ASCOfficePPTXFile/PPTXFormat/Folder.cpp
+6
-5
ASCOfficePPTXFile/PPTXFormat/HandoutMaster.h
ASCOfficePPTXFile/PPTXFormat/HandoutMaster.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/Logic/Controls.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Controls.cpp
+3
-3
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp
+3
-3
ASCOfficePPTXFile/PPTXFormat/Logic/Hyperlink.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Hyperlink.cpp
+1
-1
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.cpp
+3
-3
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.cpp
+4
-3
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.h
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.h
+1
-0
ASCOfficePPTXFile/PPTXFormat/Namespaces.h
ASCOfficePPTXFile/PPTXFormat/Namespaces.h
+132
-130
ASCOfficePPTXFile/PPTXFormat/NotesMaster.h
ASCOfficePPTXFile/PPTXFormat/NotesMaster.h
+2
-1
ASCOfficePPTXFile/PPTXFormat/NotesSlide.h
ASCOfficePPTXFile/PPTXFormat/NotesSlide.h
+2
-1
ASCOfficePPTXFile/PPTXFormat/PresProps.h
ASCOfficePPTXFile/PPTXFormat/PresProps.h
+1
-2
ASCOfficePPTXFile/PPTXFormat/Presentation.h
ASCOfficePPTXFile/PPTXFormat/Presentation.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/Slide.h
ASCOfficePPTXFile/PPTXFormat/Slide.h
+8
-8
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
+4
-4
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
+3
-3
ASCOfficePPTXFile/PPTXFormat/TableStyles.h
ASCOfficePPTXFile/PPTXFormat/TableStyles.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/Theme.h
ASCOfficePPTXFile/PPTXFormat/Theme.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/ViewProps.h
ASCOfficePPTXFile/PPTXFormat/ViewProps.h
+1
-2
ASCOfficePPTXFile/PPTXFormat/WrapperFile.h
ASCOfficePPTXFile/PPTXFormat/WrapperFile.h
+1
-1
ASCOfficePPTXFile/PPTXFormat/WrapperWritingElement.h
ASCOfficePPTXFile/PPTXFormat/WrapperWritingElement.h
+5
-5
ASCOfficePPTXFile/PPTXFormat/WritingVector.h
ASCOfficePPTXFile/PPTXFormat/WritingVector.h
+96
-96
ASCOfficePPTXFile/PPTXFormat/legacydiagramtext.h
ASCOfficePPTXFile/PPTXFormat/legacydiagramtext.h
+558
-557
ASCOfficePPTXFile/PPTXLib/Linux/PPTXFormatLib/PPTXFormatLib.pro
...icePPTXFile/PPTXLib/Linux/PPTXFormatLib/PPTXFormatLib.pro
+5
-12
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
+1
-89
Common/DocxFormat/Source/DocxFormat/VmlDrawing.h
Common/DocxFormat/Source/DocxFormat/VmlDrawing.h
+1
-1
No files found.
ASCOfficeDocxFile2/X2tConverter_win_test.sln
View file @
dac6ae2e
...
...
@@ -13,13 +13,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\DesktopEdito
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cximage", "..\DesktopEditor\cximage\CxImage\cximage_vs2005.vcproj", "{BC52A07C-A797-423D-8C4F-8678805BBB36}"
ProjectSection(ProjectDependencies) = postProject
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jasper", "..\DesktopEditor\cximage\jasper\jasper_vs2005.vcproj", "{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}"
...
...
@@ -56,29 +56,30 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "X2tTest", "..\X2tConverter\test\win32Test\X2tTest.vcproj", "{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}"
ProjectSection(ProjectDependencies) = postProject
{C5371405-338F-4B70-83BD-2A5CDF64F383} = {C5371405-338F-4B70-83BD-2A5CDF64F383}
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF} = {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{F8274B05-168E-4D6E-B843-AA7510725363} = {F8274B05-168E-4D6E-B843-AA7510725363}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{BEE01B53-244A-44E6-8947-ED9342D9247E} = {BEE01B53-244A-44E6-8947-ED9342D9247E}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD} = {E5A67556-44DA-4481-8F87-0A3AEDBD20DD}
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{DACBE6CA-E089-47D1-8CE7-C7DB59C15417} = {DACBE6CA-E089-47D1-8CE7-C7DB59C15417}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{AF2D00A7-A351-4700-AE88-C1D9ADE29345} = {AF2D00A7-A351-4700-AE88-C1D9ADE29345}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{7B27E40E-F70A-4A74-A77C-0944D7931D15} = {7B27E40E-F70A-4A74-A77C-0944D7931D15}
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA} = {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D} = {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C} = {C27E9A9F-3A17-4482-9C5F-BF15C01E747C}
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D} = {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA} = {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}
{7B27E40E-F70A-4A74-A77C-0944D7931D15} = {7B27E40E-F70A-4A74-A77C-0944D7931D15}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{AF2D00A7-A351-4700-AE88-C1D9ADE29345} = {AF2D00A7-A351-4700-AE88-C1D9ADE29345}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{DACBE6CA-E089-47D1-8CE7-C7DB59C15417} = {DACBE6CA-E089-47D1-8CE7-C7DB59C15417}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD} = {E5A67556-44DA-4481-8F87-0A3AEDBD20DD}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{BEE01B53-244A-44E6-8947-ED9342D9247E} = {BEE01B53-244A-44E6-8947-ED9342D9247E}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{F8274B05-168E-4D6E-B843-AA7510725363} = {F8274B05-168E-4D6E-B843-AA7510725363}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF} = {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsFormat", "..\ASCOfficeXlsFile2\source\win32\XlsFormat.vcproj", "{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}"
...
...
ASCOfficePPTXFile/ASCOfficeDrawingConverter.cpp
View file @
dac6ae2e
...
...
@@ -45,7 +45,7 @@
#include "./PPTXFormat/Logic/Colors/SchemeClr.h"
#include "./PPTXFormat/Logic/Colors/SysClr.h"
#include "./PPTXFormat/PPTX.h"
#include "./PPTXFormat/
DocxFormat/Drawing/
LegacyDiagramText.h"
#include "./PPTXFormat/LegacyDiagramText.h"
#include "./Editor/Drawing/Elements.h"
#include "./Editor/Drawing/Shapes/BaseShape/PPTXShape/pptx2pptshapeconverter.h"
...
...
ASCOfficePPTXFile/Editor/BinWriters.h
View file @
dac6ae2e
...
...
@@ -37,6 +37,6 @@
#include "imagemanager.h"
#include "./XmlWriter.h"
#include "../PPTXFormat/FileContainer.h"
#include "../
PPTXFormat
/DocxFormat/WritingElement.h"
#include "../
../Common/DocxFormat/Source
/DocxFormat/WritingElement.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
#include "BinaryFileReaderWriter.h"
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.cpp
View file @
dac6ae2e
...
...
@@ -30,22 +30,20 @@
*
*/
#include "BinaryFileReaderWriter.h"
#include "BinReaderWriterDefines.h"
#include "../../Common/DocxFormat/Source/Base/Nullable.h"
#include "
BinReaderWriterDefines
.h"
#include "
../../Common/DocxFormat/Source/DocxFormat/WritingElement
.h"
#include "../../Common/Base64.h"
#include "./imagemanager.h"
#include "./XmlWriter.h"
#include "BinaryFileReaderWriter.h"
#include "../PPTXFormat/FileContainer.h"
#include "../PPTXFormat/DocxFormat/WritingElement.h"
#include "./FontPicker.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
#include "FontPicker.h"
#include "../../DesktopEditor/common/File.h"
#include "../PPTXFormat/FileContainer.h"
#define BYTE_SIZEOF sizeof(BYTE)
#define UINT16_SIZEOF sizeof(_UINT16)
...
...
@@ -686,7 +684,7 @@ namespace NSBinPptxRW
m_pCommon
=
new
CCommonWriter
();
m_pCommonRels
=
new
NSCommon
::
smart_ptr
<
PPTX
::
CCommonRels
>
();
ThemeDoc
=
new
NSCommon
::
smart_ptr
<
PPTX
::
FileContainer
>
();
ClrMapDoc
=
new
NSCommon
::
smart_ptr
<
PPT
X
::
WritingElement
>
();
ClrMapDoc
=
new
NSCommon
::
smart_ptr
<
OO
X
::
WritingElement
>
();
Clear
();
}
...
...
ASCOfficePPTXFile/Editor/BinaryFileReaderWriter.h
View file @
dac6ae2e
...
...
@@ -46,6 +46,10 @@
class
COfficeFontPicker
;
namespace
OOX
{
class
WritingElement
;
}
namespace
NSCommon
{
template
<
typename
Type
>
class
smart_ptr
;
...
...
@@ -57,7 +61,6 @@ namespace NSCommon
}
namespace
PPTX
{
class
WritingElement
;
class
FileContainer
;
class
CCommonRels
;
}
...
...
@@ -237,7 +240,7 @@ namespace NSBinPptxRW
BinDocxRW
::
CDocxSerializer
*
m_pMainDocument
;
NSCommon
::
smart_ptr
<
PPTX
::
FileContainer
>*
ThemeDoc
;
NSCommon
::
smart_ptr
<
PPT
X
::
WritingElement
>*
ClrMapDoc
;
NSCommon
::
smart_ptr
<
OO
X
::
WritingElement
>*
ClrMapDoc
;
private:
BYTE
*
m_pStreamData
;
BYTE
*
m_pStreamCur
;
...
...
ASCOfficePPTXFile/Editor/PPTXWriter.h
View file @
dac6ae2e
...
...
@@ -42,11 +42,11 @@ namespace NSBinPptxRW
class
CPPTXWriter
{
private:
CBinaryFileReader
m_oReader
;
CImageManager2
m_oImageManager
;
CBinaryFileReader
m_oReader
;
CImageManager2
m_oImageManager
;
std
::
wstring
m_strDstFolder
;
std
::
map
<
BYTE
,
LONG
>
m_mainTables
;
std
::
map
<
BYTE
,
LONG
>
m_mainTables
;
std
::
vector
<
PPTX
::
Theme
>
m_arThemes
;
...
...
@@ -65,14 +65,14 @@ namespace NSBinPptxRW
PPTX
::
Presentation
m_oPresentation
;
PPTX
::
TableStyles
m_oTableStyles
;
PPTX
::
VmlDrawing
m_oVmlDrawing
;
OOX
::
C
VmlDrawing
m_oVmlDrawing
;
PPTX
::
App
m_oApp
;
PPTX
::
Core
m_oCore
;
PPTX
::
ViewProps
m_oViewProps
;
PPTX
::
PresProps
m_oPresProps
;
PPTX
::
NotesSlide
m_oDefaultNote
;
bool
m_bIsDefaultNoteMaster
;
PPTX
::
NotesSlide
m_oDefaultNote
;
public:
...
...
ASCOfficePPTXFile/File.cpp
View file @
dac6ae2e
...
...
@@ -29,7 +29,7 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//#include "stdafx.h"
#include "File.h"
...
...
ASCOfficePPTXFile/PPTXFormat/App.h
View file @
dac6ae2e
...
...
@@ -34,9 +34,10 @@
#define PPTX_APP_FILE_INCLUDE_H_
#include "WrapperFile.h"
#include "FileTypes.h"
#include "Logic/PartTitle.h"
#include "Logic/HeadingVariant.h"
#include "DocxFormat/FileTypes.h"
using
namespace
NSBinPptxRW
;
...
...
ASCOfficePPTXFile/PPTXFormat/Core.h
View file @
dac6ae2e
...
...
@@ -34,10 +34,10 @@
#define PPTX_CORE_FILE_INCLUDE_H_
#include "WrapperFile.h"
#include "DocxFormat/WritingElement.h"
//#include "DocxFormat/DateTime.h"
#include "
../../Common/DocxFormat/Source/
DocxFormat/WritingElement.h"
#include "Limit/ContentStatus.h"
#include "
DocxFormat/
FileTypes.h"
#include "FileTypes.h"
using
namespace
NSBinPptxRW
;
...
...
ASCOfficePPTXFile/PPTXFormat/DocxFormat/DateTime.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_DATE_TIME_INCLUDE_H_
#define PPTXOOX_DATE_TIME_INCLUDE_H_
#include "../../../Common/DocxFormat/Source/Utility/Utility.h"
namespace
PPTX
{
class
DateTime
{
public:
DateTime
()
{
}
explicit
DateTime
(
const
std
::
wstring
&
value
)
:
m_datetime
(
value
,
s_pattern
)
{
}
explicit
DateTime
(
const
::
DateTime
&
dt
)
:
m_datetime
(
dt
)
{
}
public:
std
::
wstring
ToString
()
const
{
return
m_datetime
.
ToString
(
s_pattern
);
}
static
DateTime
Parse
(
const
std
::
wstring
&
value
)
{
return
DateTime
(
value
);
}
public:
::
DateTime
&
datetime
()
{
return
m_datetime
;
}
const
::
DateTime
&
datetime
()
const
{
return
m_datetime
;
}
private:
static
const
std
::
wstring
s_pattern
;
::
DateTime
m_datetime
;
};
const
std
::
wstring
DateTime
::
s_pattern
=
_T
(
"%YYYY-%MM-%DDT%hh:%mm:%ssZ"
);
}
// namespace PPTX
#endif // PPTXOOX_DATE_TIME_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Drawing/VmlDrawing.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTX_VMLDRAWING_INCLUDE_H_
#define PPTX_VMLDRAWING_INCLUDE_H_
#include "../../WrapperFile.h"
#include "../../FileContainer.h"
#include "../../../../Common/DocxFormat/Source/DocxFormat/RId.h"
#include "../../../../Common/DocxFormat/Source/DocxFormat/Logic/Vml.h"
namespace
PPTX
{
class
VmlDrawing
:
public
WrapperFile
,
public
PPTX
::
FileContainer
{
public:
VmlDrawing
()
{
}
VmlDrawing
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
)
{
read
(
filename
,
map
);
}
virtual
~
VmlDrawing
()
{
}
public:
virtual
void
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
)
{
m_filename
=
filename
;
//FileContainer::read(filename, map);
//так как это не совсем xml - поправим
CFile
file
;
if
(
file
.
OpenFile
(
filename
.
GetPath
())
!=
S_OK
)
return
;
int
DataSize
=
file
.
GetFileSize
();
BYTE
*
Data
=
new
BYTE
[
DataSize
];
std
::
wstring
fileContent
;
if
(
Data
)
{
file
.
ReadFile
(
Data
,
DataSize
);
fileContent
=
NSFile
::
CUtf8Converter
::
GetUnicodeStringFromUTF8
(
Data
,
DataSize
);
delete
[]
Data
;
}
file
.
CloseFile
();
if
(
fileContent
.
length
()
>
0
)
{
// элементы вида <br> без </br>
// test_vml4.xlsx
replace_all
(
fileContent
,
_T
(
"<br>"
),
_T
(
""
));
// элементы вида <![if ...]>, <![endif]>
// Zigmunds.pptx
while
(
true
)
{
int
res1
=
fileContent
.
find
(
_T
(
"<!["
));
if
(
res1
<
0
)
break
;
int
res2
=
fileContent
.
find
(
_T
(
">"
),
res1
);
if
(
res1
>=
0
&&
res2
>=
0
)
{
fileContent
=
fileContent
.
erase
(
res1
,
res2
-
res1
+
1
);
}
}
read
(
fileContent
);
}
}
virtual
void
write
(
const
OOX
::
CPath
&
filename
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
{
content
.
Registration
(
type
().
OverrideType
(),
directory
,
filename
);
m_written
=
false
;
//m_WrittenFileName = filename.GetFilename();
//FileContainer::write(filename, directory, content);
}
public:
virtual
const
OOX
::
FileType
type
()
const
{
return
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
;
}
virtual
const
OOX
::
CPath
DefaultDirectory
()
const
{
return
type
().
DefaultDirectory
();
}
virtual
const
OOX
::
CPath
DefaultFileName
()
const
{
return
type
().
DefaultFileName
();
}
const
OOX
::
CPath
filename
()
const
{
return
m_filename
;
}
std
::
map
<
std
::
wstring
,
std
::
wstring
>
m_mapShapesXml
;
//связь id (_x0000_s1025) с xml для OfficeDrawing
private:
OOX
::
CPath
m_filename
;
void
replace_all
(
std
::
wstring
&
subject
,
const
std
::
wstring
search
,
const
std
::
wstring
replace
)
{
size_t
pos
=
0
;
while
((
pos
=
subject
.
find
(
search
,
pos
))
!=
std
::
string
::
npos
)
{
subject
.
replace
(
pos
,
search
.
length
(),
replace
);
pos
+=
replace
.
length
();
}
}
void
read
(
std
::
wstring
&
fileContent
)
{
XmlUtils
::
CXmlLiteReader
oReader
;
if
(
!
oReader
.
FromString
(
fileContent
))
return
;
if
(
!
oReader
.
ReadNextNode
()
)
return
;
std
::
wstring
sName1
=
XmlUtils
::
GetNameNoNS
(
oReader
.
GetName
());
if
(
_T
(
"xml"
)
==
sName1
)
{
//ReadAttributes( oReader );
std
::
wstring
elementContent
;
bool
bReadyElement
=
false
;
//собираем все до нахождения собственно элемента
if
(
!
oReader
.
IsEmptyNode
()
)
{
int
nStylesDepth
=
oReader
.
GetDepth
();
while
(
oReader
.
ReadNextSiblingNode
(
nStylesDepth
)
)
//
{
std
::
wstring
NodeContent
=
oReader
.
GetOuterXml
();
std
::
wstring
strXml
=
_T
(
"<xml xmlns:v=
\"
urn:schemas-microsoft-com:vml
\"
xmlns:o=
\"
urn:schemas-microsoft-com:office:office
\"
\
xmlns:p=
\"
urn:schemas-microsoft-com:office:powerpoint
\"
xmlns:x=
\"
urn:schemas-microsoft-com:office:excel
\"
xmlns:oa=
\"
urn:schemas-microsoft-com:office:activation
\"
>"
);
strXml
+=
NodeContent
;
strXml
+=
L"</xml>"
;
XmlUtils
::
CXmlLiteReader
oSubReader
;
//нам нужны xml //и сами объекты
if
(
oSubReader
.
FromString
(
strXml
)
==
false
)
continue
;
oSubReader
.
ReadNextNode
();
OOX
::
WritingElement
*
pItem
=
NULL
;
int
nStylesDepth1
=
oSubReader
.
GetDepth
();
while
(
oSubReader
.
ReadNextSiblingNode
(
nStylesDepth1
)
)
//
{
std
::
wstring
sName
=
oSubReader
.
GetName
();
switch
(
sName
[
0
])
// вынесены только объекты ..
{
case
'v'
:
{
wchar_t
wChar2
=
sName
[
2
];
// v:_
switch
(
wChar2
)
{
case
'a'
:
if
(
_T
(
"v:arc"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CArc
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'c'
:
if
(
_T
(
"v:curve"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CCurve
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'g'
:
if
(
_T
(
"v:group"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CGroup
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'i'
:
if
(
_T
(
"v:image"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CImage
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'l'
:
if
(
_T
(
"v:line"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CLine
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'o'
:
if
(
_T
(
"v:oval"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
COval
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'p'
:
if
(
_T
(
"v:polyline"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CPolyLine
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
'r'
:
if
(
_T
(
"v:rect"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CRect
(
oSubReader
);
bReadyElement
=
true
;
}
else
if
(
_T
(
"v:roundrect"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CRoundRect
(
oSubReader
);
bReadyElement
=
true
;
}
break
;
case
's'
:
if
(
_T
(
"v:shape"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CShape
(
oSubReader
);
bReadyElement
=
true
;
}
else
if
(
_T
(
"v:shapetype"
)
==
sName
)
{
pItem
=
new
OOX
::
Vml
::
CShapeType
(
oSubReader
);
}
break
;
}
}
break
;
}
}
elementContent
+=
NodeContent
;
if
(
pItem
)
{
//m_arrItems.push_back( pItem );
OOX
::
Vml
::
CVmlCommonElements
*
common
=
dynamic_cast
<
OOX
::
Vml
::
CVmlCommonElements
*>
(
pItem
);
std
::
wstring
sSpid
;
if
(
common
)
{
if
(
common
->
m_sSpId
.
IsInit
())
sSpid
=
*
common
->
m_sSpId
;
else
if
(
common
->
m_sId
.
IsInit
())
sSpid
=
*
common
->
m_sId
;
}
else
{
OOX
::
Vml
::
CGroup
*
group
=
dynamic_cast
<
OOX
::
Vml
::
CGroup
*>
(
pItem
);
if
(
group
)
{
if
(
group
->
m_sSpId
.
IsInit
())
sSpid
=
*
group
->
m_sSpId
;
else
if
(
group
->
m_sId
.
IsInit
())
sSpid
=
*
group
->
m_sId
;
}
}
if
(
bReadyElement
)
{
if
(
!
sSpid
.
empty
())
{
//m_mapShapes.insert(std::pair<std::wstring,int>(sSpid, m_arrItems.size()-1));
m_mapShapesXml
.
insert
(
std
::
pair
<
std
::
wstring
,
std
::
wstring
>
(
sSpid
,
elementContent
));
}
elementContent
.
clear
();
bReadyElement
=
false
;
}
delete
pItem
;
}
}
}
}
}
};
}
// namespace PPTX
#endif // PPTX_VmlDrawingS_VmlDrawing_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/DocxFormat/NamespaceOwn.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_NAMESPACE_OWN_INCLUDE_H_
#define PPTXOOX_NAMESPACE_OWN_INCLUDE_H_
#include "Namespaces.h"
namespace
PPTX
{
class
NamespaceOwn
{
protected:
//static const Namespaces ns;
};
//const Namespaces NamespaceOwn::ns;
static
Namespaces
g_Namespaces
;
}
// namespace PPTX
#endif // PPTXOOX_NAMESPACE_OWN_INCLUDE_H_
\ No newline at end of file
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/File.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_RELS_FILE_INCLUDE_H_
#define PPTXOOX_RELS_FILE_INCLUDE_H_
#include "RelationTable.h"
#include "../FileTypes.h"
#include "../../../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
#include "../../../../Common/DocxFormat/Source/Base/SmartPtr.h"
#include "../../../../Common/DocxFormat/Source/SystemUtility/SystemUtility.h"
namespace
PPTX
{
namespace
Rels
{
class
File
{
public:
File
()
{
}
File
(
const
OOX
::
CPath
&
filename
)
{
read
(
filename
);
}
~
File
()
{
}
public:
void
read
(
const
OOX
::
CPath
&
filename
)
{
OOX
::
CPath
strFile
=
createFileName
(
filename
);
if
(
OOX
::
CSystemUtility
::
IsFileExist
(
strFile
))
{
XmlUtils
::
CXmlNode
oNode
;
if
(
oNode
.
FromXmlFile
(
strFile
.
GetPath
()))
Relations
=
oNode
;
}
}
void
read2
(
const
OOX
::
CPath
&
filename
)
{
OOX
::
CPath
strFile
=
filename
;
if
(
OOX
::
CSystemUtility
::
IsFileExist
(
strFile
))
{
XmlUtils
::
CXmlNode
oNode
;
if
(
oNode
.
FromXmlFile
(
strFile
.
GetPath
()))
Relations
=
oNode
;
}
}
void
write
(
const
OOX
::
CPath
&
filename
)
const
{
if
(
0
<
Relations
.
m_items
.
size
())
{
OOX
::
CPath
file
=
createFileName
(
filename
);
OOX
::
CSystemUtility
::
CreateDirectories
(
file
.
GetDirectory
());
XmlUtils
::
CXmlWriter
oWriter
;
oWriter
.
WriteNodeBegin
(
_T
(
"Relationship"
),
true
);
oWriter
.
WriteAttribute
(
_T
(
"xmlns"
),
_T
(
"http://schemas.openxmlformats.org/package/2006/relationships"
));
oWriter
.
WriteNodeEnd
(
_T
(
"Relationship"
),
false
,
true
);
oWriter
.
WriteString
(
Relations
.
toXML
());
oWriter
.
WriteNodeEnd
(
_T
(
"Relationship"
));
NSFile
::
CFileBinary
::
SaveToFile
(
file
.
GetPath
(),
oWriter
.
GetXmlString
());
}
}
const
bool
isValid
()
const
{
return
true
;
}
public:
void
registration
(
const
OOX
::
RId
&
rId
,
const
OOX
::
FileType
&
type
,
const
OOX
::
CPath
&
filename
)
{
if
(
!
(
type
==
OOX
::
FileTypes
::
Unknow
))
{
std
::
wstring
strFileName
=
filename
.
m_strFilename
;
std
::
wstring
strDir
=
filename
.
GetDirectory
()
+
_T
(
""
);
if
(
_T
(
""
)
==
filename
.
GetExtention
())
{
if
(
type
.
RelationType
()
==
_T
(
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
))
{
strFileName
+=
_T
(
".bin"
);
Relations
.
registration
(
rId
,
type
.
RelationType
(),
strDir
+
strFileName
);
}
else
if
(
type
.
RelationType
()
==
_T
(
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
))
{
strFileName
+=
_T
(
".wmf"
);
Relations
.
registration
(
rId
,
type
.
RelationType
(),
strDir
+
strFileName
);
}
}
else
{
//Relations.registration(rId, type.RelationType(), replace_extension(filename, L"svm", L"png"));
}
}
}
void
registration
(
const
OOX
::
RId
&
rId
,
const
smart_ptr
<
OOX
::
External
>
external
)
{
Relations
.
registration
(
rId
,
external
);
}
private:
const
OOX
::
CPath
createFileName
(
const
OOX
::
CPath
&
filename
)
const
{
std
::
wstring
strTemp
=
filename
.
GetDirectory
()
+
FILE_SEPARATOR_STR
+
_T
(
"_rels"
)
+
FILE_SEPARATOR_STR
;
if
(
filename
.
GetFilename
()
==
_T
(
""
))
strTemp
+=
_T
(
".rels"
);
else
strTemp
+=
(
filename
.
GetFilename
()
+
_T
(
".rels"
));
OOX
::
CPath
pathTemp
=
strTemp
;
return
pathTemp
.
GetPath
();
}
public:
RelationTable
Relations
;
};
}
// namespace Rels
}
// namespace PPTX
#endif // PPTXOOX_RELS_FILE_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationShip.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_RELS_RELATION_SHIP_INCLUDE_H_
#define PPTXOOX_RELS_RELATION_SHIP_INCLUDE_H_
#include "./../WritingElement.h"
#include "../../../Common/DocxFormat/Source/DocxFormat/RId.h"
#include "../../../Common/DocxFormat/Source/DocxFormat/External/External.h"
#include <boost/algorithm/string.hpp>
namespace
PPTX
{
namespace
Rels
{
class
RelationShip
:
public
WritingElement
{
public:
RelationShip
(
const
OOX
::
RId
&
rId
,
const
std
::
wstring
&
type
,
const
OOX
::
CPath
&
filename
)
:
m_rId
(
rId
),
m_target
(
filename
),
m_type
(
type
)
{
boost
::
algorithm
::
replace_all
(
m_target
.
m_strFilename
,
L" "
,
L"_"
);
}
RelationShip
(
const
OOX
::
RId
&
rId
,
const
smart_ptr
<
OOX
::
External
>
external
)
:
m_rId
(
rId
),
m_target
(
external
->
Uri
()),
m_type
(
external
->
type
().
RelationType
())
{
m_mode
=
new
std
::
wstring
(
_T
(
"External"
));
}
virtual
~
RelationShip
()
{
}
explicit
RelationShip
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
}
const
RelationShip
&
operator
=
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
return
*
this
;
}
public:
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
node
)
{
m_rId
=
node
.
GetAttribute
(
_T
(
"Id"
));
m_target
=
node
.
GetAttribute
(
_T
(
"Target"
));
m_type
=
node
.
GetAttribute
(
_T
(
"Type"
));
m_mode
=
node
.
GetAttribute
(
_T
(
"TargetMode"
),
_T
(
"Internal"
));
}
virtual
std
::
wstring
toXML
()
const
{
XmlUtils
::
CAttribute
oAttr
;
oAttr
.
Write
(
_T
(
"Id"
),
m_rId
.
ToString
());
oAttr
.
Write
(
_T
(
"Type"
),
m_type
);
oAttr
.
Write
(
_T
(
"Target"
),
m_target
.
m_strFilename
);
oAttr
.
Write
(
_T
(
"TargetMode"
),
m_mode
);
return
XmlUtils
::
CreateNode
(
_T
(
"Relationship"
),
oAttr
);
}
public:
const
bool
operator
<
(
const
RelationShip
&
rhs
)
const
{
return
m_rId
<
rhs
.
m_rId
;
}
const
std
::
wstring
type
()
const
{
return
m_type
;
}
const
OOX
::
CPath
filename
()
const
{
return
m_target
;
}
const
OOX
::
CPath
target
()
const
{
return
m_target
;
}
const
bool
isExternal
()
const
{
if
(
!
m_mode
.
IsInit
())
return
false
;
return
(
*
m_mode
==
_T
(
"External"
));
}
const
OOX
::
RId
rId
()
const
{
return
m_rId
;
}
private:
OOX
::
RId
m_rId
;
OOX
::
CPath
m_target
;
std
::
wstring
m_type
;
nullable_string
m_mode
;
};
}
// namespace Rels
}
// namespace PPTX
#endif // PPTXOOX_RELS_RELATION_SHIP_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/DocxFormat/Rels/RelationTable.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_RELS_RELATION_TABLE_INCLUDE_H_
#define PPTXOOX_RELS_RELATION_TABLE_INCLUDE_H_
#include "./../WritingVector.h"
#include "RelationShip.h"
namespace
PPTX
{
class
External
;}
namespace
PPTX
{
namespace
Rels
{
class
RelationTable
:
public
WritingVector
<
RelationShip
>
{
public:
RelationTable
()
{
}
virtual
~
RelationTable
()
{
}
explicit
RelationTable
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
}
const
RelationTable
&
operator
=
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
return
*
this
;
}
void
registration
(
const
OOX
::
RId
&
rId
,
const
std
::
wstring
&
type
,
const
OOX
::
CPath
&
filename
)
{
m_items
.
push_back
(
RelationShip
(
rId
,
type
,
filename
));
}
void
registration
(
const
OOX
::
RId
&
rId
,
const
smart_ptr
<
OOX
::
External
>
external
)
{
m_items
.
push_back
(
RelationShip
(
rId
,
external
));
}
};
}
// namespace Rels
}
// namespace PPTX
#endif // PPTXOOX_RELS_RELATION_TABLE_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/DocxFormat/WritingElement.h
deleted
100644 → 0
View file @
9f145333
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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 "NamespaceOwn.h"
#include "../../../DesktopEditor/xml/include/xmlutils.h"
namespace
PPTX
{
enum
EElementType
{
et_Unknown
,
et_Default
,
// <Default>
et_Override
,
// <Override>
et_a_graphic
,
// <a:graphic>
et_ds_schemaRef
,
// <ds:shemeRef>
et_ds_schemaRefs
,
// <ds:schemaRefs>
et_p_pic
,
// <p:pic>
et_w_abstractNum
,
// <w:abstractNum>
et_w_annotationRef
,
// <w:annotationRef>
et_w_background
,
// <w:background>
et_w_bdo
,
// <w:bdo>
et_w_bookmarkEnd
,
// <w:bookmarkEnd>
et_w_bookmarkStart
,
// <w:bookmarkStart>
et_w_br
,
// <w:br>
et_w_checkBox
,
// <w:checkBox>
et_w_cols
,
// <w:cols>
et_w_comboBox
,
// <w:comboBox>
et_w_commentRangeEnd
,
// <w:commentRangeEnd>
et_w_commentRangeStart
,
// <w:commentRangeStart>
et_w_commentReference
,
// <w:commentReference>
et_w_contentPart
,
// <w:contentPart>
et_w_continuationSeparator
,
// <w:continuationSeparator>
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_delInstrText
,
// <w:delInstrText>
et_w_delText
,
// <w:delText>
et_w_docDefaults
,
// <w:docDefaults>
et_w_docPartList
,
// <w:docPartList>
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_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_headers
,
// <w:headers>
et_w_hyperlink
,
// <w:hyperlink>
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_moveFromRangeEnd
,
// <w:moveFromRangeEnd>
et_w_moveFromRangeStart
,
// <w:moveFromRangeStart>
et_w_moveToRangeEnd
,
// <w:moveToRangeEnd>
et_w_moveToRangeStart
,
// <w:moveToRangeStart>
et_w_num
,
// <w:num>
et_w_numPr
,
// <w:numPr>
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_placeholder
,
// <w:placeholder>
et_w_pPr
,
// <w:pPr>
et_w_pPrChange
,
// <w:pPrChange>
et_w_proofErr
,
// <w:proofErr>
et_w_ptab
,
// <w:ptab>
et_w_r
,
// <w:r>
et_w_ruby
,
// <w:ruby>
et_w_rPr
,
// <w:rPr>
et_w_rPrChange
,
// <w:rPrChange>
et_w_sdt
,
// <w:sdt>
et_w_sdtContent
,
// <w:sdtContent>
et_w_sdtEndPr
,
// <w:sdtEndPr>
et_w_sdtPr
,
// <w:sdtPr>
et_w_sectPr
,
// <w:sectPr>
et_w_sectPrChange
,
// <w:sectPrChange>
et_w_separator
,
// <w:separator>
et_w_softHyphen
,
// <w:softHyphen>
et_w_style
,
// <w:style>
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_yearLong
,
// <w:yearLong>
et_w_yearShort
,
// <w:yearShort>
et_wp_docPr
,
// <wp:docPr>
et_wp_effectExtent
,
// <wp:effectExtent>
et_wp_extent
,
// <wp:extent>
et_wp_wrapPolygon
,
// <wp:wrapPolygon>
};
class
WritingElement
{
public:
WritingElement
(){}
virtual
~
WritingElement
()
{}
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
node
)
=
0
;
virtual
std
::
wstring
toXML
()
const
=
0
;
virtual
EElementType
getType
()
const
{
return
PPTX
::
et_Unknown
;
}
};
}
ASCOfficePPTXFile/PPTXFormat/FileContainer.cpp
View file @
dac6ae2e
...
...
@@ -32,15 +32,16 @@
#include "FileContainer.h"
#include "DocxFormat/Rels/File.h"
#include "DocxFormat/Drawing/LegacyDiagramText.h"
#include "FileTypes.h"
#include "LegacyDiagramText.h"
#include "FileFactory.h"
#include "WrapperFile.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Rels.h"
#include "../../Common/DocxFormat/Source/DocxFormat/ContentTypes.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
#include "DocxFormat/FileTypes.h"
#include <map>
...
...
@@ -51,7 +52,7 @@ namespace PPTX
//not implement FileContainer.read
}
void
FileContainer
::
read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
)
void
FileContainer
::
read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
)
{
//not implement FileContainer.read
}
...
...
@@ -64,32 +65,32 @@ namespace PPTX
}
void
FileContainer
::
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
,
IPPTXEvent
*
Event
)
{
PPTX
::
Rels
::
File
rels
(
filename
);
OOX
::
CRels
rels
(
filename
);
OOX
::
CPath
path
=
filename
.
GetDirectory
();
read
(
rels
,
path
,
map
,
Event
);
}
void
FileContainer
::
read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
,
FileMap
&
map
,
IPPTXEvent
*
Event
)
void
FileContainer
::
read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
,
FileMap
&
map
,
IPPTXEvent
*
Event
)
{
bool
bIsSlide
=
false
;
OOX
::
File
*
pSrcFile
=
dynamic_cast
<
OOX
::
File
*>
(
this
);
if
(
NULL
!=
pSrcFile
)
bIsSlide
=
(
pSrcFile
->
type
()
==
OOX
::
Presentation
::
FileTypes
::
Slide
)
?
true
:
false
;
size_t
nCount
=
rels
.
Relations
.
m_item
s
.
size
();
size_t
nCount
=
rels
.
m_arrRelation
s
.
size
();
for
(
size_t
i
=
0
;
i
<
nCount
;
++
i
)
{
const
PPTX
::
Rels
::
RelationShip
*
pRelation
=
&
(
rels
.
Relations
.
m_items
[
i
])
;
OOX
::
CPath
normPath
=
path
/
pRelation
->
t
arget
();
const
OOX
::
Rels
::
CRelationShip
*
pRelation
=
rels
.
m_arrRelations
[
i
]
;
OOX
::
CPath
normPath
=
path
/
pRelation
->
T
arget
();
std
::
map
<
std
::
wstring
,
smart_ptr
<
OOX
::
File
>>::
const_iterator
pPair
=
map
.
find
(
normPath
);
if
(
bIsSlide
&&
(
pRelation
->
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Slide
))
if
(
bIsSlide
&&
(
pRelation
->
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Slide
))
{
long
percent
=
Event
->
GetPercent
();
smart_ptr
<
OOX
::
File
>
file
=
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
pRelation
->
t
arget
()));
smart_ptr
<
OOX
::
File
>
file
=
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
pRelation
->
T
arget
()));
bool
res
=
Event
->
Progress
(
0
,
percent
+
m_lPercent
);
...
...
@@ -141,13 +142,13 @@ namespace PPTX
void
FileContainer
::
write
(
const
OOX
::
CPath
&
filename
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
{
PPTX
::
Rels
::
File
rels
;
OOX
::
CRels
rels
;
OOX
::
CPath
current
=
filename
.
GetDirectory
();
write
(
rels
,
current
,
directory
,
content
);
rels
.
w
rite
(
filename
);
rels
.
W
rite
(
filename
);
}
void
FileContainer
::
write
(
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
curdir
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
void
FileContainer
::
write
(
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
curdir
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
{
std
::
map
<
std
::
wstring
,
size_t
>
mNamePair
;
for
(
std
::
map
<
std
::
wstring
,
smart_ptr
<
OOX
::
File
>>::
const_iterator
pPair
=
m_mContainer
.
begin
();
pPair
!=
m_mContainer
.
end
();
++
pPair
)
...
...
@@ -169,14 +170,14 @@ namespace PPTX
OOX
::
CSystemUtility
::
CreateDirectories
(
directory
/
defdir
);
pFile
->
write
(
directory
/
defdir
/
name
,
directory
,
content
);
rels
.
r
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
rels
.
R
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
}
else
{
OOX
::
CPath
defdir
=
pFile
->
DefaultDirectory
();
OOX
::
CPath
name
=
file
->
GetWrittenFileName
();
rels
.
r
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
rels
.
R
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
}
}
else
...
...
@@ -186,12 +187,12 @@ namespace PPTX
OOX
::
CSystemUtility
::
CreateDirectories
(
directory
/
defdir
);
pFile
->
write
(
directory
/
defdir
/
name
,
directory
,
content
);
rels
.
r
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
rels
.
R
egistration
(
pPair
->
first
,
pFile
->
type
(),
defdir
/
name
);
}
}
else
{
rels
.
r
egistration
(
pPair
->
first
,
pExt
);
rels
.
R
egistration
(
pPair
->
first
,
pExt
);
}
}
}
...
...
@@ -217,12 +218,12 @@ namespace PPTX
}
}
void
CCommonRels
::
_read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
)
void
CCommonRels
::
_read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
)
{
size_t
nCount
=
rels
.
Relations
.
m_item
s
.
size
();
size_t
nCount
=
rels
.
m_arrRelation
s
.
size
();
for
(
size_t
i
=
0
;
i
<
nCount
;
++
i
)
{
const
PPTX
::
Rels
::
RelationShip
*
pRelation
=
&
(
rels
.
Relations
.
m_items
[
i
])
;
const
OOX
::
Rels
::
CRelationShip
*
pRelation
=
rels
.
m_arrRelations
[
i
]
;
smart_ptr
<
OOX
::
File
>
_file
=
PPTX
::
FileFactory
::
CreateFilePPTX_OnlyMedia
(
path
,
*
pRelation
);
Add
(
pRelation
->
rId
(),
_file
);
...
...
@@ -231,7 +232,7 @@ namespace PPTX
void
CCommonRels
::
_read
(
const
OOX
::
CPath
&
filename
)
{
PPTX
::
Rels
::
File
rels
(
filename
);
OOX
::
CRels
rels
(
filename
);
OOX
::
CPath
path
=
filename
.
GetDirectory
();
_read
(
rels
,
path
);
}
...
...
ASCOfficePPTXFile/PPTXFormat/FileContainer.h
View file @
dac6ae2e
...
...
@@ -56,12 +56,12 @@ namespace PPTX
protected:
void
read
(
const
OOX
::
CPath
&
filename
);
void
read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
);
void
read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
);
void
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
,
IPPTXEvent
*
Event
);
void
read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
,
FileMap
&
map
,
IPPTXEvent
*
Event
);
void
read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
,
FileMap
&
map
,
IPPTXEvent
*
Event
);
void
write
(
const
OOX
::
CPath
&
filename
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
;
void
write
(
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
current
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
;
void
write
(
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
current
,
const
OOX
::
CPath
&
directory
,
OOX
::
CContentTypes
&
content
)
const
;
void
WrittenSetFalse
();
...
...
@@ -77,7 +77,7 @@ namespace PPTX
}
void
_read
(
const
OOX
::
CPath
&
filename
);
void
_read
(
const
PPTX
::
Rels
::
File
&
rels
,
const
OOX
::
CPath
&
path
);
void
_read
(
const
OOX
::
CRels
&
rels
,
const
OOX
::
CPath
&
path
);
};
}
// namespace PPTX
...
...
ASCOfficePPTXFile/PPTXFormat/FileFactory.cpp
View file @
dac6ae2e
...
...
@@ -31,10 +31,12 @@
*/
#include "FileFactory.h"
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
#include "DocxFormat/FileTypes.h"
#include "DocxFormat/Rels/RelationShip.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Rels.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
#include "FileTypes.h"
#include "FileFactory.h"
#include "App.h"
#include "Core.h"
#include "Theme.h"
...
...
@@ -50,7 +52,9 @@
#include "ViewProps.h"
#include "NotesSlide.h"
#include "NotesMaster.h"
#include "LegacyDiagramText.h"
#include "../../Common/DocxFormat/Source/DocxFormat/VmlDrawing.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramData.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/Image.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/Audio.h"
...
...
@@ -61,84 +65,82 @@
#include "../../Common/DocxFormat/Source/DocxFormat/External/ExternalAudio.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/ExternalVideo.h"
#include "../../Common/DocxFormat/Source/DocxFormat/UnknowTypeFile.h"
#include "DocxFormat/Drawing/VmlDrawing.h"
#include "DocxFormat/Drawing/LegacyDiagramText.h"
#include "FileMap.h"
namespace
PPTX
{
const
smart_ptr
<
OOX
::
File
>
FileFactory
::
CreateFilePPTX
(
const
OOX
::
CPath
&
path
,
const
PPTX
::
Rels
::
RelationShip
&
relation
,
FileMap
&
map
)
const
smart_ptr
<
OOX
::
File
>
FileFactory
::
CreateFilePPTX
(
const
OOX
::
CPath
&
path
,
const
OOX
::
Rels
::
C
RelationShip
&
relation
,
FileMap
&
map
)
{
OOX
::
CPath
filename
=
path
/
relation
.
f
ilename
();
OOX
::
CPath
filename
=
path
/
relation
.
F
ilename
();
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
App
)
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
App
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
App
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Core
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Core
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Core
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Presentation
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Presentation
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Presentation
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Theme
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Theme
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Theme
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideMaster
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideMaster
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
SlideMaster
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideLayout
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideLayout
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
SlideLayout
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Slide
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Slide
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Slide
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
HandoutMaster
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
HandoutMaster
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
HandoutMaster
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
NotesMaster
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
NotesMaster
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
NotesMaster
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
NotesSlide
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
NotesSlide
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
NotesSlide
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
PresProps
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
PresProps
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
PresProps
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
ViewProps
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
ViewProps
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
ViewProps
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
TableStyles
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
TableStyles
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
TableStyles
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
LegacyDiagramText
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
LegacyDiagramText
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
LegacyDiagramText
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
VmlDrawing
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Media
)
// FOR NONE OPTIMIZED PPTX FILES
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
CVmlDrawing
(
OOX
::
CPath
(),
filename
));
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
Media
)
// FOR NONE OPTIMIZED PPTX FILES
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
Chart
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
Chart
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Image
(
filename
));
// нужен только filepath
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
CommentAuthors
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
CommentAuthors
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Authors
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideComments
)
else
if
(
relation
.
T
ype
()
==
OOX
::
Presentation
::
FileTypes
::
SlideComments
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
Comments
(
filename
,
map
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
HyperLink
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
relation
.
t
arget
()));
else
if
((
relation
.
type
()
==
OOX
::
FileTypes
::
ExternalImage
)
&&
(
relation
.
i
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalImage
(
relation
.
t
arget
()));
else
if
((
relation
.
type
()
==
OOX
::
FileTypes
::
ExternalAudio
)
&&
(
relation
.
i
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalAudio
(
relation
.
t
arget
()));
else
if
((
relation
.
type
()
==
OOX
::
FileTypes
::
ExternalVideo
)
&&
(
relation
.
i
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalVideo
(
relation
.
t
arget
()));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
Image
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
HyperLink
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
relation
.
T
arget
()));
else
if
((
relation
.
Type
()
==
OOX
::
FileTypes
::
ExternalImage
)
&&
(
relation
.
I
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalImage
(
relation
.
T
arget
()));
else
if
((
relation
.
Type
()
==
OOX
::
FileTypes
::
ExternalAudio
)
&&
(
relation
.
I
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalAudio
(
relation
.
T
arget
()));
else
if
((
relation
.
Type
()
==
OOX
::
FileTypes
::
ExternalVideo
)
&&
(
relation
.
I
sExternal
()))
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
ExternalVideo
(
relation
.
T
arget
()));
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
Image
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Image
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
Audio
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
Audio
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Audio
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
Video
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
Video
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Video
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
Data
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
Data
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
CDiagramData
(
filename
));
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
DiagDrawing
)
// нужен только filepath
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
DiagDrawing
)
// нужен только filepath
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Image
(
filename
));
// нужен только filepath
else
if
(
relation
.
t
ype
()
==
OOX
::
FileTypes
::
OleObject
)
else
if
(
relation
.
T
ype
()
==
OOX
::
FileTypes
::
OleObject
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
OleObject
(
filename
));
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
UnknowTypeFile
());
}
const
smart_ptr
<
OOX
::
File
>
FileFactory
::
CreateFilePPTX_OnlyMedia
(
const
OOX
::
CPath
&
path
,
const
PPTX
::
Rels
::
RelationShip
&
relation
)
const
smart_ptr
<
OOX
::
File
>
FileFactory
::
CreateFilePPTX_OnlyMedia
(
const
OOX
::
CPath
&
path
,
const
OOX
::
Rels
::
C
RelationShip
&
relation
)
{
bool
bIsDownload
=
false
;
std
::
wstring
strFile
=
relation
.
f
ilename
().
GetPath
();
std
::
wstring
strFile
=
relation
.
F
ilename
().
GetPath
();
int
n1
=
strFile
.
find
(
_T
(
"www"
));
int
n2
=
strFile
.
find
(
_T
(
"http"
));
int
n3
=
strFile
.
find
(
_T
(
"ftp"
));
...
...
@@ -149,12 +151,12 @@ namespace PPTX
if
(
0
==
n1
||
0
==
n2
||
0
==
n3
||
0
==
n4
)
bIsDownload
=
true
;
OOX
::
CPath
filename
=
path
/
relation
.
f
ilename
();
OOX
::
CPath
filename
=
path
/
relation
.
F
ilename
();
if
(
bIsDownload
)
filename
=
relation
.
f
ilename
();
filename
=
relation
.
F
ilename
();
std
::
wstring
strT
=
relation
.
t
ype
();
std
::
wstring
strT
=
relation
.
T
ype
();
if
(
strT
==
OOX
::
FileTypes
::
Image
||
strT
==
OOX
::
FileTypes
::
DiagDrawing
||
...
...
@@ -163,10 +165,10 @@ namespace PPTX
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
Image
(
filename
));
}
else
if
(
strT
==
OOX
::
FileTypes
::
Data
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
CDiagramData
(
relation
.
t
arget
()));
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
CDiagramData
(
relation
.
T
arget
()));
else
if
(
strT
==
OOX
::
FileTypes
::
HyperLink
)
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
relation
.
t
arget
()));
return
smart_ptr
<
OOX
::
File
>
(
new
OOX
::
HyperLink
(
relation
.
T
arget
()));
else
if
(
strT
==
OOX
::
FileTypes
::
LegacyDiagramText
)
return
smart_ptr
<
OOX
::
File
>
(
new
PPTX
::
LegacyDiagramText
(
filename
));
...
...
ASCOfficePPTXFile/PPTXFormat/FileFactory.h
View file @
dac6ae2e
...
...
@@ -35,16 +35,17 @@
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
//namespace PPTX {class File;}
namespace
PPTX
{
namespace
Rels
{
class
RelationShip
;}}
namespace
PPTX
{
class
FileMap
;}
namespace
OOX
{
namespace
Rels
{
class
CRelationShip
;}}
namespace
PPTX
{
class
FileMap
;
class
FileFactory
{
public:
static
const
smart_ptr
<
OOX
::
File
>
CreateFilePPTX
(
const
OOX
::
CPath
&
path
,
const
PPTX
::
Rels
::
RelationShip
&
relation
,
FileMap
&
map
);
static
const
smart_ptr
<
OOX
::
File
>
CreateFilePPTX_OnlyMedia
(
const
OOX
::
CPath
&
path
,
const
PPTX
::
Rels
::
RelationShip
&
relation
);
static
const
smart_ptr
<
OOX
::
File
>
CreateFilePPTX
(
const
OOX
::
CPath
&
path
,
const
OOX
::
Rels
::
C
RelationShip
&
relation
,
FileMap
&
map
);
static
const
smart_ptr
<
OOX
::
File
>
CreateFilePPTX_OnlyMedia
(
const
OOX
::
CPath
&
path
,
const
OOX
::
Rels
::
C
RelationShip
&
relation
);
};
}
// namespace PPTX
...
...
ASCOfficePPTXFile/PPTXFormat/FileMap.h
View file @
dac6ae2e
...
...
@@ -35,7 +35,7 @@
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
#include "../../Common/DocxFormat/Source/DocxFormat/ContentTypes.h"
#include "
DocxFormat/Rels/File
.h"
#include "
../../Common/DocxFormat/Source/DocxFormat/Rels
.h"
#include <map>
...
...
ASCOfficePPTXFile/PPTXFormat/
DocxFormat/
FileTypes.h
→
ASCOfficePPTXFile/PPTXFormat/FileTypes.h
View file @
dac6ae2e
This diff is collapsed.
Click to expand it.
ASCOfficePPTXFile/PPTXFormat/Folder.cpp
View file @
dac6ae2e
...
...
@@ -30,11 +30,12 @@
*
*/
#include "../../Common/DocxFormat/Source/DocxFormat/Rels.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
#include "FileTypes.h"
#include "Folder.h"
#include "DocxFormat/Rels/File.h"
#include "FileMap.h"
#include "DocxFormat/FileTypes.h"
#include "Presentation.h"
#include "Theme.h"
#include "SlideMaster.h"
...
...
@@ -57,7 +58,7 @@ namespace PPTX
void
Folder
::
read
(
const
OOX
::
CPath
&
path
,
IPPTXEvent
*
Event
)
{
PPTX
::
Rels
::
File
rels
(
path
);
OOX
::
CRels
rels
(
path
);
PPTX
::
FileMap
map
;
long
files
=
CountFiles
(
path
);
if
(
files
==
0
)
...
...
@@ -147,13 +148,13 @@ namespace PPTX
{
OOX
::
CSystemUtility
::
CreateDirectories
(
path
);
PPTX
::
Rels
::
File
rels
;
OOX
::
CRels
rels
;
OOX
::
CContentTypes
content
;
OOX
::
CPath
dir
=
path
;
FileContainer
::
write
(
rels
,
path
,
dir
,
content
);
rels
.
w
rite
(
path
/
FILE_SEPARATOR_STR
);
rels
.
W
rite
(
path
/
FILE_SEPARATOR_STR
);
content
.
Write
(
path
);
FileContainer
::
WrittenSetFalse
();
}
...
...
ASCOfficePPTXFile/PPTXFormat/HandoutMaster.h
View file @
dac6ae2e
...
...
@@ -35,12 +35,12 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Logic/ClrMap.h"
#include "Logic/CSld.h"
#include "Logic/Hf.h"
#include "DocxFormat/FileTypes.h"
namespace
PPTX
{
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Controls.cpp
View file @
dac6ae2e
...
...
@@ -45,17 +45,17 @@ namespace PPTX
if
(
parentFileIs
<
PPTX
::
Slide
>
()
&&
parentFileAs
<
PPTX
::
Slide
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
Slide
>
().
GetVmlXmlBySpid
(
spid
);
rels
=
parentFileAs
<
PPTX
::
Slide
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
Slide
>
().
Vml
->
GetReadPath
().
GetPath
();
}
else
if
(
parentFileIs
<
PPTX
::
SlideLayout
>
()
&&
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
GetVmlXmlBySpid
(
spid
);
rels
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
->
GetReadPath
().
GetPath
();
}
else
if
(
parentFileIs
<
PPTX
::
SlideMaster
>
()
&&
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
GetVmlXmlBySpid
(
spid
);
rels
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
->
GetReadPath
().
GetPath
();
}
return
xml
;
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp
View file @
dac6ae2e
...
...
@@ -443,17 +443,17 @@ namespace PPTX
if
(
parentFileIs
<
PPTX
::
Slide
>
()
&&
parentFileAs
<
PPTX
::
Slide
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
Slide
>
().
GetVmlXmlBySpid
(
spid
.
get_value_or
(
_T
(
""
)));
rels
=
parentFileAs
<
PPTX
::
Slide
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
Slide
>
().
Vml
->
GetReadPath
().
GetPath
();
}
else
if
(
parentFileIs
<
PPTX
::
SlideLayout
>
()
&&
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
GetVmlXmlBySpid
(
spid
.
get_value_or
(
_T
(
""
)));
rels
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
SlideLayout
>
().
Vml
->
GetReadPath
().
GetPath
();
}
else
if
(
parentFileIs
<
PPTX
::
SlideMaster
>
()
&&
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
.
IsInit
())
{
xml
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
GetVmlXmlBySpid
(
spid
.
get_value_or
(
_T
(
""
)));
rels
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
->
filename
().
GetPath
();
rels
=
parentFileAs
<
PPTX
::
SlideMaster
>
().
Vml
->
GetReadPath
().
GetPath
();
}
return
xml
;
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Hyperlink.cpp
View file @
dac6ae2e
...
...
@@ -29,7 +29,7 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//#include "stdafx.h"
#include "Hyperlink.h"
#include "./../Slide.h"
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.cpp
View file @
dac6ae2e
...
...
@@ -29,7 +29,7 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//#include "stdafx.h"
#include "SpTree.h"
#include "Shape.h"
...
...
@@ -43,8 +43,8 @@ namespace PPTX
{
void
SpTree
::
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
NSCommon
::
smart_ptr
<
PPTX
::
WrapperFile
>&
_oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
WrapperWritingElement
>&
_oClrMap
)
{
smart_ptr
<
PPTX
::
Theme
>
oTheme
=
_oTheme
.
smart_dynamic_cast
<
PPTX
::
Theme
>
();
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>
oClrMap
=
oTheme
.
smart_dynamic_cast
<
PPTX
::
Logic
::
ClrMap
>
();
smart_ptr
<
PPTX
::
Theme
>
oTheme
=
_oTheme
.
smart_dynamic_cast
<
PPTX
::
Theme
>
();
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>
oClrMap
=
oTheme
.
smart_dynamic_cast
<
PPTX
::
Logic
::
ClrMap
>
();
pWriter
->
StartNode
(
_T
(
"v:group"
));
pWriter
->
StartAttributes
();
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.cpp
View file @
dac6ae2e
...
...
@@ -30,10 +30,11 @@
*
*/
#pragma once
//#include "stdafx.h"
#include "./TxBody.h"
#include "TxBody.h"
#include "ClrMap.h"
#include "../Theme.h"
#include "./ClrMap.h"
namespace
PPTX
{
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.h
View file @
dac6ae2e
...
...
@@ -34,6 +34,7 @@
#define PPTX_LOGIC_TXBODY_INCLUDE_H_
#include "./../WrapperWritingElement.h"
#include "BodyPr.h"
#include "TextListStyle.h"
#include "Paragraph.h"
...
...
ASCOfficePPTXFile/PPTXFormat/
DocxFormat/
Namespaces.h
→
ASCOfficePPTXFile/PPTXFormat/Namespaces.h
View file @
dac6ae2e
This diff is collapsed.
Click to expand it.
ASCOfficePPTXFile/PPTXFormat/NotesMaster.h
View file @
dac6ae2e
...
...
@@ -35,11 +35,12 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Logic/ClrMap.h"
#include "Logic/CSld.h"
#include "Logic/Hf.h"
#include "Logic/TextListStyle.h"
#include "DocxFormat/FileTypes.h"
namespace
PPTX
{
...
...
ASCOfficePPTXFile/PPTXFormat/NotesSlide.h
View file @
dac6ae2e
...
...
@@ -35,9 +35,10 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Logic/ClrMapOvr.h"
#include "Logic/CSld.h"
#include "DocxFormat/FileTypes.h"
namespace
PPTX
{
...
...
ASCOfficePPTXFile/PPTXFormat/PresProps.h
View file @
dac6ae2e
...
...
@@ -35,12 +35,11 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Logic/UniColor.h"
#include "ShowPr/ShowPr.h"
#include "DocxFormat/FileTypes.h"
namespace
PPTX
{
class
PresProps
:
public
WrapperFile
,
public
PPTX
::
FileContainer
...
...
ASCOfficePPTXFile/PPTXFormat/Presentation.h
View file @
dac6ae2e
...
...
@@ -35,6 +35,7 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Limit/Conformance.h"
#include "Logic/TextListStyle.h"
...
...
@@ -47,7 +48,6 @@
#include "Presentation/PhotoAlbum.h"
#include "Logic/XmlId.h"
#include "Presentation/SldSz.h"
#include "DocxFormat/FileTypes.h"
#include "CommentAuthors.h"
namespace
PPTX
...
...
ASCOfficePPTXFile/PPTXFormat/Slide.h
View file @
dac6ae2e
...
...
@@ -54,7 +54,7 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Media/OleObject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/External.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
#include "
DocxFormat/Drawing
/VmlDrawing.h"
#include "
../../Common/DocxFormat/Source/DocxFormat
/VmlDrawing.h"
#include "Comments.h"
...
...
@@ -392,12 +392,12 @@ namespace PPTX
nullable
<
Logic
::
Transition
>
transition
;
nullable
<
Logic
::
Timing
>
timing
;
smart_ptr
<
SlideLayout
>
Layout
;
smart_ptr
<
SlideMaster
>
Master
;
smart_ptr
<
NotesSlide
>
Note
;
smart_ptr
<
Theme
>
theme
;
smart_ptr
<
VmlDrawing
>
Vml
;
smart_ptr
<
TableStyles
>
tableStyles_
;
smart_ptr
<
SlideLayout
>
Layout
;
smart_ptr
<
SlideMaster
>
Master
;
smart_ptr
<
NotesSlide
>
Note
;
smart_ptr
<
Theme
>
theme
;
smart_ptr
<
OOX
::
C
VmlDrawing
>
Vml
;
smart_ptr
<
TableStyles
>
tableStyles_
;
smart_ptr
<
PPTX
::
Comments
>
comments
;
...
...
@@ -414,7 +414,7 @@ namespace PPTX
if
(
IsExist
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
))
{
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
PPTX
::
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
OOX
::
C
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
}
}
...
...
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
View file @
dac6ae2e
...
...
@@ -35,6 +35,7 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Logic/CSld.h"
#include "Logic/ClrMapOvr.h"
...
...
@@ -51,11 +52,10 @@
#include "SlideMaster.h"
#include "TableStyles.h"
#include "DocxFormat/FileTypes.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/Image.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/OleObject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
#include "
DocxFormat/Drawing
/VmlDrawing.h"
#include "
../../Common/DocxFormat/Source/DocxFormat
/VmlDrawing.h"
namespace
PPTX
...
...
@@ -468,7 +468,7 @@ namespace PPTX
smart_ptr
<
SlideMaster
>
Master
;
smart_ptr
<
Theme
>
theme
;
smart_ptr
<
TableStyles
>
tableStyles
;
smart_ptr
<
VmlDrawing
>
Vml
;
smart_ptr
<
OOX
::
CVmlDrawing
>
Vml
;
public:
void
ApplyRels
()
...
...
@@ -486,7 +486,7 @@ namespace PPTX
}
if
(
IsExist
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
))
{
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
PPTX
::
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
OOX
::
C
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
}
}
...
...
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
View file @
dac6ae2e
...
...
@@ -55,7 +55,7 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Media/Image.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/OleObject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
#include "
DocxFormat/Drawing
/VmlDrawing.h"
#include "
../../Common/DocxFormat/Source/DocxFormat
/VmlDrawing.h"
namespace
PPTX
{
...
...
@@ -508,7 +508,7 @@ namespace PPTX
smart_ptr
<
Theme
>
theme
;
smart_ptr
<
TableStyles
>
tableStyles
;
smart_ptr
<
VmlDrawing
>
Vml
;
smart_ptr
<
OOX
::
CVmlDrawing
>
Vml
;
public:
void
ApplyRels
()
...
...
@@ -522,7 +522,7 @@ namespace PPTX
if
(
IsExist
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
))
{
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
PPTX
::
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
Vml
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
VmlDrawing
).
smart_dynamic_cast
<
OOX
::
C
VmlDrawing
>
();
//boost::shared_dynamic_cast<PPTX::VmlDrawing, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::VmlDrawing));
}
}
...
...
ASCOfficePPTXFile/PPTXFormat/TableStyles.h
View file @
dac6ae2e
...
...
@@ -36,7 +36,7 @@
#include "WrapperFile.h"
#include "Logic/TableStyle.h"
#include "Theme.h"
#include "
DocxFormat/
FileTypes.h"
#include "FileTypes.h"
namespace
PPTX
{
...
...
ASCOfficePPTXFile/PPTXFormat/Theme.h
View file @
dac6ae2e
...
...
@@ -33,8 +33,8 @@
#ifndef PPTX_THEME_FILE_INCLUDE_H_
#define PPTX_THEME_FILE_INCLUDE_H_
#include "WrapperFile.h"
#include "FileContainer.h"
#include "WrapperFile.h"
#include "Theme/ThemeElements.h"
#include "Logic/DefaultShapeDefinition.h"
...
...
ASCOfficePPTXFile/PPTXFormat/ViewProps.h
View file @
dac6ae2e
...
...
@@ -35,6 +35,7 @@
#include "WrapperFile.h"
#include "FileContainer.h"
#include "FileTypes.h"
#include "Limit/LastView.h"
#include "ViewProps/GridSpacing.h"
...
...
@@ -45,8 +46,6 @@
#include "ViewProps/SlideViewPr.h"
#include "ViewProps/SorterViewPr.h"
#include "DocxFormat/FileTypes.h"
using
namespace
NSBinPptxRW
;
namespace
PPTX
...
...
ASCOfficePPTXFile/PPTXFormat/WrapperFile.h
View file @
dac6ae2e
...
...
@@ -34,7 +34,7 @@
#define PPTX_WRAPPER_FILE_INCLUDE_H_
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
#include "
DocxFormat/NamespaceOwn
.h"
#include "
Namespaces
.h"
#include "FileMap.h"
#include "../Editor/BinWriters.h"
...
...
ASCOfficePPTXFile/PPTXFormat/WrapperWritingElement.h
View file @
dac6ae2e
...
...
@@ -33,7 +33,7 @@
#ifndef PPTX_WRAPPER_WRITING_ELEMENT_INCLUDE_H_
#define PPTX_WRAPPER_WRITING_ELEMENT_INCLUDE_H_
#include "DocxFormat/WritingElement.h"
#include "
../../Common/DocxFormat/Source/
DocxFormat/WritingElement.h"
#include "WrapperFile.h"
#include "../Editor/BinWriters.h"
...
...
@@ -73,7 +73,7 @@
namespace
PPTX
{
class
WrapperWritingElement
:
public
PPT
X
::
WritingElement
class
WrapperWritingElement
:
public
OO
X
::
WritingElement
{
public:
WrapperWritingElement
()
:
parentElement
(
NULL
),
parentFile
(
NULL
)
...
...
@@ -110,9 +110,9 @@ namespace PPTX
fromXML
(
oNode
);
}
virtual
PPT
X
::
EElementType
getType
()
const
virtual
OO
X
::
EElementType
getType
()
const
{
return
PPT
X
::
et_Unknown
;
return
OO
X
::
et_Unknown
;
}
...
...
@@ -137,7 +137,7 @@ namespace PPTX
T
*
pResult
=
dynamic_cast
<
T
*>
(
const_cast
<
PPTX
::
WrapperFile
*>
(
parentFile
));
return
(
NULL
!=
pResult
);
}
template
<
class
T
>
const
T
&
parentFileAs
()
const
template
<
class
T
>
T
&
parentFileAs
()
const
{
T
*
pResult
=
dynamic_cast
<
T
*>
(
const_cast
<
PPTX
::
WrapperFile
*>
(
parentFile
));
return
*
pResult
;
...
...
ASCOfficePPTXFile/PPTXFormat/
DocxFormat/
WritingVector.h
→
ASCOfficePPTXFile/PPTXFormat/WritingVector.h
View file @
dac6ae2e
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_WRITING_VECTOR_INCLUDE_H_
#define PPTXOOX_WRITING_VECTOR_INCLUDE_H_
#include "WritingElement.h"
namespace
PPTX
{
template
<
typename
T
>
class
WritingVector
:
public
WritingElement
{
public:
std
::
vector
<
T
>
m_items
;
public:
WritingVector
()
:
m_items
()
{}
virtual
~
WritingVector
()
{}
explicit
WritingVector
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
}
WritingVector
&
operator
=
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
return
*
this
;
}
public:
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
node
)
{
XmlUtils
::
CXmlNodes
oNodes
;
if
(
node
.
GetNodes
(
_T
(
"*"
),
oNodes
))
{
int
nCount
=
oNodes
.
GetCount
();
for
(
int
i
=
0
;
i
<
nCount
;
++
i
)
{
XmlUtils
::
CXmlNode
nodeTemp
;
oNodes
.
GetAt
(
i
,
nodeTemp
);
m_items
.
push_back
(
T
(
nodeTemp
));
}
}
}
virtual
std
::
wstring
toXML
()
const
{
std
::
wstring
strResult
=
_T
(
""
);
size_t
nCount
=
m_items
.
size
();
for
(
size_t
i
=
0
;
i
<
nCount
;
++
i
)
{
strResult
+=
m_items
[
i
].
toXML
();
}
return
strResult
;
}
virtual
EElementType
getType
()
const
{
return
et_Unknown
;
}
};
}
// namespace PPTX
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* 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 Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* 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
#ifndef PPTXOOX_WRITING_VECTOR_INCLUDE_H_
#define PPTXOOX_WRITING_VECTOR_INCLUDE_H_
#include "WritingElement.h"
namespace
PPTX
{
template
<
typename
T
>
class
WritingVector
:
public
WritingElement
{
public:
std
::
vector
<
T
>
m_items
;
public:
WritingVector
()
:
m_items
()
{}
virtual
~
WritingVector
()
{}
explicit
WritingVector
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
}
WritingVector
&
operator
=
(
XmlUtils
::
CXmlNode
&
node
)
{
fromXML
(
node
);
return
*
this
;
}
public:
virtual
void
fromXML
(
XmlUtils
::
CXmlNode
&
node
)
{
XmlUtils
::
CXmlNodes
oNodes
;
if
(
node
.
GetNodes
(
_T
(
"*"
),
oNodes
))
{
int
nCount
=
oNodes
.
GetCount
();
for
(
int
i
=
0
;
i
<
nCount
;
++
i
)
{
XmlUtils
::
CXmlNode
nodeTemp
;
oNodes
.
GetAt
(
i
,
nodeTemp
);
m_items
.
push_back
(
T
(
nodeTemp
));
}
}
}
virtual
std
::
wstring
toXML
()
const
{
std
::
wstring
strResult
=
_T
(
""
);
size_t
nCount
=
m_items
.
size
();
for
(
size_t
i
=
0
;
i
<
nCount
;
++
i
)
{
strResult
+=
m_items
[
i
].
toXML
();
}
return
strResult
;
}
virtual
EElementType
getType
()
const
{
return
et_Unknown
;
}
};
}
// namespace PPTX
#endif // PPTXOOX_WRITING_VECTOR_INCLUDE_H_
\ No newline at end of file
ASCOfficePPTXFile/PPTXFormat/
DocxFormat/Drawing/LegacyDiagramT
ext.h
→
ASCOfficePPTXFile/PPTXFormat/
legacydiagramt
ext.h
View file @
dac6ae2e
This diff is collapsed.
Click to expand it.
ASCOfficePPTXFile/PPTXLib/Linux/PPTXFormatLib/PPTXFormatLib.pro
View file @
dac6ae2e
...
...
@@ -113,15 +113,9 @@ SOURCES += \
HEADERS
+=
pptxformatlib
.
h
\
..
/../../
ASCOfficeDrawingConverter
.
h
\
..
/../../
ASCOfficePPTXFile
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Rels
/
File
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Rels
/
RelationShip
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Rels
/
RelationTable
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
DateTime
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
FileTypes
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
NamespaceOwn
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Namespaces
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
WritingElement
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
WritingVector
.
h
\
..
/../../
PPTXFormat
/
FileTypes
.
h
\
..
/../../
PPTXFormat
/
Namespaces
.
h
\
..
/../../
PPTXFormat
/
WritingVector
.
h
\
..
/../../
PPTXFormat
/
Limit
/
AlbumLayout
.
h
\
..
/../../
PPTXFormat
/
Limit
/
AnimationDgmBuild
.
h
\
..
/../../
PPTXFormat
/
Limit
/
BaseLimit
.
h
\
...
...
@@ -341,6 +335,7 @@ HEADERS += pptxformatlib.h \
..
/../../
PPTXFormat
/
Logic
/
Transitions
/
TransitionBase
.
h
\
..
/../../
PPTXFormat
/
Logic
/
Transitions
/
WheelTransition
.
h
\
..
/../../
PPTXFormat
/
Logic
/
Transitions
/
ZoomTransition
.
h
\
..
/../../
PPTXFormat
/
Logic
/
Controls
.
h
\
..
/../../
PPTXFormat
/
Logic
/
Ah
.
h
\
..
/../../
PPTXFormat
/
Logic
/
AhBase
.
h
\
..
/../../
PPTXFormat
/
Logic
/
AhPolar
.
h
\
...
...
@@ -470,6 +465,7 @@ HEADERS += pptxformatlib.h \
..
/../../
PPTXFormat
/
App
.
h
\
..
/../../
PPTXFormat
/
CommentAuthors
.
h
\
..
/../../
PPTXFormat
/
Comments
.
h
\
..
/../../
PPTXFormat
/
LegacyDiagramText
.
h
\
..
/../../
PPTXFormat
/
Core
.
h
\
..
/../../
PPTXFormat
/
FileContainer
.
h
\
..
/../../
PPTXFormat
/
FileFactory
.
h
\
...
...
@@ -490,9 +486,6 @@ HEADERS += pptxformatlib.h \
..
/../../
PPTXFormat
/
ViewProps
.
h
\
..
/../../
PPTXFormat
/
WrapperFile
.
h
\
..
/../../
PPTXFormat
/
WrapperWritingElement
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Drawing
/
LegacyDiagramText
.
h
\
..
/../../
PPTXFormat
/
DocxFormat
/
Drawing
/
VmlDrawing
.
h
\
..
/../../
PPTXFormat
/
Logic
/
Controls
.
h
\
..
/../../
Editor
/
BinaryFileReaderWriter
.
h
\
..
/../../
Editor
/
BinReaderWriterDefines
.
h
\
..
/../../
Editor
/
BinWriters
.
h
\
...
...
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
View file @
dac6ae2e
...
...
@@ -339,18 +339,6 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\XML\libxml2\libxml2.cpp"
>
<FileConfiguration
Name=
"Release|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name=
"Header Files"
...
...
@@ -364,10 +352,6 @@
RelativePath=
"..\.\ASCOfficePPTXFile.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\XML\stringcommon.h"
>
</File>
</Filter>
<Filter
Name=
"EditorSource"
...
...
@@ -407,10 +391,6 @@
<Filter
Name=
"Source"
>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\DateTime.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\FileContainer.cpp"
>
...
...
@@ -529,10 +509,6 @@
RelativePath=
"..\.\PPTXFormat\FileMap.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\FileType.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\DocxFormat\FileTypes.h"
>
...
...
@@ -594,11 +570,7 @@
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\NamespaceOwn.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\Namespaces.h"
RelativePath=
"..\..\Common\DocxFormat\Source\DocxFormat\Namespaces.h"
>
</File>
<File
...
...
@@ -609,18 +581,10 @@
RelativePath=
"..\.\PPTXFormat\PPTXEvent.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\RId.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\DocxFormat\Unit.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\DocxFormat\UnknowTypeFile.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\WrapperFile.h"
>
...
...
@@ -629,14 +593,6 @@
RelativePath=
"..\.\PPTXFormat\WrapperWritingElement.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\WritingElement.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\WritingVector.h"
>
</File>
<Filter
Name=
"Limit"
>
...
...
@@ -3202,22 +3158,6 @@
>
</File>
</Filter>
<Filter
Name=
"Rels"
>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\Rels\File.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\Rels\RelationShip.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\Rels\RelationTable.h"
>
</File>
</Filter>
<Filter
Name=
"TableStyles"
>
...
...
@@ -3226,30 +3166,6 @@
>
</File>
</Filter>
<Filter
Name=
"External"
>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\External\External.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\External\ExternalAudio.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\External\ExternalImage.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\External\ExternalVideo.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\DocxFormat\External\HyperLink.h"
>
</File>
</Filter>
<Filter
Name=
"VectorML"
>
...
...
@@ -3269,10 +3185,6 @@
RelativePath=
"..\..\Common\DocxFormat\Source\SystemUtility\File.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\SystemUtility\FileSystem\FileSystem.h"
>
</File>
<File
RelativePath=
"..\..\Common\DocxFormat\Source\SystemUtility\SystemUtility.cpp"
>
...
...
Common/DocxFormat/Source/DocxFormat/VmlDrawing.h
View file @
dac6ae2e
...
...
@@ -76,7 +76,7 @@ namespace OOX
void
fromXML
(
XmlUtils
::
CXmlNode
&
)
{
}
std
::
wstring
toXML
()
const
std
::
wstring
toXML
()
const
{
return
_T
(
""
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment