Merge branch 'hotfix/v8.2.1' into develop

This commit is contained in:
Oleg Korshul
2024-10-29 14:37:45 +03:00
98 changed files with 1635 additions and 798 deletions

View File

@ -34,11 +34,56 @@
#include "DiagramColors.h"
#include "../../Common/SimpleTypes_Drawing.h"
#include "../Document.h"
#include "../../XlsxFormat/Xlsx.h"
#include "../Drawing/DrawingExt.h"
#include "../../Binary/Presentation/BinaryFileReaderWriter.h"
namespace OOX
{
CDiagramColors::CDiagramColors(OOX::Document* pMain, bool bDocument) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = bDocument;
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
}
CDiagramColors::CDiagramColors(OOX::Document* pMain, const CPath& uri) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(uri.GetDirectory(), uri);
}
CDiagramColors::CDiagramColors(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(oRootPath, oPath);
}
CDiagramColors::~CDiagramColors()
{
}
const OOX::FileType CDiagramColors::type() const
{
return FileTypes::DiagramColors;
}
const CPath CDiagramColors::DefaultDirectory() const
{
if (m_bDocument)
return type().DefaultDirectory();
else
return L"../" + type().DefaultDirectory();
}
const CPath CDiagramColors::DefaultFileName() const
{
return type().DefaultFileName();
}
void CDiagramColors::read(const CPath& oFilePath)
{
CPath oRootPath;
read(oRootPath, oFilePath);
}
void CDiagramColors::read(const CPath& oRootPath, const CPath& oFilePath)
{
IFileContainer::Read(oRootPath, oFilePath);
@ -204,6 +249,8 @@ namespace OOX
}
void Diagram::CClrLst::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
node_name = oReader.GetName();
ReadAttributes(oReader);
if (oReader.IsEmptyNode())

View File

@ -114,40 +114,19 @@ namespace OOX
class CDiagramColors : public OOX::FileGlobalEnumerated, public OOX::IFileContainer
{
public:
CDiagramColors(OOX::Document* pMain) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
}
CDiagramColors(OOX::Document* pMain, const CPath& uri) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
read(uri.GetDirectory(), uri);
}
CDiagramColors(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
read(oRootPath, oPath);
}
virtual ~CDiagramColors()
{
}
virtual void read(const CPath& oFilePath)
{
CPath oRootPath;
read(oRootPath, oFilePath);
}
CDiagramColors(OOX::Document* pMain, bool bDocument = true);
CDiagramColors(OOX::Document* pMain, const CPath& uri);
CDiagramColors(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath);
virtual ~CDiagramColors();
virtual void read(const CPath& oFilePath);
virtual void read(const CPath& oRootPath, const CPath& oFilePath);
virtual void write(const CPath& oFilePath, const CPath& oDirectory, CContentTypes& oContent) const;
virtual const OOX::FileType type() const
{
return FileTypes::DiagramColors;
}
virtual const CPath DefaultDirectory() const
{
return type().DefaultDirectory();
}
virtual const CPath DefaultFileName() const
{
return type().DefaultFileName();
}
virtual const OOX::FileType type() const;
virtual const CPath DefaultDirectory() const;
virtual const CPath DefaultFileName() const;
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader);
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const;
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const;
@ -163,5 +142,6 @@ namespace OOX
nullable<OOX::Drawing::COfficeArtExtensionList> m_oExtLst;
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
bool m_bDocument = true; //for upper/lower level rels (defaultDirectory)
};
} // namespace OOX

View File

@ -37,8 +37,11 @@
#include "../../Common/SimpleTypes_Shared.h"
#include "../Drawing/DrawingExt.h"
#include "../../../OOXML/PPTXFormat/Logic/SpTree.h"
#include "../Document.h"
#include "../../XlsxFormat/Xlsx.h"
#include "../../PPTXFormat/Logic/SpTree.h"
#include "../../Binary/Presentation/BinaryFileReaderWriter.h"
namespace OOX
@ -443,6 +446,8 @@ namespace OOX
void Diagram::CVariableList::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
node_name = oReader.GetName();
if (oReader.IsEmptyNode())
return;
@ -1701,6 +1706,8 @@ namespace OOX
void Diagram::CText::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
node_name = oReader.GetName();
ReadAttributes(oReader);
if (oReader.IsEmptyNode())
@ -1751,17 +1758,25 @@ namespace OOX
//-------------------------------------------------------------------------------------------
CDiagramData::CDiagramData(OOX::Document* pMain) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
CDiagramData::CDiagramData(OOX::Document* pMain, bool bDocument) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = bDocument;
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
}
CDiagramData::CDiagramData(OOX::Document* pMain, const CPath& uri) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(uri.GetDirectory(), uri);
}
CDiagramData::CDiagramData(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read( oRootPath, oPath );
}
@ -1828,7 +1843,10 @@ namespace OOX
const CPath CDiagramData::DefaultDirectory() const
{
return type().DefaultDirectory();
if (m_bDocument)
return type().DefaultDirectory();
else
return L"../" + type().DefaultDirectory();
}
const CPath CDiagramData::DefaultFileName() const

View File

@ -609,7 +609,7 @@ namespace OOX
class CDiagramData : public OOX::IFileContainer, public OOX::FileGlobalEnumerated
{
public:
CDiagramData(OOX::Document* pMain);
CDiagramData(OOX::Document* pMain, bool bDocument = true);
CDiagramData(OOX::Document* pMain, const CPath& uri);
CDiagramData(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath);
virtual ~CDiagramData();
@ -632,6 +632,8 @@ namespace OOX
nullable<Diagram::CDataModel> m_oDataModel;
nullable<OOX::RId> id_drawing;
private:
bool m_bDocument = true; //for upper/lower level rels (defaultDirectory)
};
} // namespace OOX

View File

@ -33,23 +33,34 @@
#include "DiagramDrawing.h"
#include "../Document.h"
#include "../../XlsxFormat/Xlsx.h"
#include "../../PPTXFormat/Logic/SpTree.h"
#include "../../Binary/Presentation/BinaryFileReaderWriter.h"
#include "../Logic/Pict.h"
namespace OOX
{
CDiagramDrawing::CDiagramDrawing(OOX::Document* pMain) : OOX::FileGlobalEnumerated(pMain), OOX::IFileContainer(pMain)
CDiagramDrawing::CDiagramDrawing(OOX::Document* pMain, bool bDocument) : OOX::FileGlobalEnumerated(pMain), OOX::IFileContainer(pMain)
{
m_bDocument = bDocument;
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
}
CDiagramDrawing::CDiagramDrawing(OOX::Document* pMain, const CPath& uri) : OOX::FileGlobalEnumerated(pMain), OOX::IFileContainer(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(uri.GetDirectory(), uri);
}
CDiagramDrawing::CDiagramDrawing(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::FileGlobalEnumerated(pMain), OOX::IFileContainer(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read( oRootPath, oPath );
}
@ -95,7 +106,10 @@ namespace OOX
}
const CPath CDiagramDrawing::DefaultDirectory() const
{
return type().DefaultDirectory();
if (m_bDocument)
return type().DefaultDirectory();
else
return L"../" + type().DefaultDirectory();
}
const CPath CDiagramDrawing::DefaultFileName() const
{

View File

@ -48,7 +48,7 @@ namespace OOX
class CDiagramDrawing : public OOX::IFileContainer, public OOX::FileGlobalEnumerated
{
public:
CDiagramDrawing(OOX::Document* pMain);
CDiagramDrawing(OOX::Document* pMain, bool bDocument = true);
CDiagramDrawing(OOX::Document* pMain, const CPath& uri);
CDiagramDrawing(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath);
@ -73,6 +73,7 @@ namespace OOX
CPath m_oReadPath;
nullable<PPTX::Logic::SpTree> m_oShapeTree;
private:
bool m_bDocument = true; //for upper/lower level rels (defaultDirectory)
};
} // namespace OOX

View File

@ -34,6 +34,9 @@
#include "DiagramLayout.h"
#include "../Drawing/DrawingExt.h"
#include "../Document.h"
#include "../../XlsxFormat/Xlsx.h"
#include "../../Common/SimpleTypes_Shared.h"
#include "../../Common/SimpleTypes_Drawing.h"
@ -124,15 +127,23 @@ for (size_t i = 0; i < m_arrItems.size(); ++i)\
//------------------------------------------------------------------------------------------------------------------
namespace OOX
{
CDiagramLayout::CDiagramLayout(OOX::Document* pMain) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
CDiagramLayout::CDiagramLayout(OOX::Document* pMain, bool bDocument) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = bDocument;
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
}
CDiagramLayout::CDiagramLayout(OOX::Document* pMain, const CPath& uri) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(uri.GetDirectory(), uri);
}
CDiagramLayout::CDiagramLayout(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(oRootPath, oPath);
}
CDiagramLayout::~CDiagramLayout()
@ -232,7 +243,10 @@ namespace OOX
}
const CPath CDiagramLayout::DefaultDirectory() const
{
return type().DefaultDirectory();
if (m_bDocument)
return type().DefaultDirectory();
else
return L"../" + type().DefaultDirectory();
}
const CPath CDiagramLayout::DefaultFileName() const
{
@ -361,10 +375,13 @@ namespace OOX
}
void Diagram::CDiferentData::fromXML(XmlUtils::CXmlLiteReader& oReader)
{
node_name = oReader.GetName();
ReadAttributes(oReader);
if (oReader.IsEmptyNode())
return;
int nParentDepth = oReader.GetDepth();
while (oReader.ReadNextSiblingNode(nParentDepth))
{

View File

@ -504,7 +504,7 @@ namespace OOX
class CDiagramLayout : public OOX::FileGlobalEnumerated, public OOX::IFileContainer
{
public:
CDiagramLayout(OOX::Document* pMain);
CDiagramLayout(OOX::Document* pMain, bool bDocument = true);
CDiagramLayout(OOX::Document* pMain, const CPath& uri);
CDiagramLayout(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath);
virtual ~CDiagramLayout();
@ -538,6 +538,7 @@ namespace OOX
nullable<OOX::Drawing::COfficeArtExtensionList> m_oExtLst;
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
bool m_bDocument = true; //for upper/lower level rels (defaultDirectory)
};
} // namespace OOX

View File

@ -34,21 +34,32 @@
#include "DiagramQuickStyle.h"
#include "../Drawing/DrawingExt.h"
#include "../Document.h"
#include "../../XlsxFormat/Xlsx.h"
#include "../../Binary/Presentation/BinaryFileReaderWriter.h"
namespace OOX
{
CDiagramQuickStyle::CDiagramQuickStyle(OOX::Document* pMain) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
CDiagramQuickStyle::CDiagramQuickStyle(OOX::Document* pMain, bool bDocument) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = bDocument;
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
}
CDiagramQuickStyle::CDiagramQuickStyle(OOX::Document* pMain, const CPath& uri) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(uri.GetDirectory(), uri);
}
CDiagramQuickStyle::CDiagramQuickStyle(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath) : OOX::IFileContainer(pMain), OOX::FileGlobalEnumerated(pMain)
{
m_bDocument = (NULL != dynamic_cast<OOX::CDocument*>(pMain));
m_bSpreadsheets = (NULL != dynamic_cast<OOX::Spreadsheet::CXlsx*>(pMain));
read(oRootPath, oPath);
}
@ -148,7 +159,10 @@ namespace OOX
const CPath CDiagramQuickStyle::DefaultDirectory() const
{
return type().DefaultDirectory();
if (m_bDocument)
return type().DefaultDirectory();
else
return L"../" + type().DefaultDirectory();
}
const CPath CDiagramQuickStyle::DefaultFileName() const

View File

@ -74,7 +74,7 @@ namespace OOX
class CDiagramQuickStyle : public OOX::FileGlobalEnumerated, public OOX::IFileContainer
{
public:
CDiagramQuickStyle(OOX::Document* pMain);
CDiagramQuickStyle(OOX::Document* pMain, bool bDocument = true);
CDiagramQuickStyle(OOX::Document* pMain, const CPath& uri);
CDiagramQuickStyle(OOX::Document* pMain, const CPath& oRootPath, const CPath& oPath);
@ -107,6 +107,7 @@ namespace OOX
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader);
bool m_bDocument = true; //for upper/lower level rels (defaultDirectory)
};
} // namespace OOX