chart2/source/inc/ChartStyle.hxx | 14 ++++- chart2/source/model/main/ChartModel.cxx | 2 chart2/source/tools/ChartStyle.cxx | 77 +++++++++++++++++++++++++++++ offapi/com/sun/star/chart2/XChartStyle.idl | 7 ++ 4 files changed, 99 insertions(+), 1 deletion(-)
New commits: commit 77792f9c9c0b92182a0855fae9dcf9274efa0730 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> AuthorDate: Fri Aug 16 23:13:30 2019 +0800 Commit: Markus Mohrhard <markus.mohrh...@googlemail.com> CommitDate: Fri Aug 16 23:13:30 2019 +0800 format file Change-Id: I42c0069b63ced24eee99d43a7319cc50fd629e30 diff --git a/chart2/source/inc/ChartStyle.hxx b/chart2/source/inc/ChartStyle.hxx index fc1f06270f90..54cbc5fe243b 100644 --- a/chart2/source/inc/ChartStyle.hxx +++ b/chart2/source/inc/ChartStyle.hxx @@ -101,8 +101,8 @@ public: virtual void SAL_CALL applyStyleToTitle(const css::uno::Reference<css::chart2::XTitle>& xTitle) override; - virtual void SAL_CALL - applyStyleToBackground(const css::uno::Reference<css::beans::XPropertySet>& xBackground) override; + virtual void SAL_CALL applyStyleToBackground( + const css::uno::Reference<css::beans::XPropertySet>& xBackground) override; // XStyle virtual sal_Bool SAL_CALL isUserDefined() override; @@ -124,7 +124,8 @@ private: void applyStyleToAxis(const css::uno::Reference<css::chart2::XAxis>& xAxis); - void applyStyleToCoordinates(const css::uno::Reference<css::chart2::XCoordinateSystemContainer>& xCooSysCont); + void applyStyleToCoordinates( + const css::uno::Reference<css::chart2::XCoordinateSystemContainer>& xCooSysCont); }; OOO_DLLPUBLIC_CHARTTOOLS css::uno::Reference<css::container::XNameContainer> getChartStyles(); commit 2e31f4ab53b77ebbb0932ced6cafe8e2c8af49a2 Author: Gagandeep Singh <deepgagan231...@gmail.com> AuthorDate: Tue Aug 13 15:28:38 2019 +0530 Commit: Markus Mohrhard <markus.mohrh...@googlemail.com> CommitDate: Fri Aug 16 19:40:46 2019 +0800 Add more methods to XChartStyle.idl for applying styles to title, axis,.. Change-Id: I6ce9b3da584671636830122ef9ac9f6b9f54d132 diff --git a/chart2/source/inc/ChartStyle.hxx b/chart2/source/inc/ChartStyle.hxx index c82611ee163c..fc1f06270f90 100644 --- a/chart2/source/inc/ChartStyle.hxx +++ b/chart2/source/inc/ChartStyle.hxx @@ -24,6 +24,7 @@ #include <comphelper/uno3.hxx> #include <cppuhelper/propshlp.hxx> #include <com/sun/star/chart2/XChartStyle.hpp> +#include <com/sun/star/chart2/XCoordinateSystemContainer.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/style/XStyle.hpp> #include <com/sun/star/container/XNameContainer.hpp> @@ -95,7 +96,13 @@ public: SAL_CALL getStyleForObject(const sal_Int16 nChartObjectType) override; virtual void SAL_CALL - applyStyleToDiagram(const css::uno::Reference<css::chart2::XDiagram>& xDiagram); + applyStyleToDiagram(const css::uno::Reference<css::chart2::XDiagram>& xDiagram) override; + + virtual void SAL_CALL + applyStyleToTitle(const css::uno::Reference<css::chart2::XTitle>& xTitle) override; + + virtual void SAL_CALL + applyStyleToBackground(const css::uno::Reference<css::beans::XPropertySet>& xBackground) override; // XStyle virtual sal_Bool SAL_CALL isUserDefined() override; @@ -114,6 +121,10 @@ private: std::map<sal_Int16, css::uno::Reference<css::beans::XPropertySet>> m_xChartStyle; void register_styles(); + + void applyStyleToAxis(const css::uno::Reference<css::chart2::XAxis>& xAxis); + + void applyStyleToCoordinates(const css::uno::Reference<css::chart2::XCoordinateSystemContainer>& xCooSysCont); }; OOO_DLLPUBLIC_CHARTTOOLS css::uno::Reference<css::container::XNameContainer> getChartStyles(); diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx index 7c500abd4a07..4cda0d5882fc 100644 --- a/chart2/source/model/main/ChartModel.cxx +++ b/chart2/source/model/main/ChartModel.cxx @@ -935,6 +935,8 @@ void SAL_CALL ChartModel::setTitleObject( const uno::Reference< chart2::XTitle > ModifyListenerHelper::addListener( m_xTitle, this ); } setModified( true ); + + m_xChartStyle->applyStyleToTitle( xTitle ); } // _____ XChartStyled _____ diff --git a/chart2/source/tools/ChartStyle.cxx b/chart2/source/tools/ChartStyle.cxx index cb172fa30be7..2847b3db7f7d 100644 --- a/chart2/source/tools/ChartStyle.cxx +++ b/chart2/source/tools/ChartStyle.cxx @@ -21,6 +21,7 @@ #include <com/sun/star/chart2/ChartObjectType.hpp> #include <com/sun/star/drawing/FillStyle.hpp> #include <com/sun/star/drawing/LineStyle.hpp> +#include <com/sun/star/chart2/XCoordinateSystemContainer.hpp> #include <cppuhelper/supportsservice.hxx> #include <rtl/instance.hxx> #include <vector> @@ -187,6 +188,56 @@ css::uno::Sequence<OUString> SAL_CALL ChartStyle::getSupportedServiceNames() return { "com.sun.star.chart2.ChartStyle" }; } +void SAL_CALL ChartStyle::applyStyleToTitle(const css::uno::Reference<css::chart2::XTitle>& xTitle) +{ + css::uno::Reference<css::style::XStyleSupplier> xTitleStyle(xTitle, css::uno::UNO_QUERY); + if (xTitleStyle.is()) + { + xTitleStyle->setStyle(css::uno::Reference<css::style::XStyle>( + m_xChartStyle.find(css::chart2::ChartObjectType::TITLE)->second, + css::uno::UNO_QUERY_THROW)); + } +} + +void ChartStyle::applyStyleToAxis(const css::uno::Reference<css::chart2::XAxis>& xAxis) +{ + css::uno::Reference<css::style::XStyleSupplier> xAxisStyle(xAxis, css::uno::UNO_QUERY); + if (xAxisStyle.is()) + { + xAxisStyle->setStyle(css::uno::Reference<css::style::XStyle>( + m_xChartStyle.find(css::chart2::ChartObjectType::AXIS)->second, + css::uno::UNO_QUERY_THROW)); + } + + css::uno::Reference<css::chart2::XTitled> xTitled(xAxis, css::uno::UNO_QUERY); + if (xTitled.is()) + { + css::uno::Reference<css::chart2::XTitle> xTitle = xTitled->getTitleObject(); + if (xTitle.is()) + applyStyleToTitle(xTitle); + } +} + +void ChartStyle::applyStyleToCoordinates( + const css::uno::Reference<css::chart2::XCoordinateSystemContainer>& xCooSysCont) +{ + css::uno::Sequence<css::uno::Reference<css::chart2::XCoordinateSystem>> aCooSysSeq( + xCooSysCont->getCoordinateSystems()); + + for (sal_Int32 nCooSysIdx = 0; nCooSysIdx < aCooSysSeq.getLength(); ++nCooSysIdx) + { + css::uno::Reference<css::chart2::XCoordinateSystem> xCooSys(aCooSysSeq[nCooSysIdx], + css::uno::UNO_QUERY); + sal_Int16 nDimCount = xCooSys->getDimension(); + for (sal_Int16 nDimIdx = 0; nDimIdx <= nDimCount; nDimIdx++) + { + applyStyleToAxis(xCooSys->getAxisByDimension(nDimIdx, 0)); + if (xCooSys->getMaximumAxisIndexByDimension(nDimIdx)) + applyStyleToAxis(xCooSys->getAxisByDimension(nDimIdx, 1)); + } + } +} + void SAL_CALL ChartStyle::applyStyleToDiagram(const css::uno::Reference<css::chart2::XDiagram>& xDiagram) { @@ -207,6 +258,32 @@ ChartStyle::applyStyleToDiagram(const css::uno::Reference<css::chart2::XDiagram> m_xChartStyle.find(css::chart2::ChartObjectType::WALL)->second, css::uno::UNO_QUERY_THROW)); } + + css::uno::Reference<css::chart2::XTitled> xTitled(xDiagram, css::uno::UNO_QUERY); + if (xTitled.is()) + { + css::uno::Reference<css::chart2::XTitle> xTitle = xTitled->getTitleObject(); + if (xTitle.is()) + applyStyleToTitle(xTitle); + } + + css::uno::Reference<css::chart2::XCoordinateSystemContainer> xCooSysCont(xDiagram, + css::uno::UNO_QUERY); + if (xCooSysCont.is()) + applyStyleToCoordinates(xCooSysCont); +} + +void SAL_CALL +ChartStyle::applyStyleToBackground(const css::uno::Reference<css::beans::XPropertySet>& xBackground) +{ + css::uno::Reference<css::style::XStyleSupplier> xBackgroundStyle(xBackground, + css::uno::UNO_QUERY); + if (xBackgroundStyle.is()) + { + xBackgroundStyle->setStyle(css::uno::Reference<css::style::XStyle>( + m_xChartStyle.find(css::chart2::ChartObjectType::PAGE)->second, + css::uno::UNO_QUERY_THROW)); + } } sal_Bool ChartStyle::isUserDefined() { return false; } diff --git a/offapi/com/sun/star/chart2/XChartStyle.idl b/offapi/com/sun/star/chart2/XChartStyle.idl index 3293f94f130a..754a368206df 100644 --- a/offapi/com/sun/star/chart2/XChartStyle.idl +++ b/offapi/com/sun/star/chart2/XChartStyle.idl @@ -14,6 +14,9 @@ #include <com/sun/star/beans/XPropertySet.idl> #include <com/sun/star/chart2/ChartObjectType.idl> #include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/XTitle.idl> +#include <com/sun/star/chart2/XAxis.idl> +#include <com/sun/star/chart2/XCoordinateSystemContainer.hpp> module com { module sun { module star { module chart2 { @@ -22,6 +25,10 @@ interface XChartStyle : ::com::sun::star::uno::XInterface com::sun::star::beans::XPropertySet getStyleForObject([in] short chartObjectType); void applyStyleToDiagram([in] XDiagram chartDiagram); + + void applyStyleToTitle([in] XTitle chartTitle); + + void applyStyleToBackground([in] com::sun::star::beans::XPropertySet chartBackground); }; }; }; }; }; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits