git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@52192 954022d7-b5bf-4e40-9824-e11837661b57

This commit is contained in:
Alexey.Golubev
2013-11-19 12:48:11 +00:00
commit 364f5ac776
12831 changed files with 3788651 additions and 0 deletions

View File

@ -0,0 +1,80 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_system", "Projects\boost_system.vcproj", "{7A3C0AE1-9FA1-4F56-99C0-139192364F57}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_filesystem", "Projects\boost_filesystem.vcproj", "{3C7D3E76-9C62-4D0E-9645-8731700B1D70}"
ProjectSection(ProjectDependencies) = postProject
{7A3C0AE1-9FA1-4F56-99C0-139192364F57} = {7A3C0AE1-9FA1-4F56-99C0-139192364F57}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "Projects\Common.vcproj", "{873D625C-37E4-47C4-8120-2D9FC6A98765}"
ProjectSection(ProjectDependencies) = postProject
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9} = {CF068422-CD0A-484E-B4A9-A0CD108EBBB9}
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6} = {56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XML", "Projects\XML.vcproj", "{CF068422-CD0A-484E-B4A9-A0CD108EBBB9}"
ProjectSection(ProjectDependencies) = postProject
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6} = {56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocxFormat", "Projects\DocxFormat.vcproj", "{67EB0D73-21A0-44C9-ADB2-109526E60429}"
ProjectSection(ProjectDependencies) = postProject
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9} = {CF068422-CD0A-484E-B4A9-A0CD108EBBB9}
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6} = {56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}
{873D625C-37E4-47C4-8120-2D9FC6A98765} = {873D625C-37E4-47C4-8120-2D9FC6A98765}
{7D2165DA-B528-4318-A03F-6E922547C09D} = {7D2165DA-B528-4318-A03F-6E922547C09D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "Projects\Utility.vcproj", "{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}"
ProjectSection(ProjectDependencies) = postProject
{3C7D3E76-9C62-4D0E-9645-8731700B1D70} = {3C7D3E76-9C62-4D0E-9645-8731700B1D70}
{7A3C0AE1-9FA1-4F56-99C0-139192364F57} = {7A3C0AE1-9FA1-4F56-99C0-139192364F57}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OfficeSvmFile", "..\..\AVSOfficeOdtFile\Source\OfficeSvmFile\OfficeSvmFile.vcproj", "{7D2165DA-B528-4318-A03F-6E922547C09D}"
ProjectSection(ProjectDependencies) = postProject
{3C7D3E76-9C62-4D0E-9645-8731700B1D70} = {3C7D3E76-9C62-4D0E-9645-8731700B1D70}
{7A3C0AE1-9FA1-4F56-99C0-139192364F57} = {7A3C0AE1-9FA1-4F56-99C0-139192364F57}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Debug|Win32.ActiveCfg = Debug|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Debug|Win32.Build.0 = Debug|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Release|Win32.ActiveCfg = Release|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Release|Win32.Build.0 = Release|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Debug|Win32.ActiveCfg = Debug|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Debug|Win32.Build.0 = Debug|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Release|Win32.ActiveCfg = Release|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Release|Win32.Build.0 = Release|Win32
{873D625C-37E4-47C4-8120-2D9FC6A98765}.Debug|Win32.ActiveCfg = Debug|Win32
{873D625C-37E4-47C4-8120-2D9FC6A98765}.Debug|Win32.Build.0 = Debug|Win32
{873D625C-37E4-47C4-8120-2D9FC6A98765}.Release|Win32.ActiveCfg = Release|Win32
{873D625C-37E4-47C4-8120-2D9FC6A98765}.Release|Win32.Build.0 = Release|Win32
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9}.Debug|Win32.ActiveCfg = Debug|Win32
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9}.Debug|Win32.Build.0 = Debug|Win32
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9}.Release|Win32.ActiveCfg = Release|Win32
{CF068422-CD0A-484E-B4A9-A0CD108EBBB9}.Release|Win32.Build.0 = Release|Win32
{67EB0D73-21A0-44C9-ADB2-109526E60429}.Debug|Win32.ActiveCfg = Debug|Win32
{67EB0D73-21A0-44C9-ADB2-109526E60429}.Debug|Win32.Build.0 = Debug|Win32
{67EB0D73-21A0-44C9-ADB2-109526E60429}.Release|Win32.ActiveCfg = Release|Win32
{67EB0D73-21A0-44C9-ADB2-109526E60429}.Release|Win32.Build.0 = Release|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Debug|Win32.ActiveCfg = Debug|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Debug|Win32.Build.0 = Debug|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Release|Win32.ActiveCfg = Release|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Release|Win32.Build.0 = Release|Win32
{7D2165DA-B528-4318-A03F-6E922547C09D}.Debug|Win32.ActiveCfg = Debug|Win32
{7D2165DA-B528-4318-A03F-6E922547C09D}.Debug|Win32.Build.0 = Debug|Win32
{7D2165DA-B528-4318-A03F-6E922547C09D}.Release|Win32.ActiveCfg = Release|Win32
{7D2165DA-B528-4318-A03F-6E922547C09D}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,78 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_system", "Projects\boost_system2005.vcproj", "{3503791E-20B7-41C9-97D9-BAE92596D648}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_filesystem", "Projects\boost_filesystem2005.vcproj", "{F6A9ED1C-3D23-4246-9366-41373B2E49C6}"
ProjectSection(ProjectDependencies) = postProject
{3503791E-20B7-41C9-97D9-BAE92596D648} = {3503791E-20B7-41C9-97D9-BAE92596D648}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "Projects\Common2005.vcproj", "{399893AA-3617-4CD8-A980-7F15CDAFA3D2}"
ProjectSection(ProjectDependencies) = postProject
{C1587C15-6268-4451-9263-937E63A945F6} = {C1587C15-6268-4451-9263-937E63A945F6}
{7B9F3647-32D3-4F82-8CA5-A43E490E1457} = {7B9F3647-32D3-4F82-8CA5-A43E490E1457}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XML", "Projects\XML2005.vcproj", "{C1587C15-6268-4451-9263-937E63A945F6}"
ProjectSection(ProjectDependencies) = postProject
{3503791E-20B7-41C9-97D9-BAE92596D648} = {3503791E-20B7-41C9-97D9-BAE92596D648}
{7B9F3647-32D3-4F82-8CA5-A43E490E1457} = {7B9F3647-32D3-4F82-8CA5-A43E490E1457}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocxFormat", "Projects\DocxFormat2005.vcproj", "{A100103A-353E-45E8-A9B8-90B87CC5C0B0}"
ProjectSection(ProjectDependencies) = postProject
{C1587C15-6268-4451-9263-937E63A945F6} = {C1587C15-6268-4451-9263-937E63A945F6}
{918D1327-C6ED-43E6-AE22-84A3736F0E87} = {918D1327-C6ED-43E6-AE22-84A3736F0E87}
{399893AA-3617-4CD8-A980-7F15CDAFA3D2} = {399893AA-3617-4CD8-A980-7F15CDAFA3D2}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "Projects\Utility2005.vcproj", "{7B9F3647-32D3-4F82-8CA5-A43E490E1457}"
ProjectSection(ProjectDependencies) = postProject
{F6A9ED1C-3D23-4246-9366-41373B2E49C6} = {F6A9ED1C-3D23-4246-9366-41373B2E49C6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OfficeSvmFile", "..\..\AVSOfficeOdtFile\Source\OfficeSvmFile\OfficeSvmFile2005.vcproj", "{918D1327-C6ED-43E6-AE22-84A3736F0E87}"
ProjectSection(ProjectDependencies) = postProject
{F6A9ED1C-3D23-4246-9366-41373B2E49C6} = {F6A9ED1C-3D23-4246-9366-41373B2E49C6}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3503791E-20B7-41C9-97D9-BAE92596D648}.Debug|Win32.ActiveCfg = Debug|Win32
{3503791E-20B7-41C9-97D9-BAE92596D648}.Debug|Win32.Build.0 = Debug|Win32
{3503791E-20B7-41C9-97D9-BAE92596D648}.Release|Win32.ActiveCfg = Release|Win32
{3503791E-20B7-41C9-97D9-BAE92596D648}.Release|Win32.Build.0 = Release|Win32
{F6A9ED1C-3D23-4246-9366-41373B2E49C6}.Debug|Win32.ActiveCfg = Debug|Win32
{F6A9ED1C-3D23-4246-9366-41373B2E49C6}.Debug|Win32.Build.0 = Debug|Win32
{F6A9ED1C-3D23-4246-9366-41373B2E49C6}.Release|Win32.ActiveCfg = Release|Win32
{F6A9ED1C-3D23-4246-9366-41373B2E49C6}.Release|Win32.Build.0 = Release|Win32
{399893AA-3617-4CD8-A980-7F15CDAFA3D2}.Debug|Win32.ActiveCfg = Debug|Win32
{399893AA-3617-4CD8-A980-7F15CDAFA3D2}.Debug|Win32.Build.0 = Debug|Win32
{399893AA-3617-4CD8-A980-7F15CDAFA3D2}.Release|Win32.ActiveCfg = Release|Win32
{399893AA-3617-4CD8-A980-7F15CDAFA3D2}.Release|Win32.Build.0 = Release|Win32
{C1587C15-6268-4451-9263-937E63A945F6}.Debug|Win32.ActiveCfg = Debug|Win32
{C1587C15-6268-4451-9263-937E63A945F6}.Debug|Win32.Build.0 = Debug|Win32
{C1587C15-6268-4451-9263-937E63A945F6}.Release|Win32.ActiveCfg = Release|Win32
{C1587C15-6268-4451-9263-937E63A945F6}.Release|Win32.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.ActiveCfg = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.Build.0 = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.ActiveCfg = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.Build.0 = Release|Win32
{7B9F3647-32D3-4F82-8CA5-A43E490E1457}.Debug|Win32.ActiveCfg = Debug|Win32
{7B9F3647-32D3-4F82-8CA5-A43E490E1457}.Debug|Win32.Build.0 = Debug|Win32
{7B9F3647-32D3-4F82-8CA5-A43E490E1457}.Release|Win32.ActiveCfg = Release|Win32
{7B9F3647-32D3-4F82-8CA5-A43E490E1457}.Release|Win32.Build.0 = Release|Win32
{918D1327-C6ED-43E6-AE22-84A3736F0E87}.Debug|Win32.ActiveCfg = Debug|Win32
{918D1327-C6ED-43E6-AE22-84A3736F0E87}.Debug|Win32.Build.0 = Debug|Win32
{918D1327-C6ED-43E6-AE22-84A3736F0E87}.Release|Win32.ActiveCfg = Release|Win32
{918D1327-C6ED-43E6-AE22-84A3736F0E87}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,334 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Common"
ProjectGUID="{873D625C-37E4-47C4-8120-2D9FC6A98765}"
RootNamespace="Common"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./../Source/Utility"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ProgramDataBaseFileName="$(IntDir)\common.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="./../Source/Utility"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
ProgramDataBaseFileName="$(IntDir)\common.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\Common\AbstractConverter.h"
>
</File>
<File
RelativePath="..\Source\Common\Align.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Align.h"
>
</File>
<File
RelativePath="..\Source\Common\Color.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Color.h"
>
</File>
<File
RelativePath="..\Source\Common\Common.h"
>
</File>
<File
RelativePath="..\Source\Common\Index.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Index.h"
>
</File>
<File
RelativePath="..\Source\Common\NumFormat.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\NumFormat.h"
>
</File>
<File
RelativePath="..\Source\Common\Point.h"
>
</File>
<File
RelativePath="..\Source\Common\Position.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Position.h"
>
</File>
<File
RelativePath="..\Source\Common\Size.h"
>
</File>
<File
RelativePath="..\Source\Common\Wrap.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Wrap.h"
>
</File>
<File
RelativePath="..\Source\Common\ZIndex.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\ZIndex.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,361 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="Common"
ProjectGUID="{399893AA-3617-4CD8-A980-7F15CDAFA3D2}"
RootNamespace="Common"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./../Source/Utility"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="precompiled_common.h"
ProgramDataBaseFileName="$(IntDir)\common.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="./../Source/Utility"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="precompiled_common.h"
ProgramDataBaseFileName="$(IntDir)\common.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
AdditionalLibraryDirectories=""
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\Common\AbstractConverter.h"
>
</File>
<File
RelativePath="..\Source\Common\Align.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Align.h"
>
</File>
<File
RelativePath="..\Source\Common\Color.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Color.h"
>
</File>
<File
RelativePath="..\Source\Common\Common.h"
>
</File>
<File
RelativePath="..\Source\Common\Index.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Index.h"
>
</File>
<File
RelativePath="..\Source\Common\NumFormat.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\NumFormat.h"
>
</File>
<File
RelativePath="..\Source\Common\Point.h"
>
</File>
<File
RelativePath="..\Source\Common\Position.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Position.h"
>
</File>
<File
RelativePath="..\Source\Common\precompiled_common.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\precompiled_common.h"
>
</File>
<File
RelativePath="..\Source\Common\Size.h"
>
</File>
<File
RelativePath="..\Source\Common\Wrap.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\Wrap.h"
>
</File>
<File
RelativePath="..\Source\Common\ZIndex.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Common\ZIndex.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,596 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Utility"
ProjectGUID="{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}"
RootNamespace="Utility"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Exception"
>
<File
RelativePath="..\Source\Utility\Exception\log_invalid_argument.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_invalid_argument.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_find.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_find.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_implement.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_implement.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_init_nullable.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_init_nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_range_error.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_range_error.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_runtime_error.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_runtime_error.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_implement.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_implement.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_init_nullable.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_init_nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\UnitError.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\UnitError.h"
>
</File>
</Filter>
<File
RelativePath="..\Source\Utility\codecvt.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\codecvt.h"
>
</File>
<File
RelativePath="..\Source\Utility\DateTime.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\DateTime.h"
>
</File>
<File
RelativePath="..\Source\Utility\Encoding.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Encoding.h"
>
</File>
<File
RelativePath="..\Source\Utility\FileNameUtility.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\FileNameUtility.h"
>
</File>
<File
RelativePath="..\Source\Utility\Getter.h"
>
</File>
<File
RelativePath="..\Source\Utility\IDictonary.h"
>
</File>
<File
RelativePath="..\Source\Utility\IEnumerable.h"
>
</File>
<File
RelativePath="..\Source\Utility\IItemable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Log.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Log.h"
>
</File>
<File
RelativePath="..\Source\Utility\LogDetails.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\LogDetails.h"
>
</File>
<File
RelativePath="..\Source\Utility\nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\nullable_property.h"
>
</File>
<File
RelativePath="..\Source\Utility\Parse.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Parse.h"
>
</File>
<File
RelativePath="..\Source\Utility\property.h"
>
</File>
<File
RelativePath="..\Source\Utility\Setter.h"
>
</File>
<File
RelativePath="..\Source\Utility\ToString.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\ToString.h"
>
</File>
<File
RelativePath="..\Source\Utility\TxtFile.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\TxtFile.h"
>
</File>
<File
RelativePath="..\Source\Utility\Unit.h"
>
</File>
<File
RelativePath="..\Source\Utility\UniversalUnit.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\UniversalUnit.h"
>
</File>
<File
RelativePath="..\Source\Utility\Utility.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,623 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="Utility"
ProjectGUID="{7B9F3647-32D3-4F82-8CA5-A43E490E1457}"
RootNamespace="Utility"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="precompiled_utility.h"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="precompiled_utility.h"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Exception"
>
<File
RelativePath="..\Source\Utility\Exception\log_invalid_argument.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_invalid_argument.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_find.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_find.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_implement.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_implement.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_init_nullable.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_not_init_nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_range_error.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_range_error.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_runtime_error.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\log_runtime_error.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_implement.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_implement.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_init_nullable.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\not_init_nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Exception\UnitError.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Common\Exception\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Exception\UnitError.h"
>
</File>
</Filter>
<File
RelativePath="..\Source\Utility\codecvt.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\codecvt.h"
>
</File>
<File
RelativePath="..\Source\Utility\DateTime.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\DateTime.h"
>
</File>
<File
RelativePath="..\Source\Utility\Encoding.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Encoding.h"
>
</File>
<File
RelativePath="..\Source\Utility\FileNameUtility.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\FileNameUtility.h"
>
</File>
<File
RelativePath="..\Source\Utility\Getter.h"
>
</File>
<File
RelativePath="..\Source\Utility\IDictonary.h"
>
</File>
<File
RelativePath="..\Source\Utility\IEnumerable.h"
>
</File>
<File
RelativePath="..\Source\Utility\IItemable.h"
>
</File>
<File
RelativePath="..\Source\Utility\Log.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Log.h"
>
</File>
<File
RelativePath="..\Source\Utility\LogDetails.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\LogDetails.h"
>
</File>
<File
RelativePath="..\Source\Utility\nullable.h"
>
</File>
<File
RelativePath="..\Source\Utility\nullable_property.h"
>
</File>
<File
RelativePath="..\Source\Utility\Parse.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\Parse.h"
>
</File>
<File
RelativePath="..\Source\Utility\precompiled_utility.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\precompiled_utility.h"
>
</File>
<File
RelativePath="..\Source\Utility\property.h"
>
</File>
<File
RelativePath="..\Source\Utility\Setter.h"
>
</File>
<File
RelativePath="..\Source\Utility\ToString.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\ToString.h"
>
</File>
<File
RelativePath="..\Source\Utility\TxtFile.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Utility\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\Utility\TxtFile.h"
>
</File>
<File
RelativePath="..\Source\Utility\Unit.h"
>
</File>
<File
RelativePath="..\Source\Utility\UniversalUnit.cpp"
>
</File>
<File
RelativePath="..\Source\Utility\UniversalUnit.h"
>
</File>
<File
RelativePath="..\Source\Utility\Utility.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,232 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="boost_filesystem"
ProjectGUID="{3C7D3E76-9C62-4D0E-9645-8731700B1D70}"
RootNamespace="boost_filesystem"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ProgramDataBaseFileName="$(IntDir)\boost_filesytem.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_filesystem-vc90-mt-gd-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
ProgramDataBaseFileName="$(IntDir)\boost_filesytem.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_filesystem-vc90-mt-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\boost_filesystem\operations.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\path.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\portability.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\utf8_codecvt_facet.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\utf8_codecvt_facet.hpp"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="boost_filesystem"
ProjectGUID="{F6A9ED1C-3D23-4246-9366-41373B2E49C6}"
RootNamespace="boost_filesystem"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ProgramDataBaseFileName="$(IntDir)\boost_filesytem.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_filesystem-vc80-mt-gd-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
ProgramDataBaseFileName="$(IntDir)\boost_filesytem.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_filesystem-vc80-mt-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\boost_filesystem\operations.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\path.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\portability.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\utf8_codecvt_facet.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_Filesystem\"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\Source\boost_filesystem\utf8_codecvt_facet.hpp"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="boost_system"
ProjectGUID="{7A3C0AE1-9FA1-4F56-99C0-139192364F57}"
RootNamespace="boost_system"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ProgramDataBaseFileName="$(IntDir)\boost_system.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_system-vc90-mt-gd-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
ProgramDataBaseFileName="$(IntDir)\boost_system.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_system-vc90-mt-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\boost_system\error_code.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_System\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_System\"
/>
</FileConfiguration>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="boost_system"
ProjectGUID="{3503791E-20B7-41C9-97D9-BAE92596D648}"
RootNamespace="boost_system"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\Lib\Debug"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ProgramDataBaseFileName="$(IntDir)\boost_system.pdb"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_system-vc80-mt-gd-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\Lib\Release"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
ProgramDataBaseFileName="$(IntDir)\boost_system.pdb"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(OutDir)\libboost_system-vc80-mt-1_38.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath="..\Source\boost_system\error_code.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_System\"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="$(IntDir)\Boost_System\"
/>
</FileConfiguration>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -0,0 +1,53 @@
#pragma once
#ifndef ABSTRACT_CONVERTER_INCLUDE_H_
#define ABSTRACT_CONVERTER_INCLUDE_H_
#include <boost/utility.hpp>
#include <boost/filesystem.hpp>
template<class Input, class Output>
class AbstractConverter : private boost::noncopyable
{
public:
AbstractConverter(const boost::filesystem::wpath& originPath)
{
m_origin.read(originPath);
}
public:
const bool isInputValid(const boost::filesystem::wpath& path) const
{
return m_input.isValid(path);
}
const bool isOriginValid(const boost::filesystem::wpath& path) const
{
return m_origin.isValid(path);
}
const bool isOutputValid(const boost::filesystem::wpath& path) const
{
return m_output.isValid(path);
}
void read(const boost::filesystem::wpath& path)
{
m_input.read(path);
}
void write(const boost::filesystem::wpath& path) const
{
m_output.write(path);
}
protected:
typedef AbstractConverter base;
protected:
Input m_input;
Output m_output;
Output m_origin;
};
#endif // ABSTRACT_CONVERTER_INCLUDE_H_

View File

@ -0,0 +1,107 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "Align.h"
namespace Common
{
Align::Align()
: m_type(right)
{
}
const Align::Type Align::type() const
{
return m_type;
}
const Align Align::Right()
{
return Align(right);
}
const Align Align::Left()
{
return Align(left);
}
const Align Align::Center()
{
return Align(center);
}
const Align Align::Both()
{
return Align(both);
}
const bool Align::isRight() const
{
return m_type == right;
}
const bool Align::isLeft() const
{
return m_type == left;
}
const bool Align::isCenter() const
{
return m_type == center;
}
const bool Align::isBoth() const
{
return m_type == both;
}
void Align::setRight()
{
m_type = right;
}
void Align::setLeft()
{
m_type = left;
}
void Align::setCenter()
{
m_type = center;
}
void Align::setBoth()
{
m_type = both;
}
Align::Align(const Align::Type type)
: m_type(type)
{
}
void Align::fromBase(const Align& align)
{
m_type = align.m_type;
}
} // namespace Common

View File

@ -0,0 +1,51 @@
#pragma once
#ifndef COMMON_ALIGN_INCLUDE_H_
#define COMMON_ALIGN_INCLUDE_H_
namespace Common
{
class Align
{
public:
Align();
enum Type
{
right,
left,
center,
both
};
public:
const Type type() const;
public:
static const Align Right();
static const Align Left();
static const Align Center();
static const Align Both();
public:
const bool isRight() const;
const bool isLeft() const;
const bool isCenter() const;
const bool isBoth() const;
public:
void setRight();
void setLeft();
void setCenter();
void setBoth();
protected:
Type m_type;
protected:
Align(const Type type);
void fromBase(const Align& align);
};
} // namespace Common
#endif // COMMON_ALIGN_INCLUDE_H_

View File

@ -0,0 +1,35 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "Color.h"
namespace Common
{
Color::Color()
: Red(0x00),
Green(0x00),
Blue(0x00)
{
}
Color::Color(const int red, const int green, const int blue)
: Red(red),
Green(green),
Blue(blue)
{
}
void Color::fromBase(const Color& color)
{
Red = color.Red;
Green = color.Green;
Blue = color.Blue;
}
} // namespace Common

View File

@ -0,0 +1,26 @@
#pragma once
#ifndef COMMON_COLOR_INCLUDE_H_
#define COMMON_COLOR_INCLUDE_H_
#include "property.h"
namespace Common
{
class Color
{
public:
Color();
Color(const int red, const int green, const int blue);
public:
property<int, setter::between<int, 0, 255> > Red;
property<int, setter::between<int, 0, 255> > Green;
property<int, setter::between<int, 0, 255> > Blue;
protected:
void fromBase(const Color& color);
};
} // namespace Common
#endif // COMMON_COLOR_INCLUDE_H_

View File

@ -0,0 +1,16 @@
#pragma once
#ifndef COMMON_COMMON_INCLUDE_H_
#define COMMON_COMMON_INCLUDE_H_
#include "Align.h"
#include "Color.h"
#include "Index.h"
#include "Point.h"
#include "Size.h"
#include "NumFormat.h"
#include "Position.h"
#include "Wrap.h"
#include "ZIndex.h"
#endif // COMMON_COMMON_INCLUDE_H_

View File

@ -0,0 +1,89 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "Index.h"
namespace Common
{
Index::Index()
: m_type(normal)
{
}
const Index::Type Index::type() const
{
return m_type;
}
const Index Index::Super()
{
return Index(super);
}
const Index Index::Normal()
{
return Index(normal);
}
const Index Index::Sub()
{
return Index(sub);
}
const bool Index::isSuper() const
{
return m_type == super;
}
const bool Index::isNormal() const
{
return m_type == normal;
}
const bool Index::isSub() const
{
return m_type == sub;
}
void Index::setSuper()
{
m_type = super;
}
void Index::setNormal()
{
m_type = normal;
}
void Index::setSub()
{
m_type = sub;
}
Index::Index(const Index::Type type)
: m_type(type)
{
}
void Index::fromBase(const Index& index)
{
m_type = index.m_type;
}
} // namespace Common

View File

@ -0,0 +1,47 @@
#pragma once
#ifndef COMMON_INDEX_INCLUDE_H_
#define COMMON_INDEX_INCLUDE_H_
namespace Common
{
class Index
{
public:
Index();
enum Type
{
super,
normal,
sub
};
public:
const Type type() const;
public:
static const Index Super();
static const Index Normal();
static const Index Sub();
public:
const bool isSuper() const;
const bool isNormal() const;
const bool isSub() const;
public:
void setSuper();
void setNormal();
void setSub();
protected:
Type m_type;
protected:
Index(const Type type);
void fromBase(const Index& index);
};
} // namespace Common
#endif // COMMON_INDEX_INCLUDE_H_

View File

@ -0,0 +1,179 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "NumFormat.h"
namespace Common
{
NumFormat::NumFormat()
: m_type(decimal)
{
}
const NumFormat::Type NumFormat::type() const
{
return m_type;
}
const NumFormat NumFormat::UpperLetter()
{
return NumFormat(upperLetter);
}
const NumFormat NumFormat::LowerLetter()
{
return NumFormat(lowerLetter);
}
const NumFormat NumFormat::UpperRoman()
{
return NumFormat(upperRoman);
}
const NumFormat NumFormat::LowerRoman()
{
return NumFormat(lowerRoman);
}
const NumFormat NumFormat::Decimal()
{
return NumFormat(decimal);
}
const NumFormat NumFormat::Symbol()
{
return NumFormat(symbol);
}
const NumFormat NumFormat::Bullet()
{
return NumFormat(bullet);
}
const NumFormat NumFormat::Chicago()
{
return NumFormat(chicago);
}
const bool NumFormat::isUpperLetter() const
{
return m_type == upperLetter;
}
const bool NumFormat::isLowerLetter() const
{
return m_type == lowerLetter;
}
const bool NumFormat::isUpperRoman() const
{
return m_type == upperRoman;
}
const bool NumFormat::isLowerRoman() const
{
return m_type == lowerRoman;
}
const bool NumFormat::isDecimal() const
{
return m_type == decimal;
}
const bool NumFormat::isSymbol() const
{
return m_type == symbol;
}
const bool NumFormat::isBullet() const
{
return m_type == bullet;
}
const bool NumFormat::isChicago() const
{
return m_type == chicago;
}
void NumFormat::setUpperLetter()
{
m_type = upperLetter;
}
void NumFormat::setLowerLetter()
{
m_type = lowerLetter;
}
void NumFormat::setUpperRoman()
{
m_type = upperRoman;
}
void NumFormat::setLowerRoman()
{
m_type = lowerRoman;
}
void NumFormat::setDecimal()
{
m_type = decimal;
}
void NumFormat::setSymbol()
{
m_type = symbol;
}
void NumFormat::setBullet()
{
m_type = bullet;
}
void NumFormat::setChicago()
{
m_type = chicago;
}
NumFormat::NumFormat(const NumFormat::Type type)
: m_type(type)
{
}
void NumFormat::fromBase(const NumFormat& numFormat)
{
m_type = numFormat.m_type;
}
} // namespace Common

View File

@ -0,0 +1,68 @@
#pragma once
#ifndef COMMON_NUM_FORMAT_INCLUDE_H_
#define COMMON_NUM_FORMAT_INCLUDE_H_
namespace Common
{
class NumFormat
{
public:
NumFormat();
//TODO: Add other types
enum Type
{
upperLetter,
lowerLetter,
upperRoman,
lowerRoman,
decimal,
symbol,
bullet,
chicago
};
public:
const Type type() const;
public:
static const NumFormat UpperLetter();
static const NumFormat LowerLetter();
static const NumFormat UpperRoman();
static const NumFormat LowerRoman();
static const NumFormat Decimal();
static const NumFormat Symbol();
static const NumFormat Bullet();
static const NumFormat Chicago();
public:
const bool isUpperLetter() const;
const bool isLowerLetter() const;
const bool isUpperRoman() const;
const bool isLowerRoman() const;
const bool isDecimal() const;
const bool isSymbol() const;
const bool isBullet() const;
const bool isChicago() const;
public:
void setUpperLetter();
void setLowerLetter();
void setUpperRoman();
void setLowerRoman();
void setDecimal();
void setSymbol();
void setBullet();
void setChicago();
protected:
Type m_type;
protected:
NumFormat(const Type type);
void fromBase(const NumFormat& numFormat);
};
} // namespace Common
#endif // COMMON_NUM_FORMAT_INCLUDE_H_

View File

@ -0,0 +1,71 @@
#pragma once
#ifndef COMMON_POINT_INCLUDE_H_
#define COMMON_POINT_INCLUDE_H_
#include "Unit.h"
#include "property.h"
#include "nullable_property.h"
#include "XML.h"
namespace Common
{
template<class Unit>
class Point
{
public:
Point() {};
template<typename XType, typename YType>
Point(const XType& x, const YType& y)
: X(x), Y(y)
{
}
template<typename OtherUnit>
Point(const OtherUnit& rhs)
: X(rhs.X), Y(rhs.Y)
{
}
template<typename OtherUnit>
const Point& operator =(const OtherUnit& rhs)
{
X = ths.X;
Y = ths.Y;
return *this;
}
public:
property<Unit> X;
property<Unit> Y;
};
} // namespace Common
namespace XML
{
template<class Unit>
const Common::Point<Unit> XElement2Point(const XML::XElement& element, const std::string& x, const std::string& y)
{
Common::Point<Unit> point;
point.X = element.attribute(x).value().ToString();
point.Y = element.attribute(y).value().ToString();
return point;
}
template<class Unit>
const nullable<Common::Point<Unit> > XElement2NullablePoint(const XML::XElement& element, const std::string& x, const std::string& y)
{
nullable<Common::Point<Unit> > point;
if (element.attribute(x).exist() || element.attribute(y).exist())
point.init();
if (element.attribute(x).exist())
point->X = element.attribute(x).value().ToString();
if (element.attribute(y).exist())
point->Y = element.attribute(y).value().ToString();
return point;
}
} // namespace XML
#endif // COMMON_POINT_INCLUDE_H_

View File

@ -0,0 +1,71 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "Position.h"
namespace Common
{
Position::Position()
: m_type(foreground)
{
}
const Position::Type Position::type() const
{
return m_type;
}
const Position Position::Background()
{
return Position(background);
}
const Position Position::Foreground()
{
return Position(foreground);
}
const bool Position::isBackground() const
{
return m_type == background;
}
const bool Position::isForeground() const
{
return m_type == foreground;
}
void Position::setBackground()
{
m_type = background;
}
void Position::setForeground()
{
m_type = foreground;
}
Position::Position(const Position::Type type)
: m_type(type)
{
}
void Position::fromBase(const Position& position)
{
m_type = position.m_type;
}
} // namespace Common

View File

@ -0,0 +1,43 @@
#pragma once
#ifndef COMMON_POSITION_INCLUDE_H_
#define COMMON_POSITION_INCLUDE_H_
namespace Common
{
class Position
{
public:
Position();
enum Type
{
background,
foreground
};
public:
const Type type() const;
public:
static const Position Background();
static const Position Foreground();
public:
const bool isBackground() const;
const bool isForeground() const;
public:
void setBackground();
void setForeground();
protected:
Type m_type;
protected:
Position(const Type type);
void fromBase(const Position& position);
};
} // namespace Common
#endif // COMMON_POSITION_INCLUDE_H_

View File

@ -0,0 +1,71 @@
#pragma once
#ifndef COMMON_SIZE_INCLUDE_H_
#define COMMON_SIZE_INCLUDE_H_
#include "Unit.h"
#include "property.h"
#include "nullable_property.h"
#include "XML.h"
namespace Common
{
template<class Unit>
class Size
{
public:
Size() {}
template<typename HeightType, typename WidthType>
Size(const HeightType& height, WidthType width)
: Height(height), Width(width)
{
}
template<typename OtherUnit>
Size(const OtherUnit& rhs)
: Height(rhs.Height), Width(rhs.Width)
{
}
template<typename OtherUnit>
const Size& operator =(const OtherUnit& rhs)
{
Height = ths.Height;
Width = ths.Width;
return *this;
}
public:
property<Unit> Height;
property<Unit> Width;
};
} // namespace Common
namespace XML
{
template<class Unit>
const Common::Size<Unit> XElement2Size(const XML::XElement& element, const std::string& height, const std::string& width)
{
Common::Size<Unit> size;
size.Height = element.attribute(height).value().ToString();
size.Width = element.attribute(width).value().ToString();
return size;
}
template<class Unit>
const nullable<Common::Size<Unit> > XElement2NullableSize(const XML::XElement& element, const std::string& height, const std::string& width)
{
nullable<Common::Size<Unit> > size;
if (element.attribute(height).exist() || element.attribute(width).exist())
size.init();
if (element.attribute(height).exist())
size->Height = element.attribute(height).value().ToString();
if (element.attribute(width).exist())
size->Width = element.attribute(width).value().ToString();
return size;
}
} // namespace XML
#endif // COMMON_SIZE_INCLUDE_H_

View File

@ -0,0 +1,107 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "Wrap.h"
namespace Common
{
Wrap::Wrap()
: m_type(square)
{
}
const Wrap::Type Wrap::type() const
{
return m_type;
}
const Wrap Wrap::Square()
{
return Wrap(square);
}
const Wrap Wrap::Tight()
{
return Wrap(tight);
}
const Wrap Wrap::TopAndBottom()
{
return Wrap(topAndBottom);
}
const Wrap Wrap::None()
{
return Wrap(none);
}
const bool Wrap::isSquare() const
{
return m_type == square;
}
const bool Wrap::isTight() const
{
return m_type == tight;
}
const bool Wrap::isTopAndBottom() const
{
return m_type == topAndBottom;
}
const bool Wrap::isNone() const
{
return m_type == none;
}
void Wrap::setSquare()
{
m_type = square;
}
void Wrap::setTight()
{
m_type = tight;
}
void Wrap::setTopAndBottom()
{
m_type = topAndBottom;
}
void Wrap::setNone()
{
m_type = none;
}
Wrap::Wrap(const Wrap::Type type)
: m_type(type)
{
}
void Wrap::fromBase(const Wrap& wrap)
{
m_type = wrap.m_type;
}
} // namespace Common

View File

@ -0,0 +1,51 @@
#pragma once
#ifndef COMMON_WRAP_INCLUDE_H_
#define COMMON_WRAP_INCLUDE_H_
namespace Common
{
class Wrap
{
public:
Wrap();
enum Type
{
square,
tight,
topAndBottom,
none
};
public:
const Type type() const;
public:
static const Wrap Square();
static const Wrap Tight();
static const Wrap TopAndBottom();
static const Wrap None();
public:
const bool isSquare() const;
const bool isTight() const;
const bool isTopAndBottom() const;
const bool isNone() const;
public:
void setSquare();
void setTight();
void setTopAndBottom();
void setNone();
protected:
Type m_type;
protected:
Wrap(const Type type);
void fromBase(const Wrap& wrap);
};
} // namespace Common
#endif // COMMON_WRAP_INCLUDE_H_

View File

@ -0,0 +1,29 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end
#include "ZIndex.h"
namespace Common
{
ZIndex::ZIndex()
: Index(0)
{
}
ZIndex::ZIndex(const int& index)
: Index(index)
{
}
void ZIndex::fromBase(const ZIndex& zIndex)
{
Index = zIndex.Index;
}
} // namespace Common

View File

@ -0,0 +1,24 @@
#pragma once
#ifndef COMMON_Z_INDEX_INCLUDE_H_
#define COMMON_Z_INDEX_INCLUDE_H_
#include "property.h"
namespace Common
{
class ZIndex
{
public:
ZIndex();
ZIndex(const int& index);
public:
property<int> Index;
protected:
void fromBase(const ZIndex& zIndex);
};
} // namespace Common
#endif // COMMON_Z_INDEX_INCLUDE_H_

View File

@ -0,0 +1,5 @@
// auto inserted precompiled begin
#include "precompiled_common.h"
// auto inserted precompiled end

View File

@ -0,0 +1,8 @@
#pragma once
#include <boost/utility.hpp>
#include <boost/filesystem.hpp>
#include "unit.h"
#include "property.h"
#include "nullable_property.h"

View File

@ -0,0 +1,112 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "App.h"
#include "FileTypes.h"
namespace OOX
{
App::App()
{
}
App::App(const boost::filesystem::wpath& filename)
{
read(filename);
}
App::~App()
{
}
void App::read(const boost::filesystem::wpath& filename)
{
const XML::XDocument document(filename);
m_template = document.Root.element("Template").text();
m_totalTime = document.Root.element("TotalTime").text();
Pages = document.Root.element("Pages").text();
Words = document.Root.element("Words").text();
Characters = document.Root.element("Characters").text();
m_appllication= document.Root.element("Application").text();
m_docSecurity = document.Root.element("DocSecurity").text();
m_lines = document.Root.element("Lines").text();
Paragraphs = document.Root.element("Paragraphs").text();
m_scaleCrop = document.Root.element("ScaleCrop").text();
m_company = document.Root.element("Company").text();
m_linksUpToDate = document.Root.element("LinksUpToDate").text();
CharactersWithSpaces = document.Root.element("CharactersWithSpaces").text();
m_shareDoc = document.Root.element("SharedDoc").text();
m_hyperLinksChanged = document.Root.element("HyperlinksChanged").text();
m_appVersion = document.Root.element("AppVersion").text();
}
void App::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement element = XML::XElement("Properties",
XML::XNamespace("xmlns", "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"));
if (m_template.is_init())
element.Add(XML::XElement("Template", XML::XText(m_template)));
if (m_totalTime.is_init())
element.Add(XML::XElement("TotalTime", XML::XText(m_totalTime)));
if (Pages.is_init())
element.Add(XML::XElement("Pages", XML::XText(Pages)));
if (Words.is_init())
element.Add(XML::XElement("Words", XML::XText(Words)));
if (Characters.is_init())
element.Add(XML::XElement("Characters", XML::XText(Characters)));
if (m_appllication.is_init())
element.Add(XML::XElement("Application", XML::XText(m_appllication)));
if (m_docSecurity.is_init())
element.Add(XML::XElement("DocSecurity", XML::XText(m_docSecurity)));
if (m_template.is_init())
element.Add(XML::XElement("Lines", XML::XText(m_lines)));
if (Paragraphs.is_init())
element.Add(XML::XElement("Paragraphs", XML::XText(Paragraphs)));
if (m_scaleCrop.is_init())
element.Add(XML::XElement("ScaleCrop", XML::XText(m_scaleCrop)));
if (m_company.is_init())
element.Add(XML::XElement("Company", XML::XText(m_company)));
if (m_linksUpToDate.is_init())
element.Add(XML::XElement("LinksUpToDate", XML::XText(m_linksUpToDate)));
if (CharactersWithSpaces.is_init())
element.Add(XML::XElement("CharactersWithSpaces", XML::XText(CharactersWithSpaces)));
if (m_shareDoc.is_init())
element.Add(XML::XElement("SharedDoc", XML::XText(m_shareDoc)));
if (m_hyperLinksChanged.is_init())
element.Add(XML::XElement("HyperlinksChanged", XML::XText(m_hyperLinksChanged)));
if (m_appVersion.is_init())
element.Add(XML::XElement("AppVersion", XML::XText(m_appVersion)));
element.Save(filename);
content.registration(type().OverrideType(), directory, filename);
}
const FileType App::type() const
{
return FileTypes::App;
}
const boost::filesystem::wpath App::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath App::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,51 @@
#pragma once
#ifndef OOX_APP_INCLUDE_H_
#define OOX_APP_INCLUDE_H_
#include "File.h"
#include "property.h"
#include "nullable.h"
namespace OOX
{
class App : public OOX::File
{
public:
App();
App(const boost::filesystem::wpath& filename);
virtual ~App();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
nullable_property<int, setter::only_positive<int> > Pages;
nullable_property<int, setter::only_positive<int> > Words;
nullable_property<int, setter::only_positive<int> > Paragraphs;
nullable_property<int, setter::only_positive<int> > Characters;
nullable_property<int, setter::only_positive<int> > CharactersWithSpaces;
private:
nullable<std::string> m_template;
nullable<int> m_totalTime;
nullable<std::string> m_appllication;
nullable<int> m_docSecurity;
nullable<int> m_lines;
nullable<int> m_paragraphs;
nullable<bool> m_scaleCrop;
nullable<std::string> m_company;
nullable<bool> m_linksUpToDate;
nullable<bool> m_shareDoc;
nullable<bool> m_hyperLinksChanged;
nullable<std::string> m_appVersion;
};
} // namespace OOX
#endif // OOX_APP_INCLUDE_H_

View File

@ -0,0 +1,69 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Default.h"
#include "Extensiontable.h"
namespace OOX
{
namespace ContentTypes
{
Default::Default(const std::wstring& extension)
: m_extension(extension)
{
}
Default::Default(const wchar_t* extension)
: m_extension(extension)
{
}
Default::~Default()
{
}
Default::Default(const XML::XNode& node)
{
fromXML(node);
}
const Default& Default::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void Default::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
m_extension = element.attribute("Extension").value();
}
const XML::XNode Default::toXML() const
{
static const ExtensionTable table;
return
XML::XElement("Default",
XML::XAttribute("Extension", m_extension) +
XML::XAttribute("ContentType", table[m_extension])
);
}
const bool Default::operator ==(const std::wstring& rhs) const
{
return m_extension == rhs;
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,35 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_DEFAULT_INCLUDE_H_
#define OOX_CONTENT_TYPES_DEFAULT_INCLUDE_H_
#include "./../WritingElement.h"
#include <string>
namespace OOX
{
namespace ContentTypes
{
class Default : public WritingElement
{
public:
Default(const std::wstring& extension);
Default(const wchar_t* extension);
virtual ~Default();
explicit Default(const XML::XNode& node);
const Default& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
const bool operator ==(const std::wstring& rhs) const;
private:
std::wstring m_extension;
};
} // namespace ContentTypes
} // namespace OOX
#endif // OOX_CONTENT_TYPES_DEFAULT_INCLUDE_H_

View File

@ -0,0 +1,55 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "DefaultTable.h"
#include <boost/foreach.hpp>
namespace OOX
{
namespace ContentTypes
{
DefaultTable::DefaultTable()
{
m_items.push_back(L"rels");
m_items.push_back(L"xml");
}
DefaultTable::~DefaultTable()
{
}
DefaultTable::DefaultTable(const XML::XNode& node)
{
fromXML(node);
}
const DefaultTable& DefaultTable::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void DefaultTable::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
XML::Fill(m_items, element, "Default");
}
void DefaultTable::add(const boost::filesystem::wpath& path)
{
const std::wstring extension = path.extension().substr(1);
if (std::find(begin(), end(), extension) == end())
m_items.push_back(extension);
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,31 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_DEFAULT_TABLE_INCLUDE_H_
#define OOX_CONTENT_TYPES_DEFAULT_TABLE_INCLUDE_H_
#include "./../WritingVector.h"
#include "Default.h"
#include <boost/filesystem.hpp>
namespace OOX
{
namespace ContentTypes
{
class DefaultTable : public WritingVector<Default>
{
public:
DefaultTable();
virtual ~DefaultTable();
explicit DefaultTable(const XML::XNode& node);
const DefaultTable& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
public:
void add(const boost::filesystem::wpath& path);
};
} // namespace ContentTypes
} // namespace OOX
#endif // OOX_CONTENT)TYPES_DEFAULT_TABLE_INCLUDE_H_

View File

@ -0,0 +1,59 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "ExtensionTable.h"
#include "Exception/log_range_error.h"
#include "ToString.h"
namespace OOX
{
namespace ContentTypes
{
ExtensionTable::ExtensionTable()
{
m_table.insert(std::make_pair(L"gif", "image/gif"));
m_table.insert(std::make_pair(L"png", "image/png"));
m_table.insert(std::make_pair(L"tif", "image/tiff"));
m_table.insert(std::make_pair(L"tiff", "image/tiff"));
m_table.insert(std::make_pair(L"jpeg", "image/jpeg"));
m_table.insert(std::make_pair(L"jpg", "image/jpeg"));
m_table.insert(std::make_pair(L"jpe", "image/jpeg"));
m_table.insert(std::make_pair(L"jfif", "image/jpeg"));
m_table.insert(std::make_pair(L"rels", "application/vnd.openxmlformats-package.relationships+xml"));
m_table.insert(std::make_pair(L"bin", "application/vnd.openxmlformats-officedocument.oleObject"));
m_table.insert(std::make_pair(L"xml", "application/xml"));
m_table.insert(std::make_pair(L"emf", "image/x-emf"));
m_table.insert(std::make_pair(L"emz", "image/x-emz"));
m_table.insert(std::make_pair(L"wmf", "image/x-wmf"));
m_table.insert(std::make_pair(L"svm", "image/svm"));
m_table.insert(std::make_pair(L"wav", "audio/wav"));
m_table.insert(std::make_pair(L"xls", "application/vnd.ms-excel"));
m_table.insert(std::make_pair(L"xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"));
m_table.insert(std::make_pair(L"xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"));
m_table.insert(std::make_pair(L"xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
m_table.insert(std::make_pair(L"ppt", "application/vnd.ms-powerpoint"));
m_table.insert(std::make_pair(L"pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"));
m_table.insert(std::make_pair(L"pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"));
m_table.insert(std::make_pair(L"sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"));
m_table.insert(std::make_pair(L"sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"));
m_table.insert(std::make_pair(L"doc", "application/msword"));
m_table.insert(std::make_pair(L"docm", "aapplication/vnd.ms-word.document.macroEnabled.12"));
m_table.insert(std::make_pair(L"docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"));
m_table.insert(std::make_pair(L"vml", "application/vnd.openxmlformats-officedocument.vmlDrawing"));
}
const std::string& ExtensionTable::operator[] (const std::wstring& extension) const
{
std::map<std::wstring, std::string>::const_iterator iter = m_table.find(ToLower(extension));
if (iter == m_table.end())
throw log_range_error(L"not found " + extension + L" in extension table");
return iter->second;
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,26 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_EXTENSION_TABLE_INCLUDE_H_
#define OOX_CONTENT_TYPES_EXTENSION_TABLE_INCLUDE_H_
#include <boost/utility.hpp>
#include <string>
#include <map>
namespace OOX
{
namespace ContentTypes
{
class ExtensionTable : private boost::noncopyable
{
public:
ExtensionTable();
const std::string& operator[] (const std::wstring& extention) const;
private:
std::map<std::wstring, std::string> m_table;
};
} // namespace ContentTypes
} // namespace OOX
#endif // OOX_CONTENT_TYPES_EXTENSION_TABLE_INCLUDE_H_

View File

@ -0,0 +1,63 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "File.h"
#include "./../FileTypes.h"
namespace OOX
{
namespace ContentTypes
{
static const boost::filesystem::wpath s_filename = L"[Content_Types].xml";
File::File()
{
}
File::File(const boost::filesystem::wpath& path)
{
read(path);
}
File::~File()
{
}
void File::read(const boost::filesystem::wpath& path)
{
const XML::XDocument document(path / s_filename);
Default = document.Root;
Override = document.Root;
}
void File::write(const boost::filesystem::wpath& path) const
{
XML::XElement("Types",
XML::XNamespace("xmlns", "http://schemas.openxmlformats.org/package/2006/content-types") +
XML::Write(Default) +
XML::Write(Override)
).Save(path / s_filename);
}
const bool File::isValid() const
{
return true;
}
void File::registration(const std::string& type, const boost::filesystem::wpath& directory, const boost::filesystem::wpath& filename)
{
Override->add(type, directory / filename.filename());
Default->add(directory / filename.filename());
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,38 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_FILE_INCLUDE_H_
#define OOX_CONTENT_TYPES_FILE_INCLUDE_H_
#include "property.h"
#include <vector>
#include "OverrideTable.h"
#include "DefaultTable.h"
#include "./../FileType.h"
namespace OOX
{
namespace ContentTypes
{
class File
{
public:
File();
File(const boost::filesystem::wpath& path);
virtual ~File();
public:
virtual void read(const boost::filesystem::wpath& path);
virtual void write(const boost::filesystem::wpath& path) const;
virtual const bool isValid() const;
public:
void registration(const std::string& type, const boost::filesystem::wpath& directory, const boost::filesystem::wpath& filename);
public:
property<OverrideTable> Override;
property<DefaultTable> Default;
};
} // namespace ContentTypes
} // namespace OOX
#endif // DOCX_CONTENT_TYPES_FILE_INCLUDE_H_

View File

@ -0,0 +1,69 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Override.h"
namespace OOX
{
namespace ContentTypes
{
Override::Override(const std::string& type, const boost::filesystem::wpath& path)
: m_part(path),
m_type(type)
{
}
Override::~Override()
{
}
Override::Override(const XML::XNode& node)
{
fromXML(node);
}
const Override& Override::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void Override::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
m_part = element.attribute("PartName").value();
m_type = element.attribute("ContentType").value();
}
const XML::XNode Override::toXML() const
{
return
XML::XElement("Override",
XML::XAttribute("PartName", L"/" + m_part.string()) +
XML::XAttribute("ContentType", m_type)
);
}
const std::string Override::type() const
{
return m_type;
}
const boost::filesystem::wpath Override::filename() const
{
return m_part;
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,38 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_OVERRIDE_INCLUDE_H_
#define OOX_CONTENT_TYPES_OVERRIDE_INCLUDE_H_
#include "./../WritingElement.h"
#include "property.h"
#include <string>
#include <boost/filesystem.hpp>
namespace OOX
{
namespace ContentTypes
{
class Override : public WritingElement
{
public:
Override(const std::string& type, const boost::filesystem::wpath& path);
virtual ~Override();
explicit Override(const XML::XNode& node);
const Override& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
const std::string type() const;
const boost::filesystem::wpath filename() const;
private:
std::string m_type;
boost::filesystem::wpath m_part;
};
} // namespace ContentTypes
} // namespace OOX
#endif // OOX_CONTENT_TYPES_OVERRIDE_INCLUDE_H_

View File

@ -0,0 +1,50 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "OverrideTable.h"
namespace OOX
{
namespace ContentTypes
{
OverrideTable::OverrideTable()
{
}
OverrideTable::~OverrideTable()
{
}
OverrideTable::OverrideTable(const XML::XNode& node)
{
fromXML(node);
}
const OverrideTable& OverrideTable::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void OverrideTable::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
XML::Fill(m_items, element, "Override");
}
void OverrideTable::add(const std::string& type, const boost::filesystem::wpath& path)
{
m_items.push_back(Override(type, path));
}
} // namespace ContentTypes
} // namespace OOX

View File

@ -0,0 +1,31 @@
#pragma once
#ifndef OOX_CONTENT_TYPES_OVERRIDE_TABLE_INCLUDE_H_
#define OOX_CONTENT_TYPES_OVERRIDE_TABLE_INCLUDE_H_
#include "./../WritingVector.h"
#include "Override.h"
#include <boost/filesystem.hpp>
namespace OOX
{
namespace ContentTypes
{
class OverrideTable : public WritingVector<Override>
{
public:
OverrideTable();
virtual ~OverrideTable();
explicit OverrideTable(const XML::XNode& node);
const OverrideTable& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
public:
void add(const std::string& type, const boost::filesystem::wpath& path);
};
} // namespace ContentTypes
} // namespace OOX
#endif // OOX_CONTENT_TYPES_OVERRIDE_TABLE_INCLUDE_H_

View File

@ -0,0 +1,86 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Core.h"
#include "FileTypes.h"
namespace OOX
{
Core::Core()
{
}
Core::Core(const boost::filesystem::wpath& filename)
{
read(filename);
}
Core::~Core()
{
}
void Core::read(const boost::filesystem::wpath& filename)
{
const XML::XDocument document(filename);
m_title = document.Root.element("title").text();
m_subject = document.Root.element("subject").text();
m_creator = document.Root.element("creator").text();
m_keywords = document.Root.element("keywords").text();
m_description = document.Root.element("description").text();
m_lastModifiedBy = document.Root.element("lastModifiedBy").text();
m_revision = 1;
}
void Core::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.cp + "coreProperties",
XML::XElement(ns.dc + "title", XML::XText(m_title)) +
XML::XElement(ns.dc + "subject", XML::XText(m_subject)) +
XML::XElement(ns.dc + "creator", XML::XText(m_creator)) +
XML::XElement(ns.cp + "keywords", XML::XText(m_keywords)) +
XML::XElement(ns.dc + "description", XML::XText(m_description)) +
XML::XElement(ns.cp + "lastModifiedBy", XML::XText(m_lastModifiedBy)) +
XML::XElement(ns.cp + "revision", XML::XText(m_revision)) +
XML::WriteIf(XML::XElement(ns.dcterms + "created",
XML::XAttribute(ns.xsi + "type", "dcterms:W3CDTF") +
XML::XText(m_created)),
m_created.is_init()
) +
XML::WriteIf(XML::XElement(ns.dcterms + "modified",
XML::XAttribute(ns.xsi + "type", "dcterms:W3CDTF") +
XML::XText(m_modified)),
m_modified.is_init()
)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
}
const FileType Core::type() const
{
return FileTypes::Core;
}
const boost::filesystem::wpath Core::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath Core::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,42 @@
#pragma once
#ifndef OOX_CORE_INCLUDE_H_
#define OOX_CORE_INCLUDE_H_
#include "File.h"
#include "DateTime.h"
#include "nullable.h"
#include "property.h"
namespace OOX
{
class Core : public OOX::File
{
public:
Core();
Core(const boost::filesystem::wpath& filename);
virtual ~Core();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
private:
nullable<std::string> m_title;
nullable<std::string> m_subject;
nullable<std::string> m_creator;
nullable<std::string> m_keywords;
nullable<std::string> m_description;
nullable<std::string> m_lastModifiedBy;
nullable<int> m_revision;
nullable<OOX::DateTime> m_created;
nullable<OOX::DateTime> m_modified;
};
} // namespace OOX
#endif // OOX_CORE_INCLUDE_H_

View File

@ -0,0 +1,54 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "DateTime.h"
namespace OOX
{
const std::string DateTime::s_pattern("%YYYY-%MM-%DDT%hh:%mm:%ssZ");
DateTime::DateTime()
{
}
DateTime::DateTime(const std::string& value)
: m_datetime(value, s_pattern)
{
}
DateTime::DateTime(const ::DateTime& dt)
: m_datetime(dt)
{
}
const std::string DateTime::ToString() const
{
return m_datetime.ToString(s_pattern);
}
const DateTime DateTime::Parse(const std::string& value)
{
return DateTime(value);
}
::DateTime& DateTime::datetime()
{
return m_datetime;
}
const ::DateTime& DateTime::datetime() const
{
return m_datetime;
}
} // namespace OOX

View File

@ -0,0 +1,32 @@
#pragma once
#ifndef OOX_DATE_TIME_INCLUDE_H_
#define OOX_DATE_TIME_INCLUDE_H_
#include <string>
#include "Utility.h"
namespace OOX
{
class DateTime
{
public:
DateTime();
explicit DateTime(const std::string& value);
explicit DateTime(const ::DateTime& dt);
public:
const std::string ToString() const;
static const DateTime Parse(const std::string& value);
public:
::DateTime& datetime();
const ::DateTime& datetime() const;
private:
static const std::string s_pattern;
::DateTime m_datetime;
};
} // namespace OOX
#endif // OOX_DATE_TIME_INCLUDE_H_

View File

@ -0,0 +1,321 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Document.h"
#include "FileTypes.h"
#include "Media/Image.h"
#include "Logic/Paragraph.h"
#include "Encoding.h"
#include "External/HyperLink.h"
namespace OOX
{
Document::Document()
{
}
Document::Document(const boost::filesystem::wpath& filename)
{
read(filename);
}
Document::~Document()
{
}
void Document::read(const boost::filesystem::wpath& filename)
{
IFileContainer::read(filename);
const XML::XDocument document(filename);
const XML::XElement element = document.Root.element("body");
SectorProperty = element.element("sectPr");
Background = document.Root.element("background");
std::map<int, int> ListsAndCounts;
ListsAndCounts.clear();
for (XML::const_element_iterator i = element.Elements.begin(); i != element.Elements.end(); ++i)
{
const XML::XElement element(*i);
if (element.XName == "p" || element.XName == "tbl" || element.XName == "sdt" || element.XName == "bookmarkStart" || element.XName == "bookmarkEnd")
{
Logic::TextItem text(*i);
if((text.is<OOX::Logic::Paragraph>()) && (text.as<OOX::Logic::Paragraph>().isInList()))
{
int listnum = text.as<OOX::Logic::Paragraph>().GetListNum();
if(ListsAndCounts.find(listnum) == ListsAndCounts.end())
{
ListsAndCounts.insert(std::make_pair(listnum, 1));
text.as<OOX::Logic::Paragraph>().CountInList = 1;
}
else
{
ListsAndCounts[listnum]++;
text.as<OOX::Logic::Paragraph>().CountInList = ListsAndCounts[listnum];
}
}
else if(text.is<OOX::Logic::Paragraph>())
{
text.as<OOX::Logic::Paragraph>().CountInList = 0;
}
Items->push_back(text);
}
}
}
void Document::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "document",
XML::Write(Background) +
XML::XElement(ns.w + "body",
XML::Write(Items) +
XML::Write(SectorProperty)
)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
IFileContainer::write(filename, directory, content);
}
const FileType Document::type() const
{
return FileTypes::Document;
}
const boost::filesystem::wpath Document::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath Document::DefaultFileName() const
{
return type().DefaultFileName();
}
void Document::addImage(const boost::filesystem::wpath& imagePath, const long width, const long height)
{
Image* image = new Image(imagePath);
const RId rId = add(boost::shared_ptr<OOX::File>(image));
Logic::Paragraph paragraph(rId, imagePath, width, height);
Items->push_back(paragraph);
}
void Document::addImage(const boost::filesystem::wpath& imagePath, const long xEmu, const std::string& hRelativeFrom, const long yEmu , const std::string& vRelativeFrom, const long widthEmu, const long heightEmu)
{
Image* image = new Image(imagePath);
const RId rId = add(boost::shared_ptr<OOX::File>(image));
Logic::Paragraph paragraph(rId, imagePath, xEmu, hRelativeFrom, yEmu, vRelativeFrom, widthEmu, heightEmu);
Items->push_back(paragraph);
}
void Document::addImageInBegin(const boost::filesystem::wpath& imagePath, const long width, const long height)
{
Items->clear();
Image* image = new Image(imagePath);
const RId rId = add(boost::shared_ptr<OOX::File>(image));
Logic::Paragraph paragraph(rId, imagePath, width, height);
Items->push_back(paragraph);
}
void Document::addSpaceToLast(const int count)
{
if (!Items->empty() && Items->back().is<Logic::Paragraph>())
{
Items->back().as<Logic::Paragraph>().AddSpace(count);
}
}
void Document::addPageBreak()
{
Logic::Paragraph paragraph;
paragraph.AddBreak("page");
Items->push_back(paragraph);
}
void Document::addText(const std::wstring& text)
{
Logic::Paragraph paragraph;
paragraph.AddText(Encoding::unicode2utf8(text));
Items->push_back(paragraph);
}
void Document::addText(const std::string& text)
{
Logic::Paragraph paragraph;
paragraph.AddText(text);
Items->push_back(paragraph);
}
void Document::addTextToLast(const std::wstring& text)
{
if (!Items->empty() && Items->back().is<Logic::Paragraph>())
{
Items->back().as<Logic::Paragraph>().AddText(Encoding::unicode2utf8(text));
}
}
void Document::addTextToLast(const std::string& text)
{
if (!Items->empty() && Items->back().is<Logic::Paragraph>())
{
Items->back().as<Logic::Paragraph>().AddText(text);
}
}
void Document::addHyperlink(const std::wstring& nameHref, const std::wstring& text)
{
Logic::Paragraph paragraph;
boost::shared_ptr<OOX::File> hyperlink = boost::shared_ptr<OOX::File>(new OOX::HyperLink(nameHref));
const OOX::RId rId = add(hyperlink);
paragraph.AddHyperlink(rId, Encoding::unicode2utf8(text));
Items->push_back(paragraph);
}
void Document::addHyperlink(const std::string& nameHref, const std::string& text)
{
Logic::Paragraph paragraph;
boost::shared_ptr<OOX::File> hyperlink = boost::shared_ptr<OOX::File>(new OOX::HyperLink(Encoding::utf82unicode(nameHref)));
const OOX::RId rId = add(hyperlink);
paragraph.AddHyperlink(rId, text);
Items->push_back(paragraph);
}
void Document::addHyperlinkToLast(const std::wstring& nameHref, const std::wstring& text)
{
if (!Items->empty() && Items->back().is<Logic::Paragraph>())
{
boost::shared_ptr<OOX::File> hyperlink = boost::shared_ptr<OOX::File>(new OOX::HyperLink(nameHref));
const OOX::RId rId = add(hyperlink);
Items->back().as<Logic::Paragraph>().AddHyperlink(rId, Encoding::unicode2utf8(text));
}
}
void Document::addHyperlinkToLast(const std::string& nameHref, const std::string& text)
{
if (!Items->empty() && Items->back().is<Logic::Paragraph>())
{
boost::shared_ptr<OOX::File> hyperlink = boost::shared_ptr<OOX::File>(new OOX::HyperLink(Encoding::utf82unicode(nameHref)));
const OOX::RId rId = add(hyperlink);
Items->back().as<Logic::Paragraph>().AddHyperlink(rId, text);
}
}
void Document::Commit(const boost::filesystem::wpath& path)
{
std::string xmlString;
if ( !boost::filesystem::exists(path) )
{
XML::Private::XDeclaration xDeclaration;
Namespaces namespaces;
xmlString = xDeclaration.ToString();
xmlString += "<w:document ";
xmlString += ( namespaces.w->ToString() + " " );
xmlString += ( namespaces.wp->ToString() + " " );
xmlString += ( namespaces.a->ToString() + " " );
xmlString += ( namespaces.pic->ToString() + " " );
xmlString += ( namespaces.r->ToString() + " " );
xmlString += ( namespaces.v->ToString() + " " );
xmlString += namespaces.w10->ToString();
xmlString += ">";
if ( Background.is_init() )
{
xmlString += XML::Write(Background).ToString();
}
xmlString += "<w:body>";
}
xmlString += XML::Write(Items).ToString();
std::ofstream file(path.string().c_str(), std::ios_base::app);
if (!file.bad())
{
file <<xmlString;
file.close();
Items->clear();
}
}
void Document::Finalize(const boost::filesystem::wpath& path, const boost::filesystem::wpath& directory, ContentTypes::File& content)
{
std::string xmlString;
if ( !boost::filesystem::exists(path) )
{
XML::Private::XDeclaration xDeclaration;
Namespaces namespaces;
xmlString = xDeclaration.ToString();
xmlString += "<w:document ";
xmlString += ( namespaces.w->ToString() + " " );
xmlString += ( namespaces.wp->ToString() + " " );
xmlString += ( namespaces.a->ToString() + " " );
xmlString += ( namespaces.pic->ToString() + " " );
xmlString += ( namespaces.r->ToString() + " " );
xmlString += ( namespaces.v->ToString() + " " );
xmlString += namespaces.w10->ToString();
xmlString += ">";
if ( Background.is_init() )
{
xmlString += XML::Write(Background).ToString();
}
xmlString += "<w:body>";
}
xmlString += XML::Write(Items).ToString();
xmlString += XML::Write(SectorProperty).ToString();
xmlString += ( "</w:body>" );
xmlString += ( "</w:document>" );
std::ofstream file(path.string().c_str(), std::ios_base::app);
if (!file.bad())
{
file <<xmlString;
file.close();
Items->clear();
}
content.registration(type().OverrideType(), directory, path);
IFileContainer::Finalize(path, directory, content);
}
} // namespace OOX

View File

@ -0,0 +1,60 @@
#pragma once
#ifndef OOX_DOCUMENT_FILE_INCLUDE_H_
#define OOX_DOCUMENT_FILE_INCLUDE_H_
#include "File.h"
#include "IFileContainer.h"
#include "property.h"
#include "Logic/TextItem.h"
#include "Logic/SectorProperty.h"
#include "Logic/Background.h"
#include "IFileBuilder.h"
namespace OOX
{
class Document : public OOX::File, public IFileContainer, public IFileBuilder
{
public:
Document();
Document(const boost::filesystem::wpath& filename);
virtual ~Document();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
virtual void Commit(const boost::filesystem::wpath& path);
virtual void Finalize(const boost::filesystem::wpath& path, const boost::filesystem::wpath& directory, ContentTypes::File& content);
public:
void addImage(const boost::filesystem::wpath& imagePath, const long width, const long height);
void addImage(const boost::filesystem::wpath& imagePath, const long xEmu, const std::string& hRelativeFrom, const long yEmu , const std::string& vRelativeFrom, const long widthEmu, const long heightEmu);
void addImageInBegin(const boost::filesystem::wpath& imagePath, const long width, const long height);
void addSpaceToLast(const int count);
void addPageBreak();
void addText(const std::wstring& text);
void addText(const std::string& text);
void addTextToLast(const std::wstring& text);
void addTextToLast(const std::string& text);
void addHyperlink(const std::wstring& nameHref, const std::wstring& text);
void addHyperlink(const std::string& nameHref, const std::string& text);
void addHyperlinkToLast(const std::wstring& nameHref, const std::wstring& text);
void addHyperlinkToLast(const std::string& nameHref, const std::string& text);
public:
property<Logic::SectorProperty> SectorProperty;
property<std::vector<Logic::TextItem> > Items;
nullable_property<Logic::Background> Background;
//private:
// std::map<int, int> ListsAndCounts;
};
} // namespace OOX
#endif // OOX_DOCUMENT_FILE_INCLUDE_H_

View File

@ -0,0 +1,49 @@
#pragma once
#ifndef OOX_INCLUDE_H_
#define OOX_INCLUDE_H_
#include "Folder.h"
#include "Logic\Table.h"
#include "Logic\Sdt.h"
#include "Logic\BookmarkStart.h"
#include "Logic\BookmarkEnd.h"
#include "Logic\List.h"
#include "Logic\Text.h"
#include "Logic\Symbol.h"
#include "Logic\Tab.h"
#include "Logic\Break.h"
#include "Logic\Pict.h"
#include "Logic\Drawing.h"
#include "Logic\Inline.h"
#include "Logic\FootnoteReference.h"
#include "Logic\EndnoteReference.h"
#include "Logic\FootnoteRef.h"
#include "Logic\EndnoteRef.h"
#include "Logic\Separator.h"
#include "Logic\ContinuationSeparator.h"
#include "Logic\FldChar.h"
#include "Logic\InstrText.h"
#include "Logic\DelText.h"
#include "Logic\NullRun.h"
#include "Logic\ColorsTable.h"
#include "FileTypes.h"
#include "App.h"
#include "Core.h"
#include "Document.h"
#include "FontTable.h"
#include "Numbering.h"
#include "Styles.h"
#include "Settings/File.h"
#include "FootNote.h"
#include "EndNote.h"
#include "WebSettings.h"
#include "External\HyperLink.h"
#include "Media\Image.h"
#include "Media\OleObject.h"
#include "Header.h"
#include "Footer.h"
#include "Theme/File.h"
#endif // OOX_INCLUDE_H_

View File

@ -0,0 +1,98 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "EndNote.h"
#include "Log.h"
#include <algorithm>
#include <boost/bind.hpp>
#include "Exception/log_range_error.h"
#include "FileTypes.h"
namespace OOX
{
EndNote::EndNote()
{
}
EndNote::EndNote(const boost::filesystem::wpath& filename)
{
read(filename);
}
EndNote::~EndNote()
{
}
void EndNote::read(const boost::filesystem::wpath& filename)
{
IFileContainer::read(filename);
const XML::XDocument document(filename);
XML::Fill(Notes, document.Root, "endnote");
}
void EndNote::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "endnotes",
XML::Write(Notes)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
IFileContainer::write(filename, directory, content);
}
const FileType EndNote::type() const
{
return FileTypes::EndNote;
}
const boost::filesystem::wpath EndNote::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath EndNote::DefaultFileName() const
{
return type().DefaultFileName();
}
const EndNote::Note EndNote::find(const Logic::EndnoteReference& reference) const
{
std::vector<EndNote::Note>::const_iterator it = std::find_if(Notes->begin(), Notes->end(),
boost::bind(&Note::Id, _1) == *reference.Id);
if (it == Notes->end())
throw log_range_error("endnote");
return *it;
}
void EndNote::add(const EndNote::Note& endnote)
{
push_back(endnote);
}
void EndNote::push_back(const EndNote::Note& endnote)
{
Notes->push_back(endnote);
}
const size_t EndNote::size() const
{
return Notes->size();
}
} // namespace OOX

View File

@ -0,0 +1,67 @@
#pragma once
#ifndef OOX_ENDNOTE_INCLUDE_H_
#define OOX_ENDNOTE_INCLUDE_H_
#include "File.h"
#include "IFileContainer.h"
#include <vector>
#include "property.h"
#include "nullable_property.h"
#include "Logic/EndnoteReference.h"
#include "WritingElement.h"
#include "Logic/TextItem.h"
#include "Limit/SeparatorType.h"
namespace OOX
{
class EndNote : public OOX::File, public IFileContainer
{
public:
class Note : public WritingElement
{
public:
Note();
virtual ~Note();
explicit Note(const XML::XNode& node);
const Note& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
void push_back(const OOX::Logic::Paragraph& paragraph);
public:
nullable_property<std::string, Limit::SeparatorType> Type;
property<size_t> Id;
property<std::vector<Logic::TextItem> > Items;
};
public:
EndNote();
EndNote(const boost::filesystem::wpath& filename);
virtual ~EndNote();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
const EndNote::Note find(const Logic::EndnoteReference& reference) const;
void add(const EndNote::Note& endnote);
void push_back(const EndNote::Note& endnote);
const size_t size() const;
public:
property<std::vector<Note> > Notes;
};
} // namespace OOX
#endif // OOX_ENDNOTE_INCLUDE_H_

View File

@ -0,0 +1,60 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../EndNote.h"
namespace OOX
{
EndNote::Note::Note()
{
}
EndNote::Note::~Note()
{
}
EndNote::Note::Note(const XML::XNode& node)
{
fromXML(node);
}
const EndNote::Note& EndNote::Note::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void EndNote::Note::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
Type = element.attribute("type").value();
Id = element.attribute("id").value();
XML::Fill(Items, element , "p", "tbl");
}
const XML::XNode EndNote::Note::toXML() const
{
return
XML::XElement(ns.w + "endnote",
XML::XAttribute(ns.w + "type", Type) +
XML::XAttribute(ns.w + "id", Id) +
XML::Write(Items)
);
}
void EndNote::Note::push_back(const OOX::Logic::Paragraph& paragraph)
{
Items->push_back(paragraph);
}
} // namespace OOX

View File

@ -0,0 +1,45 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "External.h"
#include "../FileTypes.h"
namespace OOX
{
External::External()
{
}
External::External(const boost::filesystem::wpath& uri)
{
read(uri);
}
External::~External()
{
}
void External::read(const boost::filesystem::wpath& uri)
{
m_uri = uri;
}
void External::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
}
const boost::filesystem::wpath External::Uri() const
{
return m_uri;
}
} // namespace OOX

View File

@ -0,0 +1,29 @@
#pragma once
#ifndef OOX_EXTERNAL_INCLUDE_H_
#define OOX_EXTERNAL_INCLUDE_H_
#include "..\File.h"
namespace OOX
{
class External : public File
{
public:
External();
External(const boost::filesystem::wpath& uri);
~External();
public:
virtual void read(const boost::filesystem::wpath& uri);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
const boost::filesystem::wpath Uri() const;
protected:
boost::filesystem::wpath m_uri;
};
} // namespace OOX
#endif // OOX_EXTERNAL_INCLUDE_H_

View File

@ -0,0 +1,46 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "ExternalAudio.h"
#include "..\FileTypes.h"
namespace OOX
{
ExternalAudio::ExternalAudio()
{
}
ExternalAudio::ExternalAudio(const boost::filesystem::wpath& uri)
{
read(uri);
}
ExternalAudio::~ExternalAudio()
{
}
const FileType ExternalAudio::type() const
{
return FileTypes::ExternalAudio;
}
const boost::filesystem::wpath ExternalAudio::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath ExternalAudio::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,24 @@
#pragma once
#ifndef OOX_EXTERNALAUDIO_INCLUDE_H_
#define OOX_EXTERNALAUDIO_INCLUDE_H_
#include "External.h"
namespace OOX
{
class ExternalAudio : public External
{
public:
ExternalAudio();
ExternalAudio(const boost::filesystem::wpath& uri);
~ExternalAudio();
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
};
} // namespace OOX
#endif // OOX_EXTERNALAUDIO_INCLUDE_H_

View File

@ -0,0 +1,46 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "ExternalImage.h"
#include "..\FileTypes.h"
namespace OOX
{
ExternalImage::ExternalImage()
{
}
ExternalImage::ExternalImage(const boost::filesystem::wpath& uri)
{
read(uri);
}
ExternalImage::~ExternalImage()
{
}
const FileType ExternalImage::type() const
{
return FileTypes::ExternalImage;
}
const boost::filesystem::wpath ExternalImage::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath ExternalImage::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,24 @@
#pragma once
#ifndef OOX_EXTERNALIMAGE_INCLUDE_H_
#define OOX_EXTERNALIMAGE_INCLUDE_H_
#include "External.h"
namespace OOX
{
class ExternalImage : public External
{
public:
ExternalImage();
ExternalImage(const boost::filesystem::wpath& uri);
~ExternalImage();
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
};
} // namespace OOX
#endif // OOX_EXTERNALIMAGE_INCLUDE_H_

View File

@ -0,0 +1,46 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "ExternalVideo.h"
#include "..\FileTypes.h"
namespace OOX
{
ExternalVideo::ExternalVideo()
{
}
ExternalVideo::ExternalVideo(const boost::filesystem::wpath& uri)
{
read(uri);
}
ExternalVideo::~ExternalVideo()
{
}
const FileType ExternalVideo::type() const
{
return FileTypes::ExternalVideo;
}
const boost::filesystem::wpath ExternalVideo::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath ExternalVideo::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,24 @@
#pragma once
#ifndef OOX_EXTERNALVIDEO_INCLUDE_H_
#define OOX_EXTERNALVIDEO_INCLUDE_H_
#include "External.h"
namespace OOX
{
class ExternalVideo : public External
{
public:
ExternalVideo();
ExternalVideo(const boost::filesystem::wpath& uri);
~ExternalVideo();
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
};
} // namespace OOX
#endif // OOX_EXTERNALVIDEO_INCLUDE_H_

View File

@ -0,0 +1,46 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "HyperLink.h"
#include "..\FileTypes.h"
namespace OOX
{
HyperLink::HyperLink()
{
}
HyperLink::HyperLink(const boost::filesystem::wpath& uri)
{
read(uri);
}
HyperLink::~HyperLink()
{
}
const FileType HyperLink::type() const
{
return FileTypes::HyperLink;
}
const boost::filesystem::wpath HyperLink::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath HyperLink::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,24 @@
#pragma once
#ifndef OOX_HYPERLINK_INCLUDE_H_
#define OOX_HYPERLINK_INCLUDE_H_
#include "External.h"
namespace OOX
{
class HyperLink : public External
{
public:
HyperLink();
HyperLink(const boost::filesystem::wpath& uri);
~HyperLink();
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
};
} // namespace OOX
#endif // OOX_HYPERLINK_INCLUDE_H_

View File

@ -0,0 +1,21 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "File.h"
namespace OOX
{
File::File()
{
}
File::~File()
{
}
} // namespace OOX

View File

@ -0,0 +1,31 @@
#pragma once
#ifndef OOX_FILE_INCLUDE_H_
#define OOX_FILE_INCLUDE_H_
#include "NamespaceOwn.h"
#include <string>
#include <boost/filesystem.hpp>
#include "ContentTypes/File.h"
#include "FileType.h"
namespace OOX
{
class File : public NamespaceOwn
{
public:
File();
virtual ~File();
public:
virtual void read(const boost::filesystem::wpath& filename) = 0;
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const = 0;
public:
virtual const OOX::FileType type() const = 0;
virtual const boost::filesystem::wpath DefaultDirectory() const = 0;
virtual const boost::filesystem::wpath DefaultFileName() const = 0;
};
} // namespace OOX
#endif // OOX_FILE_INCLUDE_H_

View File

@ -0,0 +1,90 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "FileFactory.h"
#include "File.h"
#include "FileTypes.h"
#include "Rels/RelationShip.h"
#include "App.h"
#include "Core.h"
#include "Document.h"
#include "Theme/File.h"
#include "Settings/File.h"
#include "FontTable.h"
#include "Styles.h"
#include "Item.h"
#include "FootNote.h"
#include "EndNote.h"
#include "WebSettings.h"
#include "Media\Image.h"
#include "Media\OleObject.h"
#include "Media\Audio.h"
#include "Media\Video.h"
#include "External\HyperLink.h"
#include "External\ExternalVideo.h"
#include "External\ExternalAudio.h"
#include "External\ExternalImage.h"
#include "Header.h"
#include "Footer.h"
#include "Numbering.h"
#include "UnknowTypeFile.h"
namespace OOX
{
const boost::shared_ptr<File> CreateFile(const boost::filesystem::wpath& path, const Rels::RelationShip& relation)
{
boost::filesystem::wpath filename = path / relation.filename();
if (relation.type() == FileTypes::App)
return boost::shared_ptr<File>(new App(filename));
else if (relation.type() == FileTypes::Core)
return boost::shared_ptr<File>(new Core(filename));
else if (relation.type() == FileTypes::Document)
return boost::shared_ptr<File>(new Document(filename));
else if (relation.type() == FileTypes::Theme)
return boost::shared_ptr<File>(new Theme::File(filename));
else if (relation.type() == FileTypes::Setting)
return boost::shared_ptr<File>(new Settings::File(filename));
else if (relation.type() == FileTypes::FontTable)
return boost::shared_ptr<File>(new FontTable(filename));
else if (relation.type() == FileTypes::Style)
return boost::shared_ptr<File>(new Styles(filename));
//else if (relation.type() == FileTypes::Item) // TODO : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// return boost::shared_ptr<File>(new Item(filename));
else if (relation.type() == FileTypes::FootNote)
return boost::shared_ptr<File>(new FootNote(filename));
else if (relation.type() == FileTypes::EndNote)
return boost::shared_ptr<File>(new EndNote(filename));
else if (relation.type() == FileTypes::WebSetting)
return boost::shared_ptr<File>(new WebSettings(filename));
else if (relation.type() == FileTypes::HyperLink)
return boost::shared_ptr<File>(new HyperLink(relation.target()));
else if ((relation.type() == FileTypes::ExternalVideo) && (relation.isExternal()))
return boost::shared_ptr<File>(new ExternalVideo(relation.target()));
else if ((relation.type() == FileTypes::ExternalAudio) && (relation.isExternal()))
return boost::shared_ptr<File>(new ExternalAudio(relation.target()));
else if ((relation.type() == FileTypes::ExternalImage) && (relation.isExternal()))
return boost::shared_ptr<File>(new ExternalImage(relation.target()));
else if (relation.type() == FileTypes::Image)
return boost::shared_ptr<File>(new Image(filename));
else if (relation.type() == FileTypes::OleObject)
return boost::shared_ptr<File>(new OleObject(filename));
else if (relation.type() == FileTypes::Audio)
return boost::shared_ptr<File>(new Audio(filename));
else if (relation.type() == FileTypes::Video)
return boost::shared_ptr<File>(new Video(filename));
else if (relation.type() == FileTypes::Numbering)
return boost::shared_ptr<File>(new Numbering(filename));
else if (relation.type() == FileTypes::Header)
return boost::shared_ptr<File>(new Header(filename));
else if (relation.type() == FileTypes::Footer)
return boost::shared_ptr<File>(new Footer(filename));
return boost::shared_ptr<File>(new UnknowTypeFile());
}
} // namespace OOX

View File

@ -0,0 +1,17 @@
#pragma once
#ifndef OOX_FILE_FACTORY_INCLUDE_H_
#define OOX_FILE_FACTORY_INCLUDE_H_
#include <boost/filesystem.hpp>
#include <boost/shared_ptr.hpp>
namespace OOX
{
class File;
namespace Rels {class RelationShip;}
const boost::shared_ptr<File> CreateFile(const boost::filesystem::wpath& path, const Rels::RelationShip& relation);
} // namespace OOX
#endif // OOX_FILE_FACTORY_INCLUDE_H_

View File

@ -0,0 +1,71 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "FileType.h"
namespace OOX
{
FileType::FileType( const boost::filesystem::wpath& defaultDirectory,
const boost::filesystem::wpath& defaultFileName,
const std::string& overrideType,
const std::string& relationType)
: m_defaultDirectory(defaultDirectory),
m_defaultFileName(defaultFileName),
m_overrideType(overrideType),
m_relationType(relationType)
{
}
FileType::~FileType()
{
}
const bool FileType::operator ==(const FileType& rhs) const
{
return m_relationType == rhs.m_relationType;
}
const std::string FileType::OverrideType() const
{
return m_overrideType;
}
const std::string FileType::RelationType() const
{
return m_relationType;
}
const boost::filesystem::wpath FileType::DefaultDirectory() const
{
return m_defaultDirectory;
}
const boost::filesystem::wpath FileType::DefaultFileName() const
{
return m_defaultFileName;
}
const bool operator ==(const std::string& type, const FileType& file)
{
return type == file.RelationType();
}
const bool operator ==(const FileType& file, const std::string& type)
{
return file.RelationType() == type;
}
} // namespace OOX

View File

@ -0,0 +1,40 @@
#pragma once
#ifndef OOX_FILE_TYPE_INCLUDE_H_
#define OOX_FILE_TYPE_INCLUDE_H_
#include <string>
#include <boost/filesystem.hpp>
namespace OOX
{
class FileType
{
public:
FileType( const boost::filesystem::wpath& defaultDirectory,
const boost::filesystem::wpath& defaultFileName,
const std::string& overrideType,
const std::string& relationType);
~FileType();
public:
const bool operator ==(const FileType& rhs) const;
public:
const std::string OverrideType() const;
const std::string RelationType() const;
const boost::filesystem::wpath DefaultDirectory() const;
const boost::filesystem::wpath DefaultFileName() const;
private:
std::string m_overrideType;
std::string m_relationType;
boost::filesystem::wpath m_defaultDirectory;
boost::filesystem::wpath m_defaultFileName;
};
const bool operator ==(const std::string& type, const FileType& file);
const bool operator ==(const FileType& file, const std::string& type);
} // namespace OOX
#endif // OOX_FILE_TYPE_INCLUDE_H_

View File

@ -0,0 +1,238 @@
#pragma once
#ifndef OOX_FILE_TYPES_INCLUDE_H_
#define OOX_FILE_TYPES_INCLUDE_H_
#include "FileType.h"
namespace OOX
{
namespace FileTypes
{
const FileType App(L"docProps", L"app.xml",
"application/vnd.openxmlformats-officedocument.extended-properties+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties");
const FileType Core(L"docProps", L"core.xml",
"application/vnd.openxmlformats-package.core-properties+xml",
"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties");
const FileType Document(L"word", L"document.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument");
const FileType Theme(L"theme", L"theme.xml",
"application/vnd.openxmlformats-officedocument.theme+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme");
const FileType Setting(L"", L"settings.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings");
const FileType FontTable(L"", L"fontTable.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable");
const FileType Style(L"", L"styles.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles");
const FileType Item(L"customXml", L"item.xml",
"WARNING not implement",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml");
const FileType FootNote(L"", L"footnotes.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes");
const FileType EndNote(L"", L"endnotes.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes");
const FileType WebSetting(L"", L"webSettings.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings");
const FileType Header(L"", L"header.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header");
const FileType Footer(L"", L"footer.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer");
const FileType Numbering(L"", L"numbering.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering");
const FileType ItemProp(L"customXml", L"itemProps.xml",
"application/vnd.openxmlformats-officedocument.customXmlProperties+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps");
const FileType HyperLink(L"", L"",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink");
const FileType ExternalImage(L"", L"",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image");
const FileType ExternalAudio(L"", L"",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio");
const FileType ExternalVideo(L"", L"",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video");
const FileType Image(L"media", L"image",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image");
const FileType Audio(L"media", L"audio",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio");
const FileType Video(L"media", L"video",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/video");
const FileType Data(L"diagrams", L"data.xml",
"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData");
const FileType Layout(L"diagrams", L"layout.xml",
"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout");
const FileType Colors(L"diagrams", L"colors.xml",
"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors");
const FileType QuickStyle(L"diagrams", L"quickStyle.xml",
"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle");
const FileType Chart(L"charts", L"chart.xml",
"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart");
const FileType MicrosoftOfficeExcelWorksheet(L"embeddings", L"Microsoft_Office_Excel_Worksheet.xlsx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficeExcel_97_2003_Worksheet(L"embeddings", L"Microsoft_Office_Excel_97-2003_Worksheet.xls",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject");
const FileType MicrosoftOfficeExcelBinaryWorksheet(L"embeddings", L"Microsoft_Office_Excel_Binary_Worksheet.xlsb",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficeExcelMacro_EnabledWorksheet(L"embeddings", L"Microsoft_Office_Excel_Macro-Enabled_Worksheet.xlsm",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficeExcelChart(L"embeddings", L"Microsoft_Office_Excel_Chart.xlsx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject");
const FileType MicrosoftOfficeWordDocument(L"embeddings", L"Microsoft_Office_Word_Document.docx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficeWord_97_2003_Document(L"embeddings", L"Microsoft_Office_Word_97_-_2003_Document.doc",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject");
const FileType MicrosoftOfficeWordMacro_EnabledDocument(L"embeddings", L"Microsoft_Office_Word_Macro-Enabled_Document.docm",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficePowerPointPresentation(L"embeddings", L"Microsoft_Office_PowerPoint_Presentation.pptx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficePowerPoint_97_2003_Presentation(L"embeddings", L"Microsoft_Office_PowerPoint_97-2003_Presentation.xlsx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject");
const FileType MicrosoftOfficePowerPointMacro_EnabledPresentation(L"embeddings", L"Microsoft_Office_PowerPoint_Macro-Enabled_Presentation.pptm",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficePowerPointSlide(L"embeddings", L"Microsoft_Office_PowerPoint_Slide.sldx",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType MicrosoftOfficePowerPointMacro_EnabledSlide(L"embeddings", L"Microsoft_Office_PowerPoint_Macro-Enabled_Slide.sldm",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
const FileType OleObject(L"embeddings", L"oleObject.bin",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject");
const FileType Glossary(L"glossary", L"document.xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument");
const FileType Slide(L"", L"slide.xml",
"application/vnd.openxmlformats-officedocument.presentationml.slide+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide");
const FileType SlideLayout(L"", L"slideLayout.xml",
"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout");
const FileType SlideMaster(L"", L"slideMaster.xml",
"application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster");
const FileType NotesSlide(L"", L"notesSlide.xml",
"application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide");
const FileType NotesMaster(L"", L"notesMaster.xml",
"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster");
const FileType HandoutMaster(L"", L"handoutMaster.xml",
"application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/handoutMaster");
const FileType Presentation(L"ppt", L"presentation.xml",
"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument");
const FileType PresProps(L"", L"presProps.xml",
"application/vnd.openxmlformats-officedocument.presentationml.presProps+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps");
const FileType TableStyles(L"", L"tableStyles.xml",
"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles");
const FileType ViewProps(L"", L"viewProps.xml",
"application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps");
const FileType ThemePPTX(L"", L"theme.xml",
"application/vnd.openxmlformats-officedocument.theme+xml",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme");
const FileType VmlDrawing(L"", L"vmlDrawing.vml",
"",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing");
const FileType Unknow(L"", L"", "", "");
} // namespace FileTypes
} // namespace OOX
#endif // OOX_FILE_TYPES_INCLUDE_H_

View File

@ -0,0 +1,214 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Folder.h"
#include "Rels/File.h"
#include "Document.h"
namespace Docx
{
Folder::Folder()
{
}
Folder::Folder(const boost::filesystem::wpath& path)
{
read(path);
}
void Folder::read(const boost::filesystem::wpath& path)
{
OOX::Rels::File rels(path / L"/");
IFileContainer::read(rels, path);
}
void Folder::write(const boost::filesystem::wpath& path) const
{
boost::filesystem::create_directories(path);
OOX::Rels::File rels;
OOX::ContentTypes::File content;
IFileContainer::write(rels, path, L"", content);
rels.write(path / L"/");
content.write(path);
}
void Folder::createFromTemplate(const boost::filesystem::wpath& path)
{
read(path);
}
void Folder::Commit(const boost::filesystem::wpath& path)
{
boost::filesystem::create_directories(path);
IFileContainer::Commit(path);
}
void Folder::Finalize(const boost::filesystem::wpath& path)
{
boost::filesystem::create_directories(path);
OOX::Rels::File rels;
OOX::ContentTypes::File content;
IFileContainer::Finalize(rels, path, L"", content);
rels.write(path / L"/");
content.write(path);
}
const bool Folder::isValid(const boost::filesystem::wpath& path) const
{
return true;
}
void Folder::extractPictures(const boost::filesystem::wpath& path)
{
boost::filesystem::create_directories(path);
OOX::IFileContainer::extractPictures(path);
}
void Folder::extractPictures(const boost::filesystem::wpath& source, const boost::filesystem::wpath& path)
{
read(source);
extractPictures(path);
}
void Folder::addImage(const boost::filesystem::wpath& imagePath, const long width, const long height)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addImage(imagePath, width, height);
}
}
void Folder::addImageInBegin(const boost::filesystem::wpath& imagePath, const long width, const long height)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addImageInBegin(imagePath, width, height);
}
}
void Folder::addSpaceToLast(const int count)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addSpaceToLast(count);
}
}
void Folder::addPageBreak()
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addPageBreak();
}
}
void Folder::addText(const std::wstring& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addText(text);
}
}
void Folder::addText(const std::string& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addText(text);
}
}
void Folder::addTextToLast(const std::wstring& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addTextToLast(text);
}
}
void Folder::addTextToLast(const std::string& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addTextToLast(text);
}
}
void Folder::addHyperlink(const std::wstring& nameHref, const std::wstring& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addHyperlink(nameHref, text);
}
}
void Folder::addHyperlink(const std::string& nameHref, const std::string& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addHyperlink(nameHref, text);
}
}
void Folder::addHyperlinkToLast(const std::wstring& nameHref, const std::wstring& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addHyperlinkToLast(nameHref, text);
}
}
void Folder::addHyperlinkToLast(const std::string& nameHref, const std::string& text)
{
if (exist<OOX::Document>())
{
OOX::Document& document = find<OOX::Document>();
document.addHyperlinkToLast(nameHref, text);
}
}
} // namespace Docx

View File

@ -0,0 +1,49 @@
#pragma once
#ifndef DOCX_FOLDER_INCLUDE_H_
#define DOCX_FOLDER_INCLUDE_H_
#include "IFileContainer.h"
#include "RId.h"
namespace Docx
{
class Folder : public OOX::IFileContainer
{
public:
Folder();
Folder(const boost::filesystem::wpath& path);
public:
void read(const boost::filesystem::wpath& path);
void write(const boost::filesystem::wpath& path) const;
void createFromTemplate(const boost::filesystem::wpath& path);
public:
void Commit(const boost::filesystem::wpath& path);
void Finalize(const boost::filesystem::wpath& path);
public:
const bool isValid(const boost::filesystem::wpath& path) const;
public:
void extractPictures(const boost::filesystem::wpath& path);
void extractPictures(const boost::filesystem::wpath& source, const boost::filesystem::wpath& path);
public:
void addImage(const boost::filesystem::wpath& imagePath, const long width, const long height);
void addImageInBegin(const boost::filesystem::wpath& imagePath, const long width, const long height);
void addSpaceToLast(const int count);
void addPageBreak();
void addText(const std::wstring& text);
void addText(const std::string& text);
void addTextToLast(const std::wstring& text);
void addTextToLast(const std::string& text);
void addHyperlink(const std::wstring& nameHref, const std::wstring& text);
void addHyperlink(const std::string& nameHref, const std::string& text);
void addHyperlinkToLast(const std::wstring& nameHref, const std::wstring& text);
void addHyperlinkToLast(const std::string& nameHref, const std::string& text);
};
} // namespace Docx
#endif //Docx_FOLDER_INCLUDE_H_

View File

@ -0,0 +1,53 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "FontTable.h"
#include "FileTypes.h"
namespace OOX
{
FontTable::FontTable()
{
}
FontTable::FontTable(const boost::filesystem::wpath& filename)
{
read(filename);
}
FontTable::~FontTable()
{
}
void FontTable::read(const boost::filesystem::wpath& filename)
{
const XML::XDocument document(filename);
XML::Fill(Fonts, document.Root);
}
void FontTable::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "fonts", XML::Write(Fonts)).Save(filename);
content.registration(type().OverrideType(), directory, filename);
}
const FileType FontTable::type() const
{
return FileTypes::FontTable;
}
const boost::filesystem::wpath FontTable::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath FontTable::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,65 @@
#pragma once
#ifndef OOX_FONTTABLE_INCLUDE_H_
#define OOX_FONTTABLE_INCLUDE_H_
#include "File.h"
#include <vector>
#include "property.h"
#include "nullable_property.h"
#include "Limit/FontName.h"
#include "Limit/FontFamily.h"
#include "Limit/FontCharset.h"
#include "Limit/FontPitch.h"
namespace OOX
{
class FontTable : public OOX::File
{
public:
class Font : public WritingElement
{
public:
Font();
virtual ~Font();
explicit Font(const XML::XNode& node);
const Font& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
property<std::string> Name;
property<std::string, Limit::FontFamily> Family;
nullable_property<std::string, Limit::FontCharset> Charset;
property<std::string, Limit::FontPitch> Pitch;
nullable_property<std::string> Panose1;
nullable_property<std::string> Usb0;
nullable_property<std::string> Usb1;
nullable_property<std::string> Usb2;
nullable_property<std::string> Usb3;
nullable_property<std::string> Csb0;
nullable_property<std::string> Csb1;
};
public:
FontTable();
FontTable(const boost::filesystem::wpath& filename);
virtual ~FontTable();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
property<std::vector<Font> > Fonts;
};
} // namespace OOX
#endif // OOX_FONTTABLE_INCLUDE_H_

View File

@ -0,0 +1,73 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../FontTable.h"
namespace OOX
{
FontTable::Font::Font()
{
}
FontTable::Font::~Font()
{
}
FontTable::Font::Font(const XML::XNode& node)
{
fromXML(node);
}
const FontTable::Font& FontTable::Font::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void FontTable::Font::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
Name = element.attribute("name").value();
Panose1 = element.element("panose1").attribute("val").value();
Charset = element.element("charset").attribute("val").value();
Family = element.element("family").attribute("val").value();
Pitch = element.element("pitch").attribute("val").value();
Usb0 = element.element("sig").attribute("usb0").value();
Usb1 = element.element("sig").attribute("usb1").value();
Usb2 = element.element("sig").attribute("usb2").value();
Usb3 = element.element("sig").attribute("usb3").value();
Csb0 = element.element("sig").attribute("csb0").value();
Csb1 = element.element("sig").attribute("csb1").value();
}
const XML::XNode FontTable::Font::toXML() const
{
return
XML::XElement(ns.w + "font",
XML::XAttribute(ns.w + "name", Name) +
XML::XElement(ns.w + "panose1", XML::XAttribute(ns.w + "val", Panose1)) +
XML::XElement(ns.w + "charset", XML::XAttribute(ns.w + "val", Charset)) +
XML::XElement(ns.w + "family", XML::XAttribute(ns.w + "val", Family)) +
XML::XElement(ns.w + "pitch", XML::XAttribute(ns.w + "val", Pitch)) +
WriteIf(XML::XElement(ns.w + "sig",
XML::XAttribute(ns.w + "usb0", Usb0)+
XML::XAttribute(ns.w + "usb1", Usb1) +
XML::XAttribute(ns.w + "usb2", Usb2) +
XML::XAttribute(ns.w + "usb3", Usb3) +
XML::XAttribute(ns.w + "csb0", Csb0) +
XML::XAttribute(ns.w + "csb1", Csb1)),
((Usb0.is_init()) || (Usb1.is_init()) || (Usb2.is_init()) || (Usb3.is_init()) || (Csb0.is_init()) || (Csb1.is_init()))
)
);
}
} // namespace OOX

View File

@ -0,0 +1,98 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "FootNote.h"
#include "Log.h"
#include <algorithm>
#include <boost/bind.hpp>
#include "Exception/log_range_error.h"
#include "FileTypes.h"
namespace OOX
{
FootNote::FootNote()
{
}
FootNote::FootNote(const boost::filesystem::wpath& filename)
{
read(filename);
}
FootNote::~FootNote()
{
}
void FootNote::read(const boost::filesystem::wpath& filename)
{
IFileContainer::read(filename);
const XML::XDocument document(filename);
XML::Fill(Notes, document.Root, "footnote");
}
void FootNote::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "footnotes",
XML::Write(Notes)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
IFileContainer::write(filename, directory, content);
}
const FileType FootNote::type() const
{
return FileTypes::FootNote;
}
const boost::filesystem::wpath FootNote::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath FootNote::DefaultFileName() const
{
return type().DefaultFileName();
}
const FootNote::Note FootNote::find(const Logic::FootnoteReference& reference) const
{
std::vector<FootNote::Note>::const_iterator it = std::find_if(Notes->begin(), Notes->end(),
boost::bind(&Note::Id, _1) == *reference.Id);
if (it == Notes->end())
throw log_range_error("footnote");
return *it;
}
void FootNote::add(const FootNote::Note& footnote)
{
push_back(footnote);
}
void FootNote::push_back(const FootNote::Note& footnote)
{
Notes->push_back(footnote);
}
const size_t FootNote::size() const
{
return Notes->size();
}
} // namespace OOX

View File

@ -0,0 +1,67 @@
#pragma once
#ifndef OOX_FOOTNOTE_INCLUDE_H_
#define OOX_FOOTNOTE_INCLUDE_H_
#include "File.h"
#include "IFileContainer.h"
#include <vector>
#include "property.h"
#include "nullable_property.h"
#include "Logic/FootnoteReference.h"
#include "WritingElement.h"
#include "Logic/TextItem.h"
#include "Limit/SeparatorType.h"
namespace OOX
{
class FootNote : public OOX::File, public IFileContainer
{
public:
class Note : public WritingElement
{
public:
Note();
virtual ~Note();
explicit Note(const XML::XNode& node);
const Note& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
void push_back(const OOX::Logic::Paragraph& paragraph);
public:
nullable_property<std::string, Limit::SeparatorType> Type;
property<size_t> Id;
property<std::vector<Logic::TextItem> > Items;
};
public:
FootNote();
FootNote(const boost::filesystem::wpath& filename);
virtual ~FootNote();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
const FootNote::Note find(const Logic::FootnoteReference& reference) const;
void add(const FootNote::Note& note);
void push_back(const FootNote::Note& note);
const size_t size() const;
public:
property<std::vector<Note> > Notes;
};
} // namespace OOX
#endif // OOX_FOOTNOTE_INCLUDE_H_

View File

@ -0,0 +1,60 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../FootNote.h"
namespace OOX
{
FootNote::Note::Note()
{
}
FootNote::Note::~Note()
{
}
FootNote::Note::Note(const XML::XNode& node)
{
fromXML(node);
}
const FootNote::Note& FootNote::Note::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void FootNote::Note::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
Type = element.attribute("type").value();
Id = element.attribute("id").value();
XML::Fill(Items, element , "p", "tbl");
}
const XML::XNode FootNote::Note::toXML() const
{
return
XML::XElement(ns.w + "footnote",
XML::XAttribute(ns.w + "type", Type) +
XML::XAttribute(ns.w + "id", Id) +
XML::Write(Items)
);
}
void FootNote::Note::push_back(const OOX::Logic::Paragraph& paragraph)
{
Items->push_back(paragraph);
}
} // namespace OOX

View File

@ -0,0 +1,67 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Footer.h"
#include "exception\not_implement.h"
#include "FileTypes.h"
namespace OOX
{
Footer::Footer()
{
}
Footer::Footer(const boost::filesystem::wpath& filename)
{
read(filename);
}
Footer::~Footer()
{
}
void Footer::read(const boost::filesystem::wpath& filename)
{
IFileContainer::read(filename);
const XML::XDocument document(filename);
XML::Fill(Items, document.Root, "p", "tbl", "sdt");
}
void Footer::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "ftr",
XML::Write(Items)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
IFileContainer::write(filename, directory, content);
}
const FileType Footer::type() const
{
return FileTypes::Footer;
}
const boost::filesystem::wpath Footer::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath Footer::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,35 @@
#pragma once
#ifndef OOX_FOOTER_INCLUDE_H_
#define OOX_FOOTER_INCLUDE_H_
#include "File.h"
#include "IFileContainer.h"
#include "Logic/TextItem.h"
#include <vector>
#include "property.h"
namespace OOX
{
class Footer : public OOX::File, public IFileContainer
{
public:
Footer();
Footer(const boost::filesystem::wpath& filename);
virtual ~Footer();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
property<std::vector<Logic::TextItem> > Items;
};
} // namespace OOX
#endif // OOX_FOOTER_INCLUDE_H_

View File

@ -0,0 +1,26 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "FormatError.h"
#include "Log.h"
namespace OOX
{
FormatError::FormatError(const std::string& message)
: runtime_error(message)
{
Log::error(message);
}
FormatError::FormatError(const std::wstring& message)
: runtime_error("docx format error")
{
Log::error(message);
}
} // namespace OOX

View File

@ -0,0 +1,19 @@
#pragma once
#ifndef OOX_FORMAT_ERROR_INCLUDE_H_
#define OOX_FORMAT_ERROR_INCLUDE_H_
#include <stdexcept>
#include <string>
namespace OOX
{
class FormatError : public std::runtime_error
{
public:
explicit FormatError(const std::string& message);
explicit FormatError(const std::wstring& message);
};
} // namesapce OOX
#endif // OOX_FORMAT_ERROR_INCLUDE_H_

View File

@ -0,0 +1,67 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Header.h"
#include "exception\not_implement.h"
#include "FileTypes.h"
namespace OOX
{
Header::Header()
{
}
Header::Header(const boost::filesystem::wpath& filename)
{
read(filename);
}
Header::~Header()
{
}
void Header::read(const boost::filesystem::wpath& filename)
{
IFileContainer::read(filename);
const XML::XDocument document(filename);
XML::Fill(Items, document.Root, "p", "tbl", "sdt");
}
void Header::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.w + "hdr",
XML::Write(Items)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
IFileContainer::write(filename, directory, content);
}
const FileType Header::type() const
{
return FileTypes::Header;
}
const boost::filesystem::wpath Header::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath Header::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOXFile

View File

@ -0,0 +1,35 @@
#pragma once
#ifndef OOX_HEADER_INCLUDE_H_
#define OOX_HEADER_INCLUDE_H_
#include "File.h"
#include "IFileContainer.h"
#include "Logic/TextItem.h"
#include <vector>
#include "property.h"
namespace OOX
{
class Header : public OOX::File, public IFileContainer
{
public:
Header();
Header(const boost::filesystem::wpath& filename);
virtual ~Header();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
public:
property<std::vector<Logic::TextItem> > Items;
};
} // namespace OOX
#endif // OOX_HEADER_INCLUDE_H_

View File

@ -0,0 +1,21 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "IFileBuilder.h"
namespace OOX
{
IFileBuilder::IFileBuilder()
{
}
IFileBuilder::~IFileBuilder()
{
}
} // namespace OOX

View File

@ -0,0 +1,23 @@
#pragma once
#ifndef OOX_FILE_BUILDER_INCLUDE_H_
#define OOX_FILE_BUILDER_INCLUDE_H_
#include <boost/filesystem.hpp>
#include "ContentTypes/File.h"
namespace OOX
{
class IFileBuilder
{
public:
IFileBuilder();
virtual ~IFileBuilder();
public:
virtual void Commit(const boost::filesystem::wpath& path) = 0;
virtual void Finalize(const boost::filesystem::wpath& path, const boost::filesystem::wpath& directory, ContentTypes::File& content) = 0;
};
} // namespace OOX
#endif // OOX_FILE_BUILDER_INCLUDE_H_

View File

@ -0,0 +1,332 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "IFileContainer.h"
#include <boost/foreach.hpp>
#include "Rels/File.h"
#include "FileFactory.h"
#include "ContentTypes/File.h"
#include "FileType.h"
#include "External\External.h"
#include "External\HyperLink.h"
#include "Media\Image.h"
#include "Media\OleObject.h"
#include "FileNameUtility.h"
#include "FileTypes.h"
namespace OOX
{
UnknowTypeFile IFileContainer::unknow;
void IFileContainer::read(const boost::filesystem::wpath& filename)
{
OOX::Rels::File rels(filename);
const boost::filesystem::wpath path = filename.parent_path();
read(rels, path);
}
void IFileContainer::read(const Rels::File& rels, const boost::filesystem::wpath& path)
{
#ifndef NODOCX
BOOST_FOREACH(const OOX::Rels::RelationShip& relation, *rels.Relations)
{
add(relation.rId(), OOX::CreateFile(path, relation));
}
#endif
}
void IFileContainer::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
OOX::Rels::File rels;
const boost::filesystem::wpath current = filename.parent_path();
write(rels, current, directory, content);
rels.write(filename);
}
void IFileContainer::write(Rels::File& rels, const boost::filesystem::wpath& curdir, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
std::map<boost::filesystem::wpath, size_t> namepair;
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
// if (dynamic_cast<const External*>(pair.second.get()) == 0)
if (boost::shared_dynamic_cast<External, OOX::File>(pair.second) == 0)
{
const boost::filesystem::wpath defdir = pair.second->DefaultDirectory();
boost::filesystem::wpath name = pair.second->DefaultFileName();
if (namepair[name]++ != 0)
name = name + namepair[name];
boost::filesystem::create_directories(curdir / defdir);
pair.second->write(curdir / defdir / name, directory / defdir, content);
rels.registration(pair.first, pair.second->type(), defdir / name);
}
else
{
// const HyperLink hyperlink = static_cast<const HyperLink&>(*pair.second);
// rels.registration(pair.first, hyperlink);
rels.registration(pair.first, boost::shared_dynamic_cast<External, OOX::File>(pair.second));
}
}
}
void IFileContainer::Commit(const boost::filesystem::wpath& path)
{
std::map<boost::filesystem::wpath, size_t> namepair;
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (boost::shared_dynamic_cast<External, OOX::File>(pair.second) == 0)
{
const boost::filesystem::wpath defdir = pair.second->DefaultDirectory();
boost::filesystem::wpath name = pair.second->DefaultFileName();
if (namepair[name]++ != 0)
name = name + namepair[name];
boost::filesystem::create_directories(path / defdir);
OOX::IFileBuilder* fileBuilder = dynamic_cast<OOX::IFileBuilder*>(pair.second.get());
if ( fileBuilder != NULL )
{
fileBuilder->Commit(path / defdir / name);
}
}
}
}
void IFileContainer::Finalize(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content)
{
OOX::Rels::File rels;
const boost::filesystem::wpath current = filename.parent_path();
Finalize(rels, current, directory, content);
rels.write(filename);
}
void IFileContainer::Finalize(Rels::File& rels, const boost::filesystem::wpath& curdir, const boost::filesystem::wpath& directory, ContentTypes::File& content)
{
std::map<boost::filesystem::wpath, size_t> namepair;
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (boost::shared_dynamic_cast<External, OOX::File>(pair.second) == 0)
{
const boost::filesystem::wpath defdir = pair.second->DefaultDirectory();
boost::filesystem::wpath name = pair.second->DefaultFileName();
if (namepair[name]++ != 0)
name = name + namepair[name];
boost::filesystem::create_directories(curdir / defdir);
OOX::IFileBuilder* fileBuilder = dynamic_cast<OOX::IFileBuilder*>(pair.second.get());
if ( fileBuilder != NULL )
{
fileBuilder->Finalize(curdir / defdir / name, directory / defdir, content);
}
else
{
pair.second->write(curdir / defdir / name, directory / defdir, content);
}
rels.registration(pair.first, pair.second->type(), defdir / name);
}
else
{
rels.registration(pair.first, boost::shared_dynamic_cast<External, OOX::File>(pair.second));
}
}
}
void IFileContainer::extractPictures(const boost::filesystem::wpath& path) const
{
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (dynamic_cast<const Image*>(pair.second.get()) != 0)
{
const Image& image = static_cast<const Image&>(*pair.second);
image.copy_to(path);
}
else if (dynamic_cast<const IFileContainer*>(pair.second.get()) != 0)
{
const IFileContainer& container = dynamic_cast<const IFileContainer&>(*pair.second);
container.extractPictures(path);
}
}
}
Image& IFileContainer::image(const RId rId)
{
// pog: no-const by th use of const
return const_cast<Image&>( static_cast<const IFileContainer*>(this)->image(rId) );
//return dynamic_cast<Image&>(*m_container[rId]);
}
const Image& IFileContainer::image(const RId rId) const
{
if (m_container.count(rId))
{
if (OOX::File * file = m_container.find(rId)->second.get())
{
if (const Image * image = dynamic_cast<const Image*>(file))
return *image;
else
throw std::runtime_error("invalid rel type");
}
else
throw std::runtime_error("invalid rel");
}
else
throw std::runtime_error("invalid rId");
}
HyperLink& IFileContainer::hyperlink(const RId rId)
{
return dynamic_cast<HyperLink&>(*m_container[rId]);
}
const HyperLink& IFileContainer::hyperlink(const RId rId) const
{
return dynamic_cast<const HyperLink&>(*m_container.find(rId)->second);
}
OleObject& IFileContainer::oleObject(const RId rId)
{
return dynamic_cast<OleObject&>(*m_container[rId]);
}
const OleObject& IFileContainer::oleObject(const RId rId) const
{
return dynamic_cast<const OleObject&>(*m_container.find(rId)->second);
}
const bool IFileContainer::exist(const FileType& type) const
{
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (pair.second->type() == type)
return true;
}
return false;
}
const bool IFileContainer::exist(const RId& rId) const
{
return m_container.find(rId) != m_container.end();
}
const bool IFileContainer::isExternal(const OOX::RId& rId) const
{
if(m_container.find(rId) != m_container.end())
{
std::string type = m_container.find(rId)->second->type().RelationType();
std::wstring name = m_container.find(rId)->second->type().DefaultFileName().string();
return (((type == OOX::FileTypes::ExternalAudio.RelationType()) || (type == OOX::FileTypes::ExternalImage.RelationType())
|| (type == OOX::FileTypes::ExternalVideo.RelationType())) && (name == L""));
}
return true;
}
const boost::shared_ptr<OOX::File> IFileContainer::get(const FileType& type) const
{
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (pair.second->type() == type)
return pair.second;
}
return boost::shared_ptr<OOX::File>(new UnknowTypeFile(unknow));
}
const RId IFileContainer::add(const boost::shared_ptr<OOX::File>& file)
{
const RId rId = maxRId().next();
add(rId, file);
return rId;
}
void IFileContainer::add(const OOX::RId rId, const boost::shared_ptr<OOX::File>& file)
{
IDictonary::add(rId, file);
}
File& IFileContainer::find(const FileType& type)
{
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (pair.second->type() == type)
return *pair.second;
}
return unknow;
}
const File& IFileContainer::find(const FileType& type) const
{
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (pair.second->type() == type)
return *pair.second;
}
return unknow;
}
boost::shared_ptr<OOX::File> IFileContainer::operator [](const OOX::RId rId)
{
return m_container[rId];
}
const boost::shared_ptr<OOX::File> IFileContainer::operator [](const OOX::RId rId) const
{
return m_container.find(rId)->second;
}
File& IFileContainer::operator [](const FileType& type)
{
return find(type);
}
const File& IFileContainer::operator [](const FileType& type) const
{
return find(type);
}
const RId IFileContainer::maxRId() const
{
RId rId;
BOOST_FOREACH(const RIdFilePair& pair, m_container)
{
if (rId < pair.first)
rId = pair.first;
}
return rId;
}
} // namespace OOX

View File

@ -0,0 +1,105 @@
#pragma once
#ifndef OOX_IFILE_CONTAINER_INCLUDE_H_
#define OOX_IFILE_CONTAINER_INCLUDE_H_
#include "IDictonary.h"
#include <boost/shared_ptr.hpp>
#include <boost/filesystem.hpp>
#include "RId.h"
#include "UnknowTypeFile.h"
#include "IFileBuilder.h"
namespace OOX {class File;}
namespace OOX {class FileType;}
namespace OOX {namespace Rels {class File;}}
namespace OOX {namespace ContentTypes {class File;}}
namespace OOX {class Image;}
namespace OOX {class HyperLink;}
namespace OOX {class OleObject;}
namespace OOX
{
class IFileContainer : public IDictonary<OOX::RId, boost::shared_ptr<OOX::File> >
{
protected:
void read(const boost::filesystem::wpath& filename);
void read(const Rels::File& rels, const boost::filesystem::wpath& path);
void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
void write(Rels::File& rels, const boost::filesystem::wpath& current, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
protected:
void Commit(const boost::filesystem::wpath& path);
void Finalize(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content);
void Finalize(Rels::File& rels, const boost::filesystem::wpath& current, const boost::filesystem::wpath& directory, ContentTypes::File& content);
public:
typedef std::pair<const OOX::RId, boost::shared_ptr<OOX::File> > RIdFilePair;
public:
void extractPictures(const boost::filesystem::wpath& path) const;
public:
Image& image(const RId rId);
const Image& image(const RId rId) const;
HyperLink& hyperlink(const RId rId);
const HyperLink& hyperlink(const RId rId) const;
OleObject& oleObject(const RId rId);
const OleObject& oleObject(const RId rId) const;
public:
template<typename T> const bool exist() const;
const bool exist(const FileType& type) const;
const bool exist(const OOX::RId& rId) const;
const bool isExternal(const OOX::RId& rId) const;
const boost::shared_ptr<OOX::File> get(const FileType& type) const;
const RId add(const boost::shared_ptr<OOX::File>& file);
void add(const OOX::RId rId, const boost::shared_ptr<OOX::File>& file);
File& find(const FileType& type);
const File& find(const FileType& type) const;
boost::shared_ptr<OOX::File> operator [](const OOX::RId rId);
const boost::shared_ptr<OOX::File> operator [](const OOX::RId rId) const;
File& operator [](const FileType& type);
const File& operator [](const FileType& type) const;
template<typename T> T& find();
template<typename T> const T& find() const;
protected:
static UnknowTypeFile unknow;
private:
const RId maxRId() const;
};
template<typename T>
const bool IFileContainer::exist() const
{
T file;
return exist(file.type());
}
template<typename T>
T& IFileContainer::find()
{
T file;
return dynamic_cast<T&>(find(file.type()));
}
template<typename T>
const T& IFileContainer::find() const
{
T file;
return dynamic_cast<const T&>(find(file.type()));
}
} // namespace OOX
#endif // OOX_IFILE_CONTAINER_INCLUDE_H_

View File

@ -0,0 +1,65 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "Item.h"
#include "FileTypes.h"
namespace OOX
{
Item::Item()
{
}
Item::Item(const boost::filesystem::wpath& filename)
{
read(filename);
}
Item::~Item()
{
}
void Item::read(const boost::filesystem::wpath& filename)
{
const XML::XDocument document(filename);
SelectedStyle = document.Root.attribute("SelectedStyle").value();
StyleName = document.Root.attribute("StyleName").value();
}
void Item::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.b + "Sources",
XML::XAttribute("SelectedStyle", SelectedStyle) +
XML::XAttribute("StyleName", StyleName)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
}
const FileType Item::type() const
{
return FileTypes::Item;
}
const boost::filesystem::wpath Item::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath Item::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,33 @@
#pragma once
#ifndef OOX_ITEM_INCLUDE_H_
#define OOX_ITEM_INCLUDE_H_
#include "File.h"
#include "nullable_property.h"
namespace OOX
{
class Item : public OOX::File
{
public:
Item();
Item(const boost::filesystem::wpath& filename);
virtual ~Item();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
private:
nullable_property<std::string> SelectedStyle;
nullable_property<std::string> StyleName;
};
} // namespace OOX
#endif // OOX_ITEM_INCLUDE_H_

View File

@ -0,0 +1,65 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "ItemProps.h"
#include "FileTypes.h"
namespace OOX
{
ItemProps::ItemProps()
{
}
ItemProps::ItemProps(const boost::filesystem::wpath& filename)
{
read(filename);
}
ItemProps::~ItemProps()
{
}
void ItemProps::read(const boost::filesystem::wpath& filename)
{
const XML::XDocument document(filename);
Refs = document.Root.element("schemaRefs");
ItemID = document.Root.attribute("itemID").value();
}
void ItemProps::write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const
{
XML::XElement(ns.ds + "datastoreItem",
XML::XAttribute(ns.ds + "itemID", ItemID) +
XML::Write(Refs)
).Save(filename);
content.registration(type().OverrideType(), directory, filename);
}
const FileType ItemProps::type() const
{
return FileTypes::ItemProp;
}
const boost::filesystem::wpath ItemProps::DefaultDirectory() const
{
return type().DefaultDirectory();
}
const boost::filesystem::wpath ItemProps::DefaultFileName() const
{
return type().DefaultFileName();
}
} // namespace OOX

View File

@ -0,0 +1,67 @@
#pragma once
#ifndef OOX_ITEM_PROPS_INCLUDE_H_
#define OOX_ITEM_PROPS_INCLUDE_H_
#include "File.h"
#include "property.h"
#include <string>
#include <vector>
namespace OOX
{
class ItemProps : public OOX::File
{
public:
class SchemaRef : public WritingElement
{
public:
SchemaRef();
virtual ~SchemaRef();
explicit SchemaRef(const XML::XNode& node);
const SchemaRef& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
property<std::string> Uri;
};
class SchemaRefs : public WritingElement
{
public:
SchemaRefs();
virtual ~SchemaRefs();
explicit SchemaRefs(const XML::XNode& node);
const SchemaRefs& operator =(const XML::XNode& node);
public:
virtual void fromXML(const XML::XNode& node);
virtual const XML::XNode toXML() const;
public:
std::vector<SchemaRef> SchemaRef;
};
public:
ItemProps();
ItemProps(const boost::filesystem::wpath& filename);
virtual ~ItemProps();
public:
virtual void read(const boost::filesystem::wpath& filename);
virtual void write(const boost::filesystem::wpath& filename, const boost::filesystem::wpath& directory, ContentTypes::File& content) const;
public:
virtual const FileType type() const;
virtual const boost::filesystem::wpath DefaultDirectory() const;
virtual const boost::filesystem::wpath DefaultFileName() const;
private:
property<SchemaRefs> Refs;
property<std::string> ItemID;
};
} // namespace OOX
#endif // OOX_ITEM_PROPS_INCLUDE_H_

View File

@ -0,0 +1,50 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../ItemProps.h"
namespace OOX
{
ItemProps::SchemaRef::SchemaRef()
{
}
ItemProps::SchemaRef::~SchemaRef()
{
}
ItemProps::SchemaRef::SchemaRef (const XML::XNode& node)
{
fromXML(node);
}
const ItemProps::SchemaRef& ItemProps::SchemaRef::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void ItemProps::SchemaRef::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
Uri = element.attribute("uri").value();
}
const XML::XNode ItemProps::SchemaRef::toXML() const
{
return
XML::XElement(ns.ds + "schemaRef",
XML::XAttribute(ns.ds + "uri", Uri)
);
}
} // namespace OOX

View File

@ -0,0 +1,47 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "./../ItemProps.h"
namespace OOX
{
ItemProps::SchemaRefs::SchemaRefs()
{
}
ItemProps::SchemaRefs::~SchemaRefs()
{
}
ItemProps::SchemaRefs::SchemaRefs(const XML::XNode& node)
{
fromXML(node);
}
const ItemProps::SchemaRefs& ItemProps::SchemaRefs::operator =(const XML::XNode& node)
{
fromXML(node);
return *this;
}
void ItemProps::SchemaRefs::fromXML(const XML::XNode& node)
{
const XML::XElement element(node);
XML::Fill(SchemaRef, element);
}
const XML::XNode ItemProps::SchemaRefs::toXML() const
{
return XML::XElement(ns.ds + "schemaRefs", XML::Write(SchemaRef));
}
} // namespace OOX

View File

@ -0,0 +1,47 @@
// auto inserted precompiled begin
#include "precompiled_docxformat.h"
// auto inserted precompiled end
#include "BorderName.h"
namespace OOX
{
namespace Limit
{
BorderNameSet::BorderNameSet()
{
_list.insert("top");
_list.insert("left");
_list.insert("bottom");
_list.insert("right");
_list.insert("insideH");
_list.insert("insideV");
}
BorderName::BorderName()
{
//add("top");
//add("left");
//add("bottom");
//add("right");
//add("insideH");
//add("insideV");
}
BorderNameSet BorderName::_set;
const std::string BorderName::no_find() const
{
return "top";
}
void BorderName::operator()(std::string& _value, Parameter value)
{
if (_set._list.find(value) != _set._list.end())
_value = value;
else
_value = no_find();
}
} // namespace Limit
} // namespace OOX

Some files were not shown because too many files have changed in this diff Show More