diff options
-rw-r--r-- | include/svx/diagram/datamodel.hxx | 121 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/datamodel.cxx | 119 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/datamodel.hxx | 137 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/datamodelcontext.cxx | 33 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/diagram.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/diagram.hxx | 8 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 36 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/diagramlayoutatoms.hxx | 6 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/layoutatomvisitorbase.cxx | 4 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/layoutatomvisitorbase.hxx | 6 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/layoutatomvisitors.cxx | 8 | ||||
-rw-r--r-- | oox/source/drawingml/diagram/layoutatomvisitors.hxx | 6 | ||||
-rw-r--r-- | solenv/clang-format/excludelist | 2 | ||||
-rw-r--r-- | svx/Library_svxcore.mk | 1 | ||||
-rw-r--r-- | svx/source/diagram/datamodel.cxx | 61 |
15 files changed, 314 insertions, 236 deletions
diff --git a/include/svx/diagram/datamodel.hxx b/include/svx/diagram/datamodel.hxx new file mode 100644 index 000000000000..9f47e30f8ef9 --- /dev/null +++ b/include/svx/diagram/datamodel.hxx @@ -0,0 +1,121 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef INCLUDED_SVX_DIAGRAM_DATAMODEL_HXX +#define INCLUDED_SVX_DIAGRAM_DATAMODEL_HXX + +#include <vector> +#include <optional> + +#include <svx/svxdllapi.h> +#include <rtl/ustring.hxx> + +namespace svx::diagram { + +enum TypeConstant { + XML_none = 0, + XML_type = 395, + XML_asst = 680, + XML_doc = 1924, + XML_node = 3596, + XML_norm = 3609, + XML_parOf = 3878, + XML_parTrans = 3879, + XML_pres = 4085, + XML_presOf = 4090, + XML_presParOf = 4091, + XML_rel = 4298, + XML_sibTrans = 4746, +}; + +/** A Connection + */ +struct SVXCORE_DLLPUBLIC Connection +{ + Connection(); + + TypeConstant mnXMLType; + OUString msModelId; + OUString msSourceId; + OUString msDestId; + OUString msParTransId; + OUString msPresId; + OUString msSibTransId; + sal_Int32 mnSourceOrder; + sal_Int32 mnDestOrder; + +}; + +typedef std::vector< Connection > Connections; + +/** A point + */ +struct SVXCORE_DLLPUBLIC Point +{ + Point(); + + OUString msCnxId; + OUString msModelId; + OUString msColorTransformCategoryId; + OUString msColorTransformTypeId; + OUString msLayoutCategoryId; + OUString msLayoutTypeId; + OUString msPlaceholderText; + OUString msPresentationAssociationId; + OUString msPresentationLayoutName; + OUString msPresentationLayoutStyleLabel; + OUString msQuickStyleCategoryId; + OUString msQuickStyleTypeId; + + TypeConstant mnXMLType; + sal_Int32 mnMaxChildren; + sal_Int32 mnPreferredChildren; + sal_Int32 mnDirection; + std::optional<sal_Int32> moHierarchyBranch; + sal_Int32 mnResizeHandles; + sal_Int32 mnCustomAngle; + sal_Int32 mnPercentageNeighbourWidth; + sal_Int32 mnPercentageNeighbourHeight; + sal_Int32 mnPercentageOwnWidth; + sal_Int32 mnPercentageOwnHeight; + sal_Int32 mnIncludeAngleScale; + sal_Int32 mnRadiusScale; + sal_Int32 mnWidthScale; + sal_Int32 mnHeightScale; + sal_Int32 mnWidthOverride; + sal_Int32 mnHeightOverride; + sal_Int32 mnLayoutStyleCount; + sal_Int32 mnLayoutStyleIndex; + + bool mbOrgChartEnabled; + bool mbBulletEnabled; + bool mbCoherent3DOffset; + bool mbCustomHorizontalFlip; + bool mbCustomVerticalFlip; + bool mbCustomText; + bool mbIsPlaceholder; +}; + +typedef std::vector< Point > Points; + +} + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/oox/source/drawingml/diagram/datamodel.cxx b/oox/source/drawingml/diagram/datamodel.cxx index 325259295fef..2e10c23e6d2e 100644 --- a/oox/source/drawingml/diagram/datamodel.cxx +++ b/oox/source/drawingml/diagram/datamodel.cxx @@ -34,29 +34,7 @@ using namespace ::com::sun::star; namespace oox::drawingml { -namespace dgm { - -void Connection::dump() const -{ - SAL_INFO( - "oox.drawingml", - "cnx modelId " << msModelId << ", srcId " << msSourceId << ", dstId " - << msDestId << ", parTransId " << msParTransId << ", presId " - << msPresId << ", sibTransId " << msSibTransId << ", srcOrd " - << mnSourceOrder << ", dstOrd " << mnDestOrder); -} - -void Point::dump(const Shape* pShape) const -{ - SAL_INFO( - "oox.drawingml", - "pt text " << pShape << ", cnxId " << msCnxId << ", modelId " - << msModelId << ", type " << mnType); -} - -} // oox::drawingml::dgm namespace - -Shape* DiagramData::getOrCreateAssociatedShape(const dgm::Point& rPoint, bool bCreateOnDemand) const +Shape* DiagramData::getOrCreateAssociatedShape(const svx::diagram::Point& rPoint, bool bCreateOnDemand) const { if(maPointShapeMap.end() == maPointShapeMap.find(rPoint.msModelId)) { @@ -77,7 +55,7 @@ Shape* DiagramData::getOrCreateAssociatedShape(const dgm::Point& rPoint, bool bC return rShapePtr.get(); } -void DiagramData::restoreDataFromModelToShapeAfterReCreation(const dgm::Point& rPoint, Shape& rNewShape) const +void DiagramData::restoreDataFromModelToShapeAfterReCreation(const svx::diagram::Point& rPoint, Shape& rNewShape) const { // If we did create a new oox::drawingml::Shape, directly apply // available data from the Diagram ModelData to it as preparation @@ -120,28 +98,49 @@ DiagramData::DiagramData() : { } -const dgm::Point* DiagramData::getRootPoint() const +const svx::diagram::Point* DiagramData::getRootPoint() const { for (const auto & aCurrPoint : maPoints) - if (aCurrPoint.mnType == XML_doc) + if (aCurrPoint.mnXMLType == svx::diagram::TypeConstant::XML_doc) return &aCurrPoint; SAL_WARN("oox.drawingml", "No root point"); return nullptr; } +static void Connection_dump(const svx::diagram::Connection& rConnection) +{ + SAL_INFO( + "oox.drawingml", + "cnx modelId " << rConnection.msModelId << ", srcId " << rConnection.msSourceId << ", dstId " + << rConnection.msDestId << ", parTransId " << rConnection.msParTransId << ", presId " + << rConnection.msPresId << ", sibTransId " << rConnection.msSibTransId << ", srcOrd " + << rConnection.mnSourceOrder << ", dstOrd " << rConnection.mnDestOrder); +} + +static void Point_dump(const svx::diagram::Point& rPoint, const Shape* pShape) +{ + SAL_INFO( + "oox.drawingml", + "pt text " << pShape << ", cnxId " << rPoint.msCnxId << ", modelId " + << rPoint.msModelId << ", type " << rPoint.mnXMLType); +} + void DiagramData::dump() const { SAL_INFO("oox.drawingml", "Dgm: DiagramData # of cnx: " << maConnections.size() ); for (const auto& rConnection : maConnections) - rConnection.dump(); + Connection_dump(rConnection); SAL_INFO("oox.drawingml", "Dgm: DiagramData # of pt: " << maPoints.size() ); for (const auto& rPoint : maPoints) - rPoint.dump(getOrCreateAssociatedShape(rPoint)); + Point_dump(rPoint, getOrCreateAssociatedShape(rPoint)); } -void DiagramData::getChildrenString(OUStringBuffer& rBuf, const dgm::Point* pPoint, sal_Int32 nLevel) const +void DiagramData::getChildrenString( + OUStringBuffer& rBuf, + const svx::diagram::Point* pPoint, + sal_Int32 nLevel) const { if (!pPoint) return; @@ -161,9 +160,9 @@ void DiagramData::getChildrenString(OUStringBuffer& rBuf, const dgm::Point* pPoi rBuf.append('\n'); } - std::vector<const dgm::Point*> aChildren; + std::vector< const svx::diagram::Point* > aChildren; for (const auto& rCxn : maConnections) - if (rCxn.mnType == XML_parOf && rCxn.msSourceId == pPoint->msModelId) + if (rCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && rCxn.msSourceId == pPoint->msModelId) { if (rCxn.mnSourceOrder >= static_cast<sal_Int32>(aChildren.size())) aChildren.resize(rCxn.mnSourceOrder + 1); @@ -179,7 +178,7 @@ void DiagramData::getChildrenString(OUStringBuffer& rBuf, const dgm::Point* pPoi OUString DiagramData::getString() const { OUStringBuffer aBuf; - const dgm::Point* pPoint = getRootPoint(); + const svx::diagram::Point* pPoint = getRootPoint(); getChildrenString(aBuf, pPoint, 0); return aBuf.makeStringAndClear(); } @@ -189,7 +188,7 @@ std::vector<std::pair<OUString, OUString>> DiagramData::getChildren(const OUStri const OUString sModelId = rParentId.isEmpty() ? getRootPoint()->msModelId : rParentId; std::vector<std::pair<OUString, OUString>> aChildren; for (const auto& rCxn : maConnections) - if (rCxn.mnType == XML_parOf && rCxn.msSourceId == sModelId) + if (rCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && rCxn.msSourceId == sModelId) { if (rCxn.mnSourceOrder >= static_cast<sal_Int32>(aChildren.size())) aChildren.resize(rCxn.mnSourceOrder + 1); @@ -211,15 +210,15 @@ std::vector<std::pair<OUString, OUString>> DiagramData::getChildren(const OUStri return aChildren; } -void DiagramData::addConnection(sal_Int32 nType, const OUString& sSourceId, const OUString& sDestId) +void DiagramData::addConnection(svx::diagram::TypeConstant nType, const OUString& sSourceId, const OUString& sDestId) { sal_Int32 nMaxOrd = -1; for (const auto& aCxn : maConnections) - if (aCxn.mnType == nType && aCxn.msSourceId == sSourceId) + if (aCxn.mnXMLType == nType && aCxn.msSourceId == sSourceId) nMaxOrd = std::max(nMaxOrd, aCxn.mnSourceOrder); - dgm::Connection& rCxn = maConnections.emplace_back(); - rCxn.mnType = nType; + svx::diagram::Connection& rCxn = maConnections.emplace_back(); + rCxn.mnXMLType = nType; rCxn.msSourceId = sSourceId; rCxn.msDestId = sDestId; rCxn.mnSourceOrder = nMaxOrd + 1; @@ -227,10 +226,10 @@ void DiagramData::addConnection(sal_Int32 nType, const OUString& sSourceId, cons OUString DiagramData::addNode(const OUString& rText) { - const dgm::Point& rDataRoot = *getRootPoint(); + const svx::diagram::Point& rDataRoot = *getRootPoint(); OUString sPresRoot; for (const auto& aCxn : maConnections) - if (aCxn.mnType == XML_presOf && aCxn.msSourceId == rDataRoot.msModelId) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_presOf && aCxn.msSourceId == rDataRoot.msModelId) sPresRoot = aCxn.msDestId; if (sPresRoot.isEmpty()) @@ -238,8 +237,8 @@ OUString DiagramData::addNode(const OUString& rText) OUString sNewNodeId = OStringToOUString(comphelper::xml::generateGUIDString(), RTL_TEXTENCODING_UTF8); - dgm::Point aDataPoint; - aDataPoint.mnType = XML_node; + svx::diagram::Point aDataPoint; + aDataPoint.mnXMLType = svx::diagram::TypeConstant::XML_node; aDataPoint.msModelId = sNewNodeId; Shape* pShape(getOrCreateAssociatedShape(aDataPoint, true)); @@ -250,16 +249,16 @@ OUString DiagramData::addNode(const OUString& rText) OUString sDataSibling; for (const auto& aCxn : maConnections) - if (aCxn.mnType == XML_parOf && aCxn.msSourceId == rDataRoot.msModelId) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && aCxn.msSourceId == rDataRoot.msModelId) sDataSibling = aCxn.msDestId; OUString sPresSibling; for (const auto& aCxn : maConnections) - if (aCxn.mnType == XML_presOf && aCxn.msSourceId == sDataSibling) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_presOf && aCxn.msSourceId == sDataSibling) sPresSibling = aCxn.msDestId; - dgm::Point aPresPoint; - aPresPoint.mnType = XML_pres; + svx::diagram::Point aPresPoint; + aPresPoint.mnXMLType = svx::diagram::TypeConstant::XML_pres; aPresPoint.msModelId = OStringToOUString(comphelper::xml::generateGUIDString(), RTL_TEXTENCODING_UTF8); // create pesPoint shape @@ -269,16 +268,16 @@ OUString DiagramData::addNode(const OUString& rText) if (!sPresSibling.isEmpty()) { // no idea where to get these values from, so copy from previous sibling - const dgm::Point* pSiblingPoint = maPointNameMap[sPresSibling]; + const svx::diagram::Point* pSiblingPoint = maPointNameMap[sPresSibling]; aPresPoint.msPresentationLayoutName = pSiblingPoint->msPresentationLayoutName; aPresPoint.msPresentationLayoutStyleLabel = pSiblingPoint->msPresentationLayoutStyleLabel; aPresPoint.mnLayoutStyleIndex = pSiblingPoint->mnLayoutStyleIndex; aPresPoint.mnLayoutStyleCount = pSiblingPoint->mnLayoutStyleCount; } - addConnection(XML_parOf, rDataRoot.msModelId, aDataPoint.msModelId); - addConnection(XML_presParOf, sPresRoot, aPresPoint.msModelId); - addConnection(XML_presOf, aDataPoint.msModelId, aPresPoint.msModelId); + addConnection(svx::diagram::TypeConstant::XML_parOf, rDataRoot.msModelId, aDataPoint.msModelId); + addConnection(svx::diagram::TypeConstant::XML_presParOf, sPresRoot, aPresPoint.msModelId); + addConnection(svx::diagram::TypeConstant::XML_presOf, aDataPoint.msModelId, aPresPoint.msModelId); // adding at the end, so that references are not invalidated in between maPoints.push_back(aDataPoint); @@ -292,15 +291,15 @@ bool DiagramData::removeNode(const OUString& rNodeId) { // check if it doesn't have children for (const auto& aCxn : maConnections) - if (aCxn.mnType == XML_parOf && aCxn.msSourceId == rNodeId) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && aCxn.msSourceId == rNodeId) { SAL_WARN("oox.drawingml", "Node has children - can't be removed"); return false; } - dgm::Connection aParCxn; + svx::diagram::Connection aParCxn; for (const auto& aCxn : maConnections) - if (aCxn.mnType == XML_parOf && aCxn.msDestId == rNodeId) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && aCxn.msDestId == rNodeId) aParCxn = aCxn; std::unordered_set<OUString> aIdsToRemove; @@ -310,7 +309,7 @@ bool DiagramData::removeNode(const OUString& rNodeId) if (!aParCxn.msSibTransId.isEmpty()) aIdsToRemove.insert(aParCxn.msSibTransId); - for (const dgm::Point& rPoint : maPoints) + for (const svx::diagram::Point& rPoint : maPoints) if (aIdsToRemove.count(rPoint.msPresentationAssociationId)) aIdsToRemove.insert(rPoint.msModelId); @@ -322,14 +321,14 @@ bool DiagramData::removeNode(const OUString& rNodeId) // remove connections maConnections.erase(std::remove_if(maConnections.begin(), maConnections.end(), - [aIdsToRemove](const dgm::Connection& rCxn) { + [aIdsToRemove](const svx::diagram::Connection& rCxn) { return aIdsToRemove.count(rCxn.msSourceId) || aIdsToRemove.count(rCxn.msDestId); }), maConnections.end()); // remove data and presentation nodes maPoints.erase(std::remove_if(maPoints.begin(), maPoints.end(), - [aIdsToRemove](const dgm::Point& rPoint) { + [aIdsToRemove](const svx::diagram::Point& rPoint) { return aIdsToRemove.count(rPoint.msModelId); }), maPoints.end()); @@ -361,7 +360,7 @@ OString normalizeDotName( const OUString& rStr ) #endif static sal_Int32 calcDepth( std::u16string_view rNodeName, - const dgm::Connections& rCnx ) + const svx::diagram::Connections& rCnx ) { // find length of longest path in 'isChild' graph, ending with rNodeName for (auto const& elem : rCnx) @@ -370,7 +369,7 @@ static sal_Int32 calcDepth( std::u16string_view rNodeName, !elem.msSibTransId.isEmpty() && !elem.msSourceId.isEmpty() && !elem.msDestId.isEmpty() && - elem.mnType == XML_parOf && + elem.mnXMLType == svx::diagram::TypeConstant::XML_parOf && rNodeName == elem.msDestId ) { return calcDepth(elem.msSourceId, rCnx) + 1; @@ -399,7 +398,7 @@ void DiagramData::build(bool bClearOoxShapes) output << "digraph datatree {" << std::endl; #endif - dgm::Points& rPoints = getPoints(); + svx::diagram::Points& rPoints = getPoints(); for (auto & point : rPoints) { #ifdef DEBUG_OOX_DIAGRAM @@ -470,7 +469,7 @@ void DiagramData::build(bool bClearOoxShapes) } } - const dgm::Connections& rConnections = getConnections(); + const svx::diagram::Connections& rConnections = getConnections(); for (auto const& connection : rConnections) { #ifdef DEBUG_OOX_DIAGRAM @@ -527,7 +526,7 @@ void DiagramData::build(bool bClearOoxShapes) SAL_WARN_IF(!bInserted1, "oox.drawingml", "DiagramData::build(): non-unique connection model id"); - if( connection.mnType == XML_presOf ) + if( connection.mnXMLType == svx::diagram::TypeConstant::XML_presOf ) { DiagramData::StringMap::value_type::second_type& rVec = getPresOfNameMap()[connection.msDestId]; rVec[connection.mnDestOrder] = { connection.msSourceId, sal_Int32(0) }; diff --git a/oox/source/drawingml/diagram/datamodel.hxx b/oox/source/drawingml/diagram/datamodel.hxx index 8c8a9e8e165d..ab7625fa8772 100644 --- a/oox/source/drawingml/diagram/datamodel.hxx +++ b/oox/source/drawingml/diagram/datamodel.hxx @@ -26,130 +26,21 @@ #include <rtl/ustring.hxx> +#include <svx/diagram/datamodel.hxx> #include <oox/drawingml/drawingmltypes.hxx> #include <oox/helper/helper.hxx> #include <oox/token/tokens.hxx> namespace oox::drawingml { -namespace dgm { - -/** A Connection - */ -struct Connection -{ - Connection() : - mnType( 0 ), - mnSourceOrder( 0 ), - mnDestOrder( 0 ) - {} - - void dump() const; - - sal_Int32 mnType; - OUString msModelId; - OUString msSourceId; - OUString msDestId; - OUString msParTransId; - OUString msPresId; - OUString msSibTransId; - sal_Int32 mnSourceOrder; - sal_Int32 mnDestOrder; - -}; - -typedef std::vector< Connection > Connections; - -/** A point - */ -struct Point -{ - Point() : - mnType(0), - mnMaxChildren(-1), - mnPreferredChildren(-1), - mnDirection(XML_norm), - mnResizeHandles(XML_rel), - mnCustomAngle(-1), - mnPercentageNeighbourWidth(-1), - mnPercentageNeighbourHeight(-1), - mnPercentageOwnWidth(-1), - mnPercentageOwnHeight(-1), - mnIncludeAngleScale(-1), - mnRadiusScale(-1), - mnWidthScale(-1), - mnHeightScale(-1), - mnWidthOverride(-1), - mnHeightOverride(-1), - mnLayoutStyleCount(-1), - mnLayoutStyleIndex(-1), - - mbOrgChartEnabled(false), - mbBulletEnabled(false), - mbCoherent3DOffset(false), - mbCustomHorizontalFlip(false), - mbCustomVerticalFlip(false), - mbCustomText(false), - mbIsPlaceholder(false) - {} - - void dump(const Shape* pShape) const; - - OUString msCnxId; - OUString msModelId; - OUString msColorTransformCategoryId; - OUString msColorTransformTypeId; - OUString msLayoutCategoryId; - OUString msLayoutTypeId; - OUString msPlaceholderText; - OUString msPresentationAssociationId; - OUString msPresentationLayoutName; - OUString msPresentationLayoutStyleLabel; - OUString msQuickStyleCategoryId; - OUString msQuickStyleTypeId; - - sal_Int32 mnType; - sal_Int32 mnMaxChildren; - sal_Int32 mnPreferredChildren; - sal_Int32 mnDirection; - OptValue<sal_Int32> moHierarchyBranch; - sal_Int32 mnResizeHandles; - sal_Int32 mnCustomAngle; - sal_Int32 mnPercentageNeighbourWidth; - sal_Int32 mnPercentageNeighbourHeight; - sal_Int32 mnPercentageOwnWidth; - sal_Int32 mnPercentageOwnHeight; - sal_Int32 mnIncludeAngleScale; - sal_Int32 mnRadiusScale; - sal_Int32 mnWidthScale; - sal_Int32 mnHeightScale; - sal_Int32 mnWidthOverride; - sal_Int32 mnHeightOverride; - sal_Int32 mnLayoutStyleCount; - sal_Int32 mnLayoutStyleIndex; - - bool mbOrgChartEnabled; - bool mbBulletEnabled; - bool mbCoherent3DOffset; - bool mbCustomHorizontalFlip; - bool mbCustomVerticalFlip; - bool mbCustomText; - bool mbIsPlaceholder; -}; - -typedef std::vector< Point > Points; - -} - -// class DiagramData : public DiagramDataInterface class DiagramData { public: typedef std::map< OUString, ShapePtr > PointShapeMap; typedef std::map< OUString, TextBodyPtr > PointTextMap; - typedef std::map< OUString, dgm::Point* > PointNameMap; - typedef std::map< OUString, std::vector<dgm::Point*> > PointsNameMap; - typedef std::map< OUString, const dgm::Connection* > ConnectionNameMap; + typedef std::map< OUString, svx::diagram::Point* > PointNameMap; + typedef std::map< OUString, std::vector< svx::diagram::Point* > > PointsNameMap; + typedef std::map< OUString, const svx::diagram::Connection* > ConnectionNameMap; struct SourceIdAndDepth { @@ -168,9 +59,9 @@ public: FillPropertiesPtr & getFillProperties() { return mpFillProperties; } - dgm::Connections & getConnections() + svx::diagram::Connections & getConnections() { return maConnections; } - dgm::Points & getPoints() + svx::diagram::Points & getPoints() { return maPoints; } StringMap & getPresOfNameMap() { return maPresOfNameMap; } @@ -180,7 +71,7 @@ public: { return maPointsPresNameMap; } ::std::vector<OUString> &getExtDrawings() { return maExtDrawings; } - const dgm::Point* getRootPoint() const; + const svx::diagram::Point* getRootPoint() const; void dump() const; OUString getString() const; @@ -188,28 +79,28 @@ public: OUString addNode(const OUString& rText); bool removeNode(const OUString& rNodeId); - Shape* getOrCreateAssociatedShape(const dgm::Point& rPoint, bool bCreateOnDemand = false) const; + Shape* getOrCreateAssociatedShape(const svx::diagram::Point& rPoint, bool bCreateOnDemand = false) const; // get/set data between Diagram DataModel and oox::drawingml::Shape void secureDataFromShapeToModelAfterDiagramImport(); - void restoreDataFromModelToShapeAfterReCreation(const dgm::Point& rPoint, Shape& rNewShape) const; + void restoreDataFromModelToShapeAfterReCreation(const svx::diagram::Point& rPoint, Shape& rNewShape) const; private: - void getChildrenString(OUStringBuffer& rBuf, const dgm::Point* pPoint, sal_Int32 nLevel) const; - void addConnection(sal_Int32 nType, const OUString& sSourceId, const OUString& sDestId); + void getChildrenString(OUStringBuffer& rBuf, const svx::diagram::Point* pPoint, sal_Int32 nLevel) const; + void addConnection(svx::diagram::TypeConstant nType, const OUString& sSourceId, const OUString& sDestId); // evtl. existing alternative imported visualization identifier ::std::vector<OUString> maExtDrawings; // the model definition, // - FillStyle - // - Texts for oox::drawingml::Points/dgm::Points, associated by ModelId + // - Texts for oox::drawingml::Points/svx::diagram::Points, associated by ModelId // - logic connections/associations // - data point entries FillPropertiesPtr mpFillProperties; PointTextMap maPointTextMap; - dgm::Connections maConnections; - dgm::Points maPoints; + svx::diagram::Connections maConnections; + svx::diagram::Points maPoints; // temporary processing data PointShapeMap maPointShapeMap; diff --git a/oox/source/drawingml/diagram/datamodelcontext.cxx b/oox/source/drawingml/diagram/datamodelcontext.cxx index 4456e83f45d9..35b9b213c550 100644 --- a/oox/source/drawingml/diagram/datamodelcontext.cxx +++ b/oox/source/drawingml/diagram/datamodelcontext.cxx @@ -39,7 +39,7 @@ class CxnListContext { public: CxnListContext( ContextHandler2Helper const & rParent, - dgm::Connections & aConnections ) + svx::diagram::Connections & aConnections ) : ContextHandler2( rParent ) , mrConnection( aConnections ) { @@ -54,9 +54,9 @@ public: case DGM_TOKEN( cxn ): { mrConnection.emplace_back( ); - dgm::Connection& rConnection=mrConnection.back(); + svx::diagram::Connection& rConnection=mrConnection.back(); - rConnection.mnType = rAttribs.getToken( XML_type, XML_parOf ); + rConnection.mnXMLType = static_cast<svx::diagram::TypeConstant>(rAttribs.getToken( XML_type, XML_parOf )); rConnection.msModelId = rAttribs.getString( XML_modelId ).get(); rConnection.msSourceId = rAttribs.getString( XML_srcId ).get(); rConnection.msDestId = rAttribs.getString( XML_destId ).get(); @@ -76,7 +76,7 @@ public: return this; } private: - dgm::Connections& mrConnection; + svx::diagram::Connections& mrConnection; }; // CT_presLayoutVars @@ -85,7 +85,7 @@ class PresLayoutVarsContext { public: PresLayoutVarsContext( ContextHandler2Helper const & rParent, - dgm::Point & rPoint ) : + svx::diagram::Point & rPoint ) : ContextHandler2( rParent ), mrPoint( rPoint ) { @@ -113,8 +113,13 @@ public: mrPoint.mnDirection = rAttribs.getToken( XML_val, XML_norm ); break; case DGM_TOKEN( hierBranch ): - mrPoint.moHierarchyBranch = rAttribs.getToken( XML_val ); + { + // need to convert from oox::OptValue to std::optional since 1st is not available in svx + const OptValue< sal_Int32 > aOptVal(rAttribs.getToken( XML_val )); + if(aOptVal.has()) + mrPoint.moHierarchyBranch = aOptVal.get(); break; + } case DGM_TOKEN( orgChart ): mrPoint.mbOrgChartEnabled = rAttribs.getBool( XML_val, false ); break; @@ -129,7 +134,7 @@ public: } private: - dgm::Point& mrPoint; + svx::diagram::Point& mrPoint; }; // CT_prSet @@ -138,7 +143,7 @@ class PropertiesContext { public: PropertiesContext( ContextHandler2Helper const & rParent, - dgm::Point & rPoint, + svx::diagram::Point & rPoint, const AttributeList& rAttribs ) : ContextHandler2( rParent ), mrPoint( rPoint ) @@ -193,7 +198,7 @@ public: } private: - dgm::Point& mrPoint; + svx::diagram::Point& mrPoint; }; // CL_Pt @@ -203,7 +208,7 @@ class PtContext public: PtContext( ContextHandler2Helper const & rParent, const AttributeList& rAttribs, - dgm::Point & rPoint, + svx::diagram::Point & rPoint, DiagramData& rDiagramData): ContextHandler2( rParent ), mrPoint( rPoint ), @@ -213,7 +218,7 @@ public: // the default type is XML_node const sal_Int32 nType = rAttribs.getToken( XML_type, XML_node ); - mrPoint.mnType = nType; + mrPoint.mnXMLType = static_cast<svx::diagram::TypeConstant>(nType); // ignore the cxnId unless it is this type. See 5.15.3.1.3 in Primer if( ( nType == XML_parTrans ) || ( nType == XML_sibTrans ) ) @@ -249,7 +254,7 @@ public: } private: - dgm::Point& mrPoint; + svx::diagram::Point& mrPoint; DiagramData& mrDiagramData; }; @@ -258,7 +263,7 @@ class PtListContext : public ContextHandler2 { public: - PtListContext( ContextHandler2Helper const & rParent, dgm::Points& rPoints, DiagramData& rDiagramData) : + PtListContext( ContextHandler2Helper const & rParent, svx::diagram::Points& rPoints, DiagramData& rDiagramData) : ContextHandler2( rParent ), mrPoints( rPoints ), mrDiagramData( rDiagramData ) @@ -282,7 +287,7 @@ public: } private: - dgm::Points& mrPoints; + svx::diagram::Points& mrPoints; DiagramData& mrDiagramData; }; diff --git a/oox/source/drawingml/diagram/diagram.cxx b/oox/source/drawingml/diagram/diagram.cxx index a1300ee908c8..7c83204ea6a7 100644 --- a/oox/source/drawingml/diagram/diagram.cxx +++ b/oox/source/drawingml/diagram/diagram.cxx @@ -111,7 +111,7 @@ void Diagram::addTo( const ShapePtr & pParentShape ) pParentShape->setChildSize(pParentShape->getSize()); - const dgm::Point* pRootPoint = mpData->getRootPoint(); + const svx::diagram::Point* pRootPoint = mpData->getRootPoint(); if (mpLayout->getNode() && pRootPoint) { // create Shape hierarchy diff --git a/oox/source/drawingml/diagram/diagram.hxx b/oox/source/drawingml/diagram/diagram.hxx index 1897a8ccfd01..0f62224812ad 100644 --- a/oox/source/drawingml/diagram/diagram.hxx +++ b/oox/source/drawingml/diagram/diagram.hxx @@ -39,12 +39,10 @@ class Diagram; class LayoutNode; typedef std::shared_ptr< LayoutNode > LayoutNodePtr; class LayoutAtom; -typedef std::shared_ptr<LayoutAtom> LayoutAtomPtr; - +typedef std::shared_ptr< LayoutAtom > LayoutAtomPtr; typedef std::map< OUString, css::uno::Reference<css::xml::dom::XDocument> > DiagramDomMap; - -typedef std::map<OUString, LayoutAtomPtr> LayoutAtomMap; -typedef std::map<const dgm::Point*, ShapePtr> PresPointShapeMap; +typedef std::map< OUString, LayoutAtomPtr > LayoutAtomMap; +typedef std::map< const svx::diagram::Point*, ShapePtr > PresPointShapeMap; class DiagramLayout { diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index b6b5d24da91b..a904797a4363 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -834,12 +834,12 @@ namespace * Takes the connection list from rLayoutNode, navigates from rFrom on an edge * of type nType, using a direction determined by bSourceToDestination. */ -OUString navigate(LayoutNode& rLayoutNode, sal_Int32 nType, std::u16string_view rFrom, +OUString navigate(LayoutNode& rLayoutNode, svx::diagram::TypeConstant nType, std::u16string_view rFrom, bool bSourceToDestination) { for (const auto& rConnection : rLayoutNode.getDiagram().getData()->getConnections()) { - if (rConnection.mnType != nType) + if (rConnection.mnXMLType != nType) continue; if (bSourceToDestination) @@ -857,37 +857,37 @@ OUString navigate(LayoutNode& rLayoutNode, sal_Int32 nType, std::u16string_view return OUString(); } -sal_Int32 calcMaxDepth(std::u16string_view rNodeName, const dgm::Connections& rConnections) +sal_Int32 calcMaxDepth(std::u16string_view rNodeName, const svx::diagram::Connections& rConnections) { sal_Int32 nMaxLength = 0; for (auto const& aCxn : rConnections) - if (aCxn.mnType == XML_parOf && aCxn.msSourceId == rNodeName) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && aCxn.msSourceId == rNodeName) nMaxLength = std::max(nMaxLength, calcMaxDepth(aCxn.msDestId, rConnections) + 1); return nMaxLength; } } -sal_Int32 ConditionAtom::getNodeCount(const dgm::Point* pPresPoint) const +sal_Int32 ConditionAtom::getNodeCount(const svx::diagram::Point* pPresPoint) const { sal_Int32 nCount = 0; OUString sNodeId = pPresPoint->msPresentationAssociationId; // HACK: special case - count children of first child if (maIter.maAxis.size() == 2 && maIter.maAxis[0] == XML_ch && maIter.maAxis[1] == XML_ch) - sNodeId = navigate(mrLayoutNode, XML_parOf, sNodeId, /*bSourceToDestination*/ true); + sNodeId = navigate(mrLayoutNode, svx::diagram::TypeConstant::XML_parOf, sNodeId, /*bSourceToDestination*/ true); if (!sNodeId.isEmpty()) { for (const auto& aCxn : mrLayoutNode.getDiagram().getData()->getConnections()) - if (aCxn.mnType == XML_parOf && aCxn.msSourceId == sNodeId) + if (aCxn.mnXMLType == svx::diagram::TypeConstant::XML_parOf && aCxn.msSourceId == sNodeId) nCount++; } return nCount; } -bool ConditionAtom::getDecision(const dgm::Point* pPresPoint) const +bool ConditionAtom::getDecision(const svx::diagram::Point* pPresPoint) const { if (mIsElse) return true; @@ -902,21 +902,21 @@ bool ConditionAtom::getDecision(const dgm::Point* pPresPoint) const return compareResult(maCond.mnOp, pPresPoint->mnDirection, maCond.mnVal); else if (maCond.mnArg == XML_hierBranch) { - sal_Int32 nHierarchyBranch = pPresPoint->moHierarchyBranch.get(XML_std); - if (!pPresPoint->moHierarchyBranch.has()) + sal_Int32 nHierarchyBranch = pPresPoint->moHierarchyBranch.value_or(XML_std); + if (!pPresPoint->moHierarchyBranch.has_value()) { // If <dgm:hierBranch> is missing in the current presentation // point, ask the parent. - OUString aParent = navigate(mrLayoutNode, XML_presParOf, pPresPoint->msModelId, + OUString aParent = navigate(mrLayoutNode, svx::diagram::TypeConstant::XML_presParOf, pPresPoint->msModelId, /*bSourceToDestination*/ false); DiagramData::PointNameMap& rPointNameMap = mrLayoutNode.getDiagram().getData()->getPointNameMap(); auto it = rPointNameMap.find(aParent); if (it != rPointNameMap.end()) { - const dgm::Point* pParent = it->second; - if (pParent->moHierarchyBranch.has()) - nHierarchyBranch = pParent->moHierarchyBranch.get(); + const svx::diagram::Point* pParent = it->second; + if (pParent->moHierarchyBranch.has_value()) + nHierarchyBranch = pParent->moHierarchyBranch.value(); } } return compareResult(maCond.mnOp, nHierarchyBranch, maCond.mnVal); @@ -1080,7 +1080,7 @@ bool HasCustomText(const ShapePtr& rShape, LayoutNode& rLayoutNode) const DiagramData::PointNameMap& rPointNameMap = rLayoutNode.getDiagram().getData()->getPointNameMap(); // Get the first presentation node of the shape. - const dgm::Point* pPresNode = nullptr; + const svx::diagram::Point* pPresNode = nullptr; for (const auto& rPair : rPresPointShapeMap) { if (rPair.second == rShape) @@ -1090,7 +1090,7 @@ bool HasCustomText(const ShapePtr& rShape, LayoutNode& rLayoutNode) } } // Get the first data node of the presentation node. - dgm::Point* pDataNode = nullptr; + svx::diagram::Point* pDataNode = nullptr; if (pPresNode) { auto itPresToData = rPresOfNameMap.find(pPresNode->msModelId); @@ -1866,7 +1866,7 @@ void LayoutNode::accept( LayoutAtomVisitor& rVisitor ) rVisitor.visit(*this); } -bool LayoutNode::setupShape( const ShapePtr& rShape, const dgm::Point* pPresNode, sal_Int32 nCurrIdx ) const +bool LayoutNode::setupShape( const ShapePtr& rShape, const svx::diagram::Point* pPresNode, sal_Int32 nCurrIdx ) const { SAL_INFO( "oox.drawingml", @@ -1905,7 +1905,7 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const dgm::Point* pPresNode continue; } - rShape->setDataNodeType(aDataNode2->second->mnType); + rShape->setDataNodeType(aDataNode2->second->mnXMLType); if (rItem.mnDepth == 0) { diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.hxx b/oox/source/drawingml/diagram/diagramlayoutatoms.hxx index 0e7d4aec2169..cf80789230d8 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.hxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.hxx @@ -276,11 +276,11 @@ class ConditionAtom public: explicit ConditionAtom(LayoutNode& rLayoutNode, bool isElse, const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttributes); virtual void accept( LayoutAtomVisitor& ) override; - bool getDecision(const dgm::Point* pPresPoint) const; + bool getDecision(const svx::diagram::Point* pPresPoint) const; private: static bool compareResult(sal_Int32 nOperator, sal_Int32 nFirst, sal_Int32 nSecond); - sal_Int32 getNodeCount(const dgm::Point* pPresPoint) const; + sal_Int32 getNodeCount(const svx::diagram::Point* pPresPoint) const; bool mIsElse; IteratorAttr maIter; @@ -333,7 +333,7 @@ public: { mpNodeShapes.push_back(pShape); } bool setupShape( const ShapePtr& rShape, - const dgm::Point* pPresNode, + const svx::diagram::Point* pPresNode, sal_Int32 nCurrIdx ) const; const LayoutNode* getParentLayoutNode() const; diff --git a/oox/source/drawingml/diagram/layoutatomvisitorbase.cxx b/oox/source/drawingml/diagram/layoutatomvisitorbase.cxx index 9b7ddaf8c0c7..b7f5a59630f9 100644 --- a/oox/source/drawingml/diagram/layoutatomvisitorbase.cxx +++ b/oox/source/drawingml/diagram/layoutatomvisitorbase.cxx @@ -116,7 +116,7 @@ void LayoutAtomVisitorBase::visit(LayoutNode& rAtom) || mnCurrIdx >= static_cast<sal_Int32>(aDataNode->second.size())) return; - const dgm::Point* pNewNode = aDataNode->second.at(mnCurrIdx); + const svx::diagram::Point* pNewNode = aDataNode->second.at(mnCurrIdx); if (!mpCurrentNode || !pNewNode) return; @@ -129,7 +129,7 @@ void LayoutAtomVisitorBase::visit(LayoutNode& rAtom) if (!bIsChild) return; - const dgm::Point* pPreviousNode = mpCurrentNode; + const svx::diagram::Point* pPreviousNode = mpCurrentNode; mpCurrentNode = pNewNode; defaultVisit(rAtom); diff --git a/oox/source/drawingml/diagram/layoutatomvisitorbase.hxx b/oox/source/drawingml/diagram/layoutatomvisitorbase.hxx index 0f97c578cfc2..49c83f67455d 100644 --- a/oox/source/drawingml/diagram/layoutatomvisitorbase.hxx +++ b/oox/source/drawingml/diagram/layoutatomvisitorbase.hxx @@ -43,7 +43,7 @@ struct LayoutAtomVisitor class LayoutAtomVisitorBase : public LayoutAtomVisitor { public: - LayoutAtomVisitorBase(const Diagram& rDgm, const dgm::Point* pRootPoint) : + LayoutAtomVisitorBase(const Diagram& rDgm, const svx::diagram::Point* pRootPoint) : mrDgm(rDgm), mpCurrentNode(pRootPoint), mnCurrIdx(0), @@ -62,7 +62,7 @@ public: protected: const Diagram& mrDgm; - const dgm::Point* mpCurrentNode; + const svx::diagram::Point* mpCurrentNode; sal_Int32 mnCurrIdx; sal_Int32 mnCurrStep; sal_Int32 mnCurrCnt; @@ -72,7 +72,7 @@ protected: class ShallowPresNameVisitor : public LayoutAtomVisitorBase { public: - explicit ShallowPresNameVisitor(const Diagram& rDgm, const dgm::Point* pRootPoint) : + explicit ShallowPresNameVisitor(const Diagram& rDgm, const svx::diagram::Point* pRootPoint) : LayoutAtomVisitorBase(rDgm, pRootPoint), mnCnt(0) {} diff --git a/oox/source/drawingml/diagram/layoutatomvisitors.cxx b/oox/source/drawingml/diagram/layoutatomvisitors.cxx index 11ead81a6bb7..927c869a9c38 100644 --- a/oox/source/drawingml/diagram/layoutatomvisitors.cxx +++ b/oox/source/drawingml/diagram/layoutatomvisitors.cxx @@ -62,7 +62,7 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom) || mnCurrIdx >= static_cast<sal_Int32>(aDataNode->second.size())) return; - const dgm::Point* pNewNode = aDataNode->second.at(mnCurrIdx); + const svx::diagram::Point* pNewNode = aDataNode->second.at(mnCurrIdx); if (!mpCurrentNode || !pNewNode) return; @@ -117,7 +117,7 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom) } } - const dgm::Point* pPreviousNode = mpCurrentNode; + const svx::diagram::Point* pPreviousNode = mpCurrentNode; mpCurrentNode = pNewNode; // set new parent for children @@ -222,7 +222,7 @@ void ShapeLayoutingVisitor::visit(LayoutNode& rAtom) || mnCurrIdx >= static_cast<sal_Int32>(aDataNode->second.size())) return; - const dgm::Point* pNewNode = aDataNode->second.at(mnCurrIdx); + const svx::diagram::Point* pNewNode = aDataNode->second.at(mnCurrIdx); if (!mpCurrentNode || !pNewNode) return; @@ -237,7 +237,7 @@ void ShapeLayoutingVisitor::visit(LayoutNode& rAtom) size_t nParentConstraintsNumber = maConstraints.size(); - const dgm::Point* pPreviousNode = mpCurrentNode; + const svx::diagram::Point* pPreviousNode = mpCurrentNode; mpCurrentNode = pNewNode; // process alg atoms first, nested layout nodes afterwards diff --git a/oox/source/drawingml/diagram/layoutatomvisitors.hxx b/oox/source/drawingml/diagram/layoutatomvisitors.hxx index b8c060b0dc36..c04fb1d973ec 100644 --- a/oox/source/drawingml/diagram/layoutatomvisitors.hxx +++ b/oox/source/drawingml/diagram/layoutatomvisitors.hxx @@ -31,7 +31,7 @@ class ShapeCreationVisitor : public LayoutAtomVisitorBase { public: ShapeCreationVisitor(const Diagram& rDgm, - const dgm::Point* pRootPoint, + const svx::diagram::Point* pRootPoint, const ShapePtr& rParentShape) : LayoutAtomVisitorBase(rDgm, pRootPoint), mpParentShape(rParentShape) @@ -51,7 +51,7 @@ private: class ShapeTemplateVisitor : public LayoutAtomVisitorBase { public: - ShapeTemplateVisitor(const Diagram& rDgm, const dgm::Point* pRootPoint) + ShapeTemplateVisitor(const Diagram& rDgm, const svx::diagram::Point* pRootPoint) : LayoutAtomVisitorBase(rDgm, pRootPoint) {} @@ -73,7 +73,7 @@ private: class ShapeLayoutingVisitor : public LayoutAtomVisitorBase { public: - ShapeLayoutingVisitor(const Diagram& rDgm, const dgm::Point* pRootPoint) : + ShapeLayoutingVisitor(const Diagram& rDgm, const svx::diagram::Point* pRootPoint) : LayoutAtomVisitorBase(rDgm, pRootPoint) {} diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index 2749c694b9a5..08ed93138cab 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -5949,6 +5949,7 @@ include/svx/sdgmoitm.hxx include/svx/sdmetitm.hxx include/svx/sdooitm.hxx include/svx/sdprcitm.hxx +include/svx/diagram/datamodel.hxx include/svx/sdr/animation/animationstate.hxx include/svx/sdr/animation/objectanimator.hxx include/svx/sdr/animation/scheduler.hxx @@ -11512,6 +11513,7 @@ svx/source/customshapes/EnhancedCustomShapeGeometry.cxx svx/source/customshapes/EnhancedCustomShapeHandle.cxx svx/source/customshapes/EnhancedCustomShapeHandle.hxx svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx +svx/source/diagram/datamodel.cxx svx/source/dialog/ClassificationDialog.cxx svx/source/dialog/ClassificationEditView.cxx svx/source/dialog/ClassificationEditView.hxx diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk index b386f72ef15c..4102c1ddc96e 100644 --- a/svx/Library_svxcore.mk +++ b/svx/Library_svxcore.mk @@ -110,6 +110,7 @@ $(eval $(call gb_Library_add_exception_objects,svxcore,\ svx/source/customshapes/EnhancedCustomShapeFunctionParser \ svx/source/customshapes/EnhancedCustomShapeGeometry \ svx/source/customshapes/EnhancedCustomShapeTypeNames \ + svx/source/diagram/datamodel \ svx/source/dialog/dialmgr \ svx/source/dialog/dlgutil \ svx/source/dialog/hexcolorcontrol \ diff --git a/svx/source/diagram/datamodel.cxx b/svx/source/diagram/datamodel.cxx new file mode 100644 index 000000000000..4396ef90ba1f --- /dev/null +++ b/svx/source/diagram/datamodel.cxx @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include <svx/diagram/datamodel.hxx> +#include <sal/log.hxx> + +namespace svx::diagram { + +Connection::Connection() +: mnXMLType( XML_none ) +, mnSourceOrder( 0 ) +, mnDestOrder( 0 ) +{} + +Point::Point() +: mnXMLType(XML_none) +, mnMaxChildren(-1) +, mnPreferredChildren(-1) +, mnDirection(XML_norm) +, mnResizeHandles(XML_rel) +, mnCustomAngle(-1) +, mnPercentageNeighbourWidth(-1) +, mnPercentageNeighbourHeight(-1) +, mnPercentageOwnWidth(-1) +, mnPercentageOwnHeight(-1) +, mnIncludeAngleScale(-1) +, mnRadiusScale(-1) +, mnWidthScale(-1) +, mnHeightScale(-1) +, mnWidthOverride(-1) +, mnHeightOverride(-1) +, mnLayoutStyleCount(-1) +, mnLayoutStyleIndex(-1) +, mbOrgChartEnabled(false) +, mbBulletEnabled(false) +, mbCoherent3DOffset(false) +, mbCustomHorizontalFlip(false) +, mbCustomVerticalFlip(false) +, mbCustomText(false) +, mbIsPlaceholder(false) +{} + +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |