diff options
author | Kurt Nordback <kurt.nordback@protonmail.com> | 2023-08-18 12:34:07 -0600 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-02-02 06:03:23 +0100 |
commit | 6c45285e860a6b2dd7dd1aa6c8b7b9bb02134dd0 (patch) | |
tree | 93832f6461d3857b74124f0d70146816799151ef /chart2/source/model/template | |
parent | Update git submodules (diff) | |
download | core-6c45285e860a6b2dd7dd1aa6c8b7b9bb02134dd0.tar.gz core-6c45285e860a6b2dd7dd1aa6c8b7b9bb02134dd0.zip |
tdf#50934: Initial plumbing and infrastructure
Change-Id: I355bdc8e6d67e7cdd47e4d6eccecedc4b53ac11b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155851
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'chart2/source/model/template')
4 files changed, 58 insertions, 12 deletions
diff --git a/chart2/source/model/template/ChartTypeManager.cxx b/chart2/source/model/template/ChartTypeManager.cxx index bc6c2fb75ac4..accf2078c2a6 100644 --- a/chart2/source/model/template/ChartTypeManager.cxx +++ b/chart2/source/model/template/ChartTypeManager.cxx @@ -89,6 +89,8 @@ enum TemplateId TEMPLATE_PIEALLEXPLODED, TEMPLATE_DONUT, TEMPLATE_DONUTALLEXPLODED, + TEMPLATE_BAROFPIE, + TEMPLATE_PIEOFPIE, TEMPLATE_THREEDPIE, TEMPLATE_THREEDPIEALLEXPLODED, TEMPLATE_THREEDDONUT, @@ -163,6 +165,9 @@ const tTemplateMapType & lcl_DefaultChartTypeMap() {"com.sun.star.chart2.template.PieAllExploded", TEMPLATE_PIEALLEXPLODED}, {"com.sun.star.chart2.template.Donut", TEMPLATE_DONUT}, {"com.sun.star.chart2.template.DonutAllExploded", TEMPLATE_DONUTALLEXPLODED}, + {"com.sun.star.chart2.template.BarOfPie", TEMPLATE_BAROFPIE}, + {"com.sun.star.chart2.template.PieOfPie", TEMPLATE_PIEOFPIE}, + {"com.sun.star.chart2.template.DonutAllExploded", TEMPLATE_DONUTALLEXPLODED}, {"com.sun.star.chart2.template.ThreeDPie", TEMPLATE_THREEDPIE}, {"com.sun.star.chart2.template.ThreeDPieAllExploded", TEMPLATE_THREEDPIEALLEXPLODED}, {"com.sun.star.chart2.template.ThreeDDonut", TEMPLATE_THREEDDONUT}, @@ -382,35 +387,49 @@ rtl::Reference< ::chart::ChartTypeTemplate > ChartTypeManager::createTemplate( case TEMPLATE_PIE: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_NONE, false )); + chart2::PieChartOffsetMode_NONE, false, chart2::PieChartSubType_NONE )); break; case TEMPLATE_PIEALLEXPLODED: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_ALL_EXPLODED, false )); + chart2::PieChartOffsetMode_ALL_EXPLODED, false, + chart2::PieChartSubType_NONE )); break; case TEMPLATE_DONUT: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_NONE, true )); + chart2::PieChartOffsetMode_NONE, true, chart2::PieChartSubType_NONE )); break; case TEMPLATE_DONUTALLEXPLODED: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_ALL_EXPLODED, true )); + chart2::PieChartOffsetMode_ALL_EXPLODED, true, + chart2::PieChartSubType_NONE )); + break; + case TEMPLATE_BAROFPIE: + xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, + chart2::PieChartOffsetMode_ALL_EXPLODED, true, + chart2::PieChartSubType_BAR )); + break; + case TEMPLATE_PIEOFPIE: + xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, + chart2::PieChartOffsetMode_ALL_EXPLODED, true, + chart2::PieChartSubType_PIE )); break; case TEMPLATE_THREEDPIE: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_NONE, false, 3 )); + chart2::PieChartOffsetMode_NONE, false, chart2::PieChartSubType_NONE, 3 )); break; case TEMPLATE_THREEDPIEALLEXPLODED: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_ALL_EXPLODED, false, 3 )); + chart2::PieChartOffsetMode_ALL_EXPLODED, false, + chart2::PieChartSubType_NONE, 3 )); break; case TEMPLATE_THREEDDONUT: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_NONE, true, 3 )); + chart2::PieChartOffsetMode_NONE, true, chart2::PieChartSubType_NONE, 3 )); break; case TEMPLATE_THREEDDONUTALLEXPLODED: xTemplate.set( new PieChartTypeTemplate( m_xContext, aServiceSpecifier, - chart2::PieChartOffsetMode_ALL_EXPLODED, true, 3 )); + chart2::PieChartOffsetMode_ALL_EXPLODED, true, + chart2::PieChartSubType_NONE, 3 )); break; case TEMPLATE_SCATTERLINESYMBOL: diff --git a/chart2/source/model/template/PieChartType.cxx b/chart2/source/model/template/PieChartType.cxx index dc45c24b1af4..a835f6357f6c 100644 --- a/chart2/source/model/template/PieChartType.cxx +++ b/chart2/source/model/template/PieChartType.cxx @@ -27,6 +27,7 @@ #include <cppuhelper/supportsservice.hxx> #include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/chart2/AxisType.hpp> +#include <com/sun/star/chart2/PieChartSubType.hpp> using namespace ::com::sun::star; @@ -45,6 +46,7 @@ namespace ::chart::tPropertyValueMap aOutMap; ::chart::PropertyHelper::setPropertyValueDefault( aOutMap, ::chart::PROP_PIECHARTTYPE_USE_RINGS, false ); ::chart::PropertyHelper::setPropertyValueDefault< sal_Int32 >( aOutMap, ::chart::PROP_PIECHARTTYPE_3DRELATIVEHEIGHT, 100 ); + ::chart::PropertyHelper::setPropertyValueDefault( aOutMap, ::chart::PROP_PIECHARTTYPE_SUBTYPE, chart2::PieChartSubType_NONE ); return aOutMap; }(); return aStaticDefaults; @@ -64,7 +66,11 @@ namespace { "3DRelativeHeight", ::chart::PROP_PIECHARTTYPE_3DRELATIVEHEIGHT, cppu::UnoType<sal_Int32>::get(), - beans::PropertyAttribute::MAYBEVOID } + beans::PropertyAttribute::MAYBEVOID }, + { "SubPieType", + ::chart::PROP_PIECHARTTYPE_SUBTYPE, + cppu::UnoType<chart2::PieChartSubType>::get(), + beans::PropertyAttribute::MAYBEDEFAULT } }; std::sort( aProperties.begin(), aProperties.end(), ::chart::PropertyNameLess() ); diff --git a/chart2/source/model/template/PieChartTypeTemplate.cxx b/chart2/source/model/template/PieChartTypeTemplate.cxx index 07e150bf64d3..2f8c7fb7705f 100644 --- a/chart2/source/model/template/PieChartTypeTemplate.cxx +++ b/chart2/source/model/template/PieChartTypeTemplate.cxx @@ -56,7 +56,8 @@ enum PROP_PIE_TEMPLATE_DEFAULT_OFFSET, PROP_PIE_TEMPLATE_OFFSET_MODE, PROP_PIE_TEMPLATE_DIMENSION, - PROP_PIE_TEMPLATE_USE_RINGS + PROP_PIE_TEMPLATE_USE_RINGS, + PROP_PIE_TEMPLATE_SUB_PIE_TYPE }; ::chart::tPropertyValueMap& StaticPieChartTypeTemplateDefaults() @@ -68,6 +69,7 @@ enum ::chart::PropertyHelper::setPropertyValueDefault< double >( aOutMap, PROP_PIE_TEMPLATE_DEFAULT_OFFSET, 0.5 ); ::chart::PropertyHelper::setPropertyValueDefault< sal_Int32 >( aOutMap, PROP_PIE_TEMPLATE_DIMENSION, 2 ); ::chart::PropertyHelper::setPropertyValueDefault( aOutMap, PROP_PIE_TEMPLATE_USE_RINGS, false ); + ::chart::PropertyHelper::setPropertyValueDefault( aOutMap, PROP_PIE_TEMPLATE_SUB_PIE_TYPE, chart2::PieChartSubType_NONE ); return aOutMap; }(); return aStaticDefaults; @@ -98,7 +100,14 @@ enum PROP_PIE_TEMPLATE_USE_RINGS, cppu::UnoType<bool>::get(), beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::MAYBEDEFAULT } }; + | beans::PropertyAttribute::MAYBEDEFAULT } + , + { "SubPieType", + PROP_PIE_TEMPLATE_SUB_PIE_TYPE, + cppu::UnoType<chart2::PieChartSubType>::get(), + beans::PropertyAttribute::BOUND + | beans::PropertyAttribute::MAYBEDEFAULT } + }; std::sort( aProperties.begin(), aProperties.end(), ::chart::PropertyNameLess() ); @@ -125,13 +134,15 @@ PieChartTypeTemplate::PieChartTypeTemplate( uno::XComponentContext > const & xContext, const OUString & rServiceName, chart2::PieChartOffsetMode eMode, - bool bRings /* = false */, + bool bRings, + chart2::PieChartSubType eSubType, sal_Int32 nDim /* = 2 */ ) : ChartTypeTemplate( xContext, rServiceName ) { setFastPropertyValue_NoBroadcast( PROP_PIE_TEMPLATE_OFFSET_MODE, uno::Any( eMode )); setFastPropertyValue_NoBroadcast( PROP_PIE_TEMPLATE_DIMENSION, uno::Any( nDim )); setFastPropertyValue_NoBroadcast( PROP_PIE_TEMPLATE_USE_RINGS, uno::Any( bRings )); + setFastPropertyValue_NoBroadcast( PROP_PIE_TEMPLATE_SUB_PIE_TYPE, uno::Any( eSubType )); } PieChartTypeTemplate::~PieChartTypeTemplate() @@ -283,6 +294,10 @@ bool PieChartTypeTemplate::matchesTemplate2( getFastPropertyValue( PROP_PIE_TEMPLATE_USE_RINGS ) >>= bTemplateUsesRings; chart2::PieChartOffsetMode ePieOffsetMode; getFastPropertyValue( PROP_PIE_TEMPLATE_OFFSET_MODE ) >>= ePieOffsetMode; + /* + chart2::PieChartSubType ePieSubType; + getFastPropertyValue( PROP_PIE_TEMPLATE_SUB_PIE_TYPE ) >>= ePieSubType; + */ //check offset-mode if( bResult ) @@ -370,6 +385,8 @@ rtl::Reference< ChartType > PieChartTypeTemplate::getChartTypeForIndex( sal_Int3 xResult = new PieChartType(); xResult->setFastPropertyValue( PROP_PIECHARTTYPE_USE_RINGS, getFastPropertyValue( PROP_PIE_TEMPLATE_USE_RINGS )); // "UseRings" + xResult->setFastPropertyValue( + PROP_PIECHARTTYPE_SUBTYPE, getFastPropertyValue( PROP_PIE_TEMPLATE_SUB_PIE_TYPE )); } catch( const uno::Exception & ) { @@ -390,6 +407,8 @@ rtl::Reference< ChartType > PieChartTypeTemplate::getChartTypeForNewSeries2( ChartTypeTemplate::copyPropertiesFromOldToNewCoordinateSystem( aFormerlyUsedChartTypes, xResult ); xResult->setFastPropertyValue( PROP_PIECHARTTYPE_USE_RINGS, getFastPropertyValue( PROP_PIE_TEMPLATE_USE_RINGS )); // "UseRings" + xResult->setFastPropertyValue( + PROP_PIECHARTTYPE_SUBTYPE, getFastPropertyValue( PROP_PIE_TEMPLATE_SUB_PIE_TYPE )); } catch( const uno::Exception & ) { diff --git a/chart2/source/model/template/PieChartTypeTemplate.hxx b/chart2/source/model/template/PieChartTypeTemplate.hxx index a92cfbfd0f14..b603392e7009 100644 --- a/chart2/source/model/template/PieChartTypeTemplate.hxx +++ b/chart2/source/model/template/PieChartTypeTemplate.hxx @@ -23,6 +23,7 @@ #include <ChartTypeTemplate.hxx> #include <com/sun/star/chart2/PieChartOffsetMode.hpp> +#include <com/sun/star/chart2/PieChartSubType.hpp> namespace chart { @@ -37,6 +38,7 @@ public: const OUString & rServiceName, css::chart2::PieChartOffsetMode eMode, bool bRings, + css::chart2::PieChartSubType eSubType, sal_Int32 nDim = 2 ); virtual ~PieChartTypeTemplate() override; |