mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Merge branch 'hotfix/v8.2.1' into develop
This commit is contained in:
@ -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())
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user