47#include <unonames.hxx>
53#include <com/sun/star/beans/PropertyAttribute.hpp>
54#include <com/sun/star/chart/ChartDataRowSource.hpp>
55#include <com/sun/star/chart2/RelativeSize.hpp>
56#include <com/sun/star/chart2/RelativePosition.hpp>
57#include <com/sun/star/chart/ChartSolidType.hpp>
58#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
67#include <com/sun/star/lang/XServiceName.hpp>
68#include <com/sun/star/util/XRefreshable.hpp>
77using ::com::sun::star::uno::Reference;
78using ::com::sun::star::uno::Any;
79using ::com::sun::star::uno::Sequence;
80using ::com::sun::star::beans::Property;
81using ::com::sun::star::chart::XAxis;
88 PROP_DIAGRAM_ATTRIBUTED_DATA_POINTS,
89 PROP_DIAGRAM_PERCENT_STACKED,
92 PROP_DIAGRAM_SOLIDTYPE,
94 PROP_DIAGRAM_VERTICAL,
95 PROP_DIAGRAM_NUMBER_OF_LINES,
96 PROP_DIAGRAM_STACKED_BARS_CONNECTED,
97 PROP_DIAGRAM_DATAROW_SOURCE,
99 PROP_DIAGRAM_GROUP_BARS_PER_AXIS,
100 PROP_DIAGRAM_INCLUDE_HIDDEN_CELLS,
102 PROP_DIAGRAM_SORT_BY_X_VALUES,
104 PROP_DIAGRAM_STARTING_ANGLE,
106 PROP_DIAGRAM_RIGHT_ANGLED_AXES,
107 PROP_DIAGRAM_PERSPECTIVE,
108 PROP_DIAGRAM_ROTATION_HORIZONTAL,
109 PROP_DIAGRAM_ROTATION_VERTICAL,
111 PROP_DIAGRAM_MISSING_VALUE_TREATMENT,
113 PROP_DIAGRAM_HAS_X_AXIS,
114 PROP_DIAGRAM_HAS_X_AXIS_DESCR,
115 PROP_DIAGRAM_HAS_X_AXIS_TITLE,
116 PROP_DIAGRAM_HAS_X_AXIS_GRID,
117 PROP_DIAGRAM_HAS_X_AXIS_HELP_GRID,
119 PROP_DIAGRAM_HAS_Y_AXIS,
120 PROP_DIAGRAM_HAS_Y_AXIS_DESCR,
121 PROP_DIAGRAM_HAS_Y_AXIS_TITLE,
122 PROP_DIAGRAM_HAS_Y_AXIS_GRID,
123 PROP_DIAGRAM_HAS_Y_AXIS_HELP_GRID,
125 PROP_DIAGRAM_HAS_Z_AXIS,
126 PROP_DIAGRAM_HAS_Z_AXIS_DESCR,
127 PROP_DIAGRAM_HAS_Z_AXIS_TITLE,
128 PROP_DIAGRAM_HAS_Z_AXIS_GRID,
129 PROP_DIAGRAM_HAS_Z_AXIS_HELP_GRID,
131 PROP_DIAGRAM_HAS_SECOND_X_AXIS,
132 PROP_DIAGRAM_HAS_SECOND_X_AXIS_DESCR,
134 PROP_DIAGRAM_HAS_SECOND_Y_AXIS,
135 PROP_DIAGRAM_HAS_SECOND_Y_AXIS_DESCR,
137 PROP_DIAGRAM_HAS_SECOND_X_AXIS_TITLE,
138 PROP_DIAGRAM_HAS_SECOND_Y_AXIS_TITLE,
140 PROP_DIAGRAM_AUTOMATIC_SIZE,
141 PROP_DIAGRAM_EXTERNALDATA
144void lcl_AddPropertiesToVector(
145 std::vector< Property > & rOutProperties )
147 rOutProperties.emplace_back(
"AttributedDataPoints",
148 PROP_DIAGRAM_ATTRIBUTED_DATA_POINTS,
149 cppu::UnoType<uno::Sequence< uno::Sequence< sal_Int32 > >>::get(),
150 beans::PropertyAttribute::BOUND
151 | beans::PropertyAttribute::MAYBEVOID );
154 rOutProperties.emplace_back(
"Percent",
155 PROP_DIAGRAM_PERCENT_STACKED,
157 beans::PropertyAttribute::BOUND
158 | beans::PropertyAttribute::MAYBEDEFAULT );
159 rOutProperties.emplace_back(
"Stacked",
160 PROP_DIAGRAM_STACKED,
162 beans::PropertyAttribute::BOUND
163 | beans::PropertyAttribute::MAYBEDEFAULT );
165 rOutProperties.emplace_back(
"Dim3D",
166 PROP_DIAGRAM_THREE_D,
168 beans::PropertyAttribute::BOUND
169 | beans::PropertyAttribute::MAYBEDEFAULT );
172 rOutProperties.emplace_back(
"SolidType",
173 PROP_DIAGRAM_SOLIDTYPE,
175 beans::PropertyAttribute::BOUND
176 | beans::PropertyAttribute::MAYBEDEFAULT );
179 rOutProperties.emplace_back(
"Deep",
182 beans::PropertyAttribute::BOUND
183 | beans::PropertyAttribute::MAYBEDEFAULT );
184 rOutProperties.emplace_back(
"Vertical",
185 PROP_DIAGRAM_VERTICAL,
187 beans::PropertyAttribute::BOUND
188 | beans::PropertyAttribute::MAYBEDEFAULT );
189 rOutProperties.emplace_back(
"NumberOfLines",
190 PROP_DIAGRAM_NUMBER_OF_LINES,
192 beans::PropertyAttribute::BOUND
193 | beans::PropertyAttribute::MAYBEDEFAULT );
194 rOutProperties.emplace_back(
"StackedBarsConnected",
195 PROP_DIAGRAM_STACKED_BARS_CONNECTED,
197 beans::PropertyAttribute::BOUND
198 | beans::PropertyAttribute::MAYBEDEFAULT );
200 rOutProperties.emplace_back(
"DataRowSource",
201 PROP_DIAGRAM_DATAROW_SOURCE,
203 beans::PropertyAttribute::BOUND
204 | beans::PropertyAttribute::MAYBEDEFAULT );
206 rOutProperties.emplace_back(
"GroupBarsPerAxis",
207 PROP_DIAGRAM_GROUP_BARS_PER_AXIS,
209 beans::PropertyAttribute::BOUND
210 | beans::PropertyAttribute::MAYBEDEFAULT );
212 rOutProperties.emplace_back(
"IncludeHiddenCells",
213 PROP_DIAGRAM_INCLUDE_HIDDEN_CELLS,
215 beans::PropertyAttribute::BOUND
216 | beans::PropertyAttribute::MAYBEDEFAULT );
220 PROP_DIAGRAM_SORT_BY_X_VALUES,
222 beans::PropertyAttribute::BOUND
223 | beans::PropertyAttribute::MAYBEDEFAULT );
226 rOutProperties.emplace_back(
"StartingAngle",
227 PROP_DIAGRAM_STARTING_ANGLE,
229 beans::PropertyAttribute::BOUND
230 | beans::PropertyAttribute::MAYBEDEFAULT );
233 rOutProperties.emplace_back(
"RightAngledAxes",
234 PROP_DIAGRAM_RIGHT_ANGLED_AXES,
236 beans::PropertyAttribute::BOUND
237 | beans::PropertyAttribute::MAYBEDEFAULT );
239 rOutProperties.emplace_back(
"Perspective",
240 PROP_DIAGRAM_PERSPECTIVE,
242 beans::PropertyAttribute::MAYBEVOID );
244 rOutProperties.emplace_back(
"RotationHorizontal",
245 PROP_DIAGRAM_ROTATION_HORIZONTAL,
247 beans::PropertyAttribute::MAYBEVOID );
249 rOutProperties.emplace_back(
"RotationVertical",
250 PROP_DIAGRAM_ROTATION_VERTICAL,
252 beans::PropertyAttribute::MAYBEVOID );
255 rOutProperties.emplace_back(
"HasXAxis",
256 PROP_DIAGRAM_HAS_X_AXIS,
258 beans::PropertyAttribute::BOUND
259 | beans::PropertyAttribute::MAYBEDEFAULT );
260 rOutProperties.emplace_back(
"HasXAxisDescription",
261 PROP_DIAGRAM_HAS_X_AXIS_DESCR,
263 beans::PropertyAttribute::BOUND
264 | beans::PropertyAttribute::MAYBEDEFAULT );
265 rOutProperties.emplace_back(
"HasXAxisTitle",
266 PROP_DIAGRAM_HAS_X_AXIS_TITLE,
268 beans::PropertyAttribute::BOUND
269 | beans::PropertyAttribute::MAYBEDEFAULT );
270 rOutProperties.emplace_back(
"HasXAxisGrid",
271 PROP_DIAGRAM_HAS_X_AXIS_GRID,
273 beans::PropertyAttribute::BOUND
274 | beans::PropertyAttribute::MAYBEDEFAULT );
275 rOutProperties.emplace_back(
"HasXAxisHelpGrid",
276 PROP_DIAGRAM_HAS_X_AXIS_HELP_GRID,
278 beans::PropertyAttribute::BOUND
279 | beans::PropertyAttribute::MAYBEDEFAULT );
282 rOutProperties.emplace_back(
"HasYAxis",
283 PROP_DIAGRAM_HAS_Y_AXIS,
285 beans::PropertyAttribute::BOUND
286 | beans::PropertyAttribute::MAYBEDEFAULT );
287 rOutProperties.emplace_back(
"HasYAxisDescription",
288 PROP_DIAGRAM_HAS_Y_AXIS_DESCR,
290 beans::PropertyAttribute::BOUND
291 | beans::PropertyAttribute::MAYBEDEFAULT );
292 rOutProperties.emplace_back(
"HasYAxisTitle",
293 PROP_DIAGRAM_HAS_Y_AXIS_TITLE,
295 beans::PropertyAttribute::BOUND
296 | beans::PropertyAttribute::MAYBEDEFAULT );
297 rOutProperties.emplace_back(
"HasYAxisGrid",
298 PROP_DIAGRAM_HAS_Y_AXIS_GRID,
300 beans::PropertyAttribute::BOUND
301 | beans::PropertyAttribute::MAYBEDEFAULT );
302 rOutProperties.emplace_back(
"HasYAxisHelpGrid",
303 PROP_DIAGRAM_HAS_Y_AXIS_HELP_GRID,
305 beans::PropertyAttribute::BOUND
306 | beans::PropertyAttribute::MAYBEDEFAULT );
309 rOutProperties.emplace_back(
"HasZAxis",
310 PROP_DIAGRAM_HAS_Z_AXIS,
312 beans::PropertyAttribute::BOUND
313 | beans::PropertyAttribute::MAYBEDEFAULT );
314 rOutProperties.emplace_back(
"HasZAxisDescription",
315 PROP_DIAGRAM_HAS_Z_AXIS_DESCR,
317 beans::PropertyAttribute::BOUND
318 | beans::PropertyAttribute::MAYBEDEFAULT );
319 rOutProperties.emplace_back(
"HasZAxisTitle",
320 PROP_DIAGRAM_HAS_Z_AXIS_TITLE,
322 beans::PropertyAttribute::BOUND
323 | beans::PropertyAttribute::MAYBEDEFAULT );
324 rOutProperties.emplace_back(
"HasZAxisGrid",
325 PROP_DIAGRAM_HAS_Z_AXIS_GRID,
327 beans::PropertyAttribute::BOUND
328 | beans::PropertyAttribute::MAYBEDEFAULT );
329 rOutProperties.emplace_back(
"HasZAxisHelpGrid",
330 PROP_DIAGRAM_HAS_Z_AXIS_HELP_GRID,
332 beans::PropertyAttribute::BOUND
333 | beans::PropertyAttribute::MAYBEDEFAULT );
336 rOutProperties.emplace_back(
"HasSecondaryXAxis",
337 PROP_DIAGRAM_HAS_SECOND_X_AXIS,
339 beans::PropertyAttribute::BOUND
340 | beans::PropertyAttribute::MAYBEDEFAULT );
341 rOutProperties.emplace_back(
"HasSecondaryXAxisDescription",
342 PROP_DIAGRAM_HAS_SECOND_X_AXIS_DESCR,
344 beans::PropertyAttribute::BOUND
345 | beans::PropertyAttribute::MAYBEDEFAULT );
348 rOutProperties.emplace_back(
"HasSecondaryYAxis",
349 PROP_DIAGRAM_HAS_SECOND_Y_AXIS,
351 beans::PropertyAttribute::BOUND
352 | beans::PropertyAttribute::MAYBEDEFAULT );
353 rOutProperties.emplace_back(
"HasSecondaryYAxisDescription",
354 PROP_DIAGRAM_HAS_SECOND_Y_AXIS_DESCR,
356 beans::PropertyAttribute::BOUND
357 | beans::PropertyAttribute::MAYBEDEFAULT );
360 rOutProperties.emplace_back(
"HasSecondaryXAxisTitle",
361 PROP_DIAGRAM_HAS_SECOND_X_AXIS_TITLE,
363 beans::PropertyAttribute::BOUND
364 | beans::PropertyAttribute::MAYBEDEFAULT );
365 rOutProperties.emplace_back(
"HasSecondaryYAxisTitle",
366 PROP_DIAGRAM_HAS_SECOND_Y_AXIS_TITLE,
368 beans::PropertyAttribute::BOUND
369 | beans::PropertyAttribute::MAYBEDEFAULT );
371 rOutProperties.emplace_back(
"MissingValueTreatment",
372 PROP_DIAGRAM_MISSING_VALUE_TREATMENT,
374 beans::PropertyAttribute::BOUND
375 | beans::PropertyAttribute::MAYBEVOID );
377 rOutProperties.emplace_back(
"AutomaticSize",
378 PROP_DIAGRAM_AUTOMATIC_SIZE,
380 beans::PropertyAttribute::BOUND
381 | beans::PropertyAttribute::MAYBEDEFAULT );
383 rOutProperties.emplace_back(
"ExternalData",
384 PROP_DIAGRAM_EXTERNALDATA,
386 beans::PropertyAttribute::BOUND
387 | beans::PropertyAttribute::MAYBEVOID );
390const Sequence< Property >& StaticDiagramWrapperPropertyArray()
392 static Sequence< Property > aPropSeq = []()
395 lcl_AddPropertiesToVector( aProperties );
400 WrappedStatisticProperties::addProperties( aProperties );
401 WrappedSymbolProperties::addProperties( aProperties );
402 WrappedDataCaptionProperties::addProperties( aProperties );
403 WrappedSplineProperties::addProperties( aProperties );
404 WrappedStockProperties::addProperties( aProperties );
405 WrappedAutomaticPositionProperties::addProperties( aProperties );
419 if( xChartType.is() )
421 OUString aChartType( xChartType->getChartType() );
428sal_Int32 lcl_getNewAPIIndexForOldAPIIndex(
429 sal_Int32 nOldAPIIndex
432 sal_Int32 nNewAPIIndex = nOldAPIIndex;
434 if( lcl_isXYChart( xDiagram ) )
436 if( nNewAPIIndex >= 1 )
440 std::vector< rtl::Reference< ::chart::DataSeries > > aSeriesList =
441 xDiagram->getDataSeries();
442 if( nNewAPIIndex >=
static_cast<sal_Int32
>(aSeriesList.size()) )
448OUString lcl_getDiagramType( std::u16string_view rTemplateServiceName )
450 static constexpr OUStringLiteral aPrefix(u
"com.sun.star.chart2.template.");
454 const std::u16string_view
aName( rTemplateServiceName.substr( aPrefix.getLength()));
458 if(
aName.find( u
"Area" ) != std::u16string_view::npos )
459 return "com.sun.star.chart.AreaDiagram";
462 if(
aName.find( u
"Pie" ) != std::u16string_view::npos )
463 return "com.sun.star.chart.PieDiagram";
471 if(
aName.find( u
"Column" ) != std::u16string_view::npos ||
aName.find( u
"Bar" ) != std::u16string_view::npos )
472 return "com.sun.star.chart.BarDiagram";
475 if(
aName.find( u
"Donut" ) != std::u16string_view::npos )
476 return "com.sun.star.chart.DonutDiagram";
479 if(
aName.find( u
"Scatter" ) != std::u16string_view::npos )
480 return "com.sun.star.chart.XYDiagram";
483 if(
aName.find( u
"FilledNet" ) != std::u16string_view::npos )
484 return "com.sun.star.chart.FilledNetDiagram";
489 if(
aName.find( u
"Net" ) != std::u16string_view::npos )
490 return "com.sun.star.chart.NetDiagram";
494 if(
aName.find( u
"Stock" ) != std::u16string_view::npos )
495 return "com.sun.star.chart.StockDiagram";
497 if(
aName.find( u
"Bubble" ) != std::u16string_view::npos )
498 return "com.sun.star.chart.BubbleDiagram";
506 if(
aName.find( u
"Line" ) != std::u16string_view::npos ||
aName.find( u
"Symbol" ) != std::u16string_view::npos )
507 return "com.sun.star.chart.LineDiagram";
509 OSL_FAIL(
"unknown template" );
520 {
"com.sun.star.chart2.LineChartType",
"com.sun.star.chart.LineDiagram"},
521 {
"com.sun.star.chart2.AreaChartType",
"com.sun.star.chart.AreaDiagram"},
522 {
"com.sun.star.chart2.ColumnChartType",
"com.sun.star.chart.BarDiagram"},
523 {
"com.sun.star.chart2.PieChartType",
"com.sun.star.chart.PieDiagram"},
524 {
"com.sun.star.chart2.DonutChartType",
"com.sun.star.chart.DonutDiagram"},
525 {
"com.sun.star.chart2.ScatterChartType",
"com.sun.star.chart.XYDiagram"},
526 {
"com.sun.star.chart2.FilledNetChartType",
"com.sun.star.chart.FilledNetDiagram"},
527 {
"com.sun.star.chart2.NetChartType",
"com.sun.star.chart.NetDiagram"},
528 {
"com.sun.star.chart2.CandleStickChartType",
"com.sun.star.chart.StockDiagram"},
529 {
"com.sun.star.chart2.BubbleChartType",
"com.sun.star.chart.BubbleDiagram"}
531 return g_aChartTypeNameMap;
534OUString lcl_getOldChartTypeName(
const OUString & rNewChartTypeName )
536 OUString aOld(rNewChartTypeName);
539 tMakeStringStringMap::const_iterator aIt( rMap.find( rNewChartTypeName ));
540 if( aIt != rMap.end())
567 if( xChartDoc.is() && xDiagram.is() )
570 if( xChartDocProp.is() )
573 if( xChartDocProp->getPropertyValue(
"AddIn" ) >>= xAddIn )
576 if( xServiceName.is())
577 return xServiceName->getServiceName();
583 xDiagram->getTemplate( xChartTypeManager );
585 aRet = lcl_getDiagramType( aTemplateAndService.
sServiceName );
596 if( xChartType.is() )
598 aRet = xChartType->getChartType();
599 if( !aRet.isEmpty() )
600 aRet = lcl_getOldChartTypeName( aRet );
604 aRet =
"com.sun.star.chart.BarDiagram";
613 throw lang::IndexOutOfBoundsException(
"DataSeries index invalid",
617 if( nNewAPIIndex < 0 )
618 throw lang::IndexOutOfBoundsException(
"DataSeries index invalid",
629 if( nCol < 0 || nRow < 0 )
630 throw lang::IndexOutOfBoundsException(
"DataSeries index invalid",
634 if( nNewAPIIndex < 0 )
635 throw lang::IndexOutOfBoundsException(
"DataSeries index invalid",
662 chart2::RelativePosition aRelativePosition;
663 aRelativePosition.Anchor = drawing::Alignment_TOP_LEFT;
664 aRelativePosition.Primary = double(aPosition.X)/double(aPageSize.Width);
665 aRelativePosition.Secondary = double(aPosition.Y)/double(aPageSize.Height);
666 if( aRelativePosition.Primary < 0 || aRelativePosition.Secondary < 0 || aRelativePosition.Primary > 1 || aRelativePosition.Secondary > 1 )
668 OSL_FAIL(
"DiagramWrapper::setPosition called with a position out of range -> automatic values are taken instead" );
670 xProp->setPropertyValue(
"RelativePosition", aEmpty );
673 xProp->setPropertyValue(
"RelativePosition",
uno::Any(aRelativePosition) );
674 xProp->setPropertyValue(
"PosSizeExcludeAxes",
uno::Any(
false) );
692 chart2::RelativeSize aRelativeSize;
693 aRelativeSize.Primary = double(aSize.Width)/double(aPageSize.Width);
694 aRelativeSize.Secondary = double(aSize.Height)/double(aPageSize.Height);
696 if( aRelativeSize.Primary > 1 || aRelativeSize.Secondary > 1 )
698 OSL_FAIL(
"DiagramWrapper::setSize called with sizes bigger than page -> automatic values are taken instead" );
700 xProp->setPropertyValue(
"RelativeSize", aEmpty );
704 xProp->setPropertyValue(
"RelativeSize",
uno::Any(aRelativeSize) );
705 xProp->setPropertyValue(
"PosSizeExcludeAxes",
uno::Any(
false) );
711 return "com.sun.star.chart.Diagram";
722 xDiaProps->setPropertyValue(
"RelativeSize",
Any() );
723 xDiaProps->setPropertyValue(
"RelativePosition",
Any() );
731 Any aRelativeSize( xDiaProps->getPropertyValue(
"RelativeSize" ) );
732 Any aRelativePosition( xDiaProps->getPropertyValue(
"RelativePosition" ) );
733 if( aRelativeSize.hasValue() && aRelativePosition.hasValue() )
744 xDiaProps->setPropertyValue(
"PosSizeExcludeAxes",
uno::Any(
true) );
751 Any aRelativeSize( xDiaProps->getPropertyValue(
"RelativeSize" ) );
752 Any aRelativePosition( xDiaProps->getPropertyValue(
"RelativePosition" ) );
753 if( aRelativeSize.hasValue() && aRelativePosition.hasValue() )
755 bool bPosSizeExcludeAxes =
false;
756 xDiaProps->getPropertyValue(
"PosSizeExcludeAxes" ) >>= bPosSizeExcludeAxes;
757 return bPosSizeExcludeAxes;
772 xDiaProps->setPropertyValue(
"PosSizeExcludeAxes",
uno::Any(
false) );
799 else if(nDimensionIndex==1)
805 else if(nDimensionIndex==2)
823 else if(nDimensionIndex==1)
838 xRet.set( xAxis->getAxisTitle(), uno::UNO_QUERY );
847 xRet = xAxis->getMajorGrid();
856 xRet = xAxis->getMinorGrid();
881 xRet.set( xAxis->getAxisTitle(), uno::UNO_QUERY );
897 xRet = xAxis->getMajorGrid();
906 xRet = xAxis->getMinorGrid();
924 xRet.set( xAxis->getAxisTitle(), uno::UNO_QUERY );
940 xRet = xAxis->getMajorGrid();
949 xRet = xAxis->getMinorGrid();
959 xRet.set( xAxis->getAxisTitle(), uno::UNO_QUERY );
968 xRet.set( xAxis->getAxisTitle(), uno::UNO_QUERY );
1027 if( x3DDefaultSetter.is() )
1028 x3DDefaultSetter->set3DSettingsToDefault();
1034 if( x3DDefaultSetter.is() )
1035 x3DDefaultSetter->setDefaultRotation();
1041 if( x3DDefaultSetter.is() )
1042 x3DDefaultSetter->setDefaultIllumination();
1062 clearWrappedPropertySet();
1085 explicit WrappedDataRowSourceProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1087 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1089 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1091 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1100WrappedDataRowSourceProperty::WrappedDataRowSourceProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1101 : WrappedProperty(
"DataRowSource",OUString())
1104 m_aOuterValue = WrappedDataRowSourceProperty::getPropertyDefault(
nullptr );
1109 css::chart::ChartDataRowSource eChartDataRowSource = css::chart::ChartDataRowSource_ROWS;
1110 if( ! (rOuterValue >>= eChartDataRowSource) )
1112 sal_Int32 nNew = sal_Int32(css::chart::ChartDataRowSource_ROWS);
1113 if( !(rOuterValue >>= nNew) )
1114 throw lang::IllegalArgumentException(
"Property DataRowSource requires css::chart::ChartDataRowSource value",
nullptr, 0 );
1115 eChartDataRowSource = css::chart::ChartDataRowSource(nNew);
1120 bool bNewUseColumns = eChartDataRowSource == css::chart::ChartDataRowSource_COLUMNS;
1122 OUString aRangeString;
1123 bool bUseColumns =
true;
1124 bool bFirstCellAsLabel =
true;
1125 bool bHasCategories =
true;
1126 uno::Sequence< sal_Int32 > aSequenceMapping;
1128 if( DataSourceHelper::detectRangeSegmentation(
1130 , bFirstCellAsLabel, bHasCategories ) )
1132 if( bUseColumns != bNewUseColumns )
1134 aSequenceMapping.realloc(0);
1135 DataSourceHelper::setRangeSegmentation(
1136 m_spChart2ModelContact->getDocumentModel(), aSequenceMapping, bNewUseColumns , bFirstCellAsLabel , bHasCategories);
1141Any WrappedDataRowSourceProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1143 OUString aRangeString;
1144 bool bUseColumns =
true;
1145 bool bFirstCellAsLabel =
true;
1146 bool bHasCategories =
true;
1147 uno::Sequence< sal_Int32 > aSequenceMapping;
1149 if( DataSourceHelper::detectRangeSegmentation(
1151 , bFirstCellAsLabel, bHasCategories ) )
1153 css::chart::ChartDataRowSource eChartDataRowSource = css::chart::ChartDataRowSource_ROWS;
1155 eChartDataRowSource = css::chart::ChartDataRowSource_COLUMNS;
1163Any WrappedDataRowSourceProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1166 aRet <<= css::chart::ChartDataRowSource_COLUMNS;
1175class WrappedStackingProperty :
public WrappedProperty
1178 WrappedStackingProperty(
StackMode eStackMode, std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1180 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1182 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1184 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1187 bool detectInnerValue(
StackMode& eInnerStackMode )
const;
1197WrappedStackingProperty::WrappedStackingProperty(
StackMode eStackMode, std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1198 : WrappedProperty(OUString(),OUString())
1204 case StackMode::YStacked:
1205 m_aOuterName =
"Stacked";
1207 case StackMode::YStackedPercent:
1208 m_aOuterName =
"Percent";
1210 case StackMode::ZStacked:
1211 m_aOuterName =
"Deep";
1214 OSL_FAIL(
"unexpected stack mode" );
1219bool WrappedStackingProperty::detectInnerValue(
StackMode& eStackMode )
const
1221 bool bHasDetectableInnerValue =
false;
1222 bool bIsAmbiguous =
false;
1224 eStackMode = xDiagram ? xDiagram->getStackMode( bHasDetectableInnerValue, bIsAmbiguous ) : StackMode::NONE;
1225 return bHasDetectableInnerValue;
1230 bool bNewValue =
false;
1231 if( ! (rOuterValue >>= bNewValue) )
1232 throw lang::IllegalArgumentException(
"Stacking Properties require boolean values",
nullptr, 0 );
1235 bool bHasDetectableInnerValue = detectInnerValue( eInnerStackMode );
1237 if( !bHasDetectableInnerValue )
1252 xDiagram->setStackMode( eNewStackMode );
1256Any WrappedStackingProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1259 if( detectInnerValue( eInnerStackMode ) )
1267Any WrappedStackingProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1277class WrappedDim3DProperty :
public WrappedProperty
1280 explicit WrappedDim3DProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1282 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1284 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1286 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1295WrappedDim3DProperty::WrappedDim3DProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1296 : WrappedProperty(
"Dim3D",OUString())
1299 m_aOuterValue = WrappedDim3DProperty::getPropertyDefault(
nullptr );
1304 bool bNew3D =
false;
1305 if( ! (rOuterValue >>= bNew3D) )
1306 throw lang::IllegalArgumentException(
"Property Dim3D requires boolean value",
nullptr, 0 );
1311 if( !xDiagram.is() )
1314 bool bOld3D = xDiagram->getDimension() == 3;
1315 if( bOld3D != bNew3D )
1316 xDiagram->setDimension( bNew3D ? 3 : 2 );
1319Any WrappedDim3DProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1324 bool b3D = xDiagram->getDimension() == 3;
1330Any WrappedDim3DProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1340class WrappedVerticalProperty :
public WrappedProperty
1343 explicit WrappedVerticalProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1345 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1347 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1349 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1358WrappedVerticalProperty::WrappedVerticalProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1359 : WrappedProperty(
"Vertical",OUString())
1362 m_aOuterValue = WrappedVerticalProperty::getPropertyDefault(
nullptr );
1367 bool bNewVertical =
false;
1368 if( ! (rOuterValue >>= bNewVertical) )
1369 throw lang::IllegalArgumentException(
"Property Vertical requires boolean value",
nullptr, 0 );
1374 if( !xDiagram.is() )
1377 bool bFound =
false;
1378 bool bAmbiguous =
false;
1379 bool bOldVertical = xDiagram->getVertical( bFound, bAmbiguous );
1380 if( bFound && ( bOldVertical != bNewVertical || bAmbiguous ) )
1381 xDiagram->setVertical( bNewVertical );
1384Any WrappedVerticalProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1389 bool bFound =
false;
1390 bool bAmbiguous =
false;
1391 bool bVertical = xDiagram->getVertical( bFound, bAmbiguous );
1398Any WrappedVerticalProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1408class WrappedNumberOfLinesProperty :
public WrappedProperty
1411 explicit WrappedNumberOfLinesProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1413 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1415 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1417 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1420 bool detectInnerValue(
uno::Any& rInnerValue )
const;
1429WrappedNumberOfLinesProperty::WrappedNumberOfLinesProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1430 : WrappedProperty(
"NumberOfLines",OUString())
1436bool WrappedNumberOfLinesProperty::detectInnerValue(
uno::Any& rInnerValue )
const
1438 sal_Int32 nNumberOfLines = 0;
1439 bool bHasDetectableInnerValue =
false;
1442 if( xDiagram.is() && xChartDoc.is() )
1444 std::vector< rtl::Reference< DataSeries > > aSeriesVector =
1445 xDiagram->getDataSeries();
1446 if( !aSeriesVector.empty() )
1449 Diagram::tTemplateWithServiceName aTemplateAndService =
1450 xDiagram->getTemplate( xChartTypeManager );
1451 if( aTemplateAndService.sServiceName ==
"com.sun.star.chart2.template.ColumnWithLine" )
1455 uno::Reference< beans::XPropertySet > xProp(
static_cast<cppu::OWeakObject*
>(aTemplateAndService.xChartTypeTemplate.get()), uno::UNO_QUERY );
1456 xProp->getPropertyValue( m_aOuterName ) >>= nNumberOfLines;
1457 bHasDetectableInnerValue =
true;
1459 catch(
const uno::Exception & )
1466 if(bHasDetectableInnerValue)
1467 rInnerValue <<= nNumberOfLines;
1468 return bHasDetectableInnerValue;
1473 sal_Int32 nNewValue;
1474 if( ! (rOuterValue >>= nNewValue) )
1475 throw lang::IllegalArgumentException(
"property NumberOfLines requires sal_Int32 value",
nullptr, 0 );
1481 if( !xChartDoc || !xDiagram )
1483 sal_Int32 nDimension = xDiagram->getDimension();
1484 if( nDimension != 2 )
1488 Diagram::tTemplateWithServiceName aTemplateAndService =
1489 xDiagram->getTemplate( xChartTypeManager );
1492 if( aTemplateAndService.sServiceName ==
"com.sun.star.chart2.template.ColumnWithLine" )
1494 if( nNewValue != 0 )
1496 xTemplate = aTemplateAndService.xChartTypeTemplate;
1499 sal_Int32 nOldValue = 0;
1500 uno::Reference< beans::XPropertySet > xProp(
static_cast<cppu::OWeakObject*
>(xTemplate.get()), uno::UNO_QUERY );
1501 xProp->getPropertyValue( m_aOuterName ) >>= nOldValue;
1502 if( nOldValue == nNewValue )
1505 catch(
const uno::Exception & )
1512 xTemplate = xChartTypeManager->createTemplate(
"com.sun.star.chart2.template.Column");
1515 else if( aTemplateAndService.sServiceName ==
"com.sun.star.chart2.template.Column" )
1517 if( nNewValue == 0 )
1519 xTemplate = xChartTypeManager->createTemplate(
"com.sun.star.chart2.template.ColumnWithLine" );
1529 uno::Reference< beans::XPropertySet > xProp(
static_cast<cppu::OWeakObject*
>(xTemplate.get()), uno::UNO_QUERY );
1530 xProp->setPropertyValue(
"NumberOfLines",
uno::Any(nNewValue) );
1531 xTemplate->changeDiagram( xDiagram );
1533 catch(
const uno::Exception & )
1539Any WrappedNumberOfLinesProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1542 if( !detectInnerValue( aRet ) )
1547Any WrappedNumberOfLinesProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1550 aRet <<= sal_Int32( 0 );
1557class WrappedAttributedDataPointsProperty :
public WrappedProperty
1560 explicit WrappedAttributedDataPointsProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1562 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1564 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1566 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1575WrappedAttributedDataPointsProperty::WrappedAttributedDataPointsProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1576 : WrappedProperty(
"AttributedDataPoints",OUString())
1579 m_aOuterValue = WrappedAttributedDataPointsProperty::getPropertyDefault(
nullptr );
1584 uno::Sequence< uno::Sequence< sal_Int32 > > aNewValue;
1585 if( ! (rOuterValue >>= aNewValue) )
1586 throw lang::IllegalArgumentException(
"Property AttributedDataPoints requires value of type uno::Sequence< uno::Sequence< sal_Int32 > >",
nullptr, 0 );
1595 std::vector< rtl::Reference< DataSeries > > aSeriesVector =
1596 xDiagram->getDataSeries();
1598 for (
auto const& series : aSeriesVector)
1601 if( i < aNewValue.getLength() )
1602 aVal <<= aNewValue[
i];
1606 uno::Sequence< sal_Int32 >
aSeq;
1614Any WrappedAttributedDataPointsProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1620 std::vector< rtl::Reference< DataSeries > > aSeriesVector =
1621 xDiagram->getDataSeries();
1623 uno::Sequence< uno::Sequence< sal_Int32 > > aResult( aSeriesVector.size() );
1624 auto aResultRange = asNonConstRange(aResult);
1626 for (
auto const& series : aSeriesVector)
1630 uno::Sequence< sal_Int32 >
aSeq;
1632 aResultRange[
i ] =
aSeq;
1640Any WrappedAttributedDataPointsProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1643 uno::Sequence< uno::Sequence< sal_Int32 > >
aSeq;
1651class WrappedSolidTypeProperty :
public WrappedProperty
1654 explicit WrappedSolidTypeProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1656 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1658 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1660 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1669WrappedSolidTypeProperty::WrappedSolidTypeProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1670 : WrappedProperty(
"SolidType", OUString() )
1673 m_aOuterValue = WrappedSolidTypeProperty::getPropertyDefault(
nullptr );
1678 sal_Int32 nNewSolidType = css::chart::ChartSolidType::RECTANGULAR_SOLID;
1679 if( ! (rOuterValue >>= nNewSolidType) )
1680 throw lang::IllegalArgumentException(
"Property SolidType requires integer value",
nullptr, 0 );
1685 if( !xDiagram.is() )
1688 bool bFound =
false;
1689 bool bAmbiguous =
false;
1690 sal_Int32 nOldSolidType = xDiagram->getGeometry3D( bFound, bAmbiguous );
1691 if( bFound && ( nOldSolidType != nNewSolidType || bAmbiguous ) )
1692 xDiagram->setGeometry3D( nNewSolidType );
1695Any WrappedSolidTypeProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1700 bool bFound =
false;
1701 bool bAmbiguous =
false;
1702 sal_Int32 nGeometry = xDiagram->getGeometry3D( bFound, bAmbiguous );
1709Any WrappedSolidTypeProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1711 return uno::Any( css::chart::ChartSolidType::RECTANGULAR_SOLID );
1716class WrappedAutomaticSizeProperty :
public WrappedProperty
1719 WrappedAutomaticSizeProperty();
1721 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1723 virtual css::uno::Any
getPropertyValue(
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1725 virtual css::uno::Any getPropertyDefault(
const css::uno::Reference< css::beans::XPropertyState >& xInnerPropertyState )
const override;
1730WrappedAutomaticSizeProperty::WrappedAutomaticSizeProperty()
1731 : WrappedProperty(
"AutomaticSize", OUString() )
1737 if( !xInnerPropertySet.is() )
1740 bool bNewValue =
true;
1741 if( ! (rOuterValue >>= bNewValue) )
1742 throw lang::IllegalArgumentException(
"Property AutomaticSize requires value of type boolean",
nullptr, 0 );
1748 Any aRelativeSize( xInnerPropertySet->getPropertyValue(
"RelativeSize" ) );
1749 if( aRelativeSize.hasValue() )
1750 xInnerPropertySet->setPropertyValue(
"RelativeSize",
Any() );
1753 catch(
const uno::Exception & )
1759Any WrappedAutomaticSizeProperty::getPropertyValue(
const Reference< beans::XPropertySet >& xInnerPropertySet )
const
1761 Any aRet( getPropertyDefault( Reference< beans::XPropertyState >( xInnerPropertySet, uno::UNO_QUERY ) ) );
1762 if( xInnerPropertySet.is() )
1764 Any aRelativeSize( xInnerPropertySet->getPropertyValue(
"RelativeSize" ) );
1765 if( !aRelativeSize.hasValue() )
1771Any WrappedAutomaticSizeProperty::getPropertyDefault(
const Reference< beans::XPropertyState >& )
const
1781class WrappedIncludeHiddenCellsProperty :
public WrappedProperty
1784 explicit WrappedIncludeHiddenCellsProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact);
1786 virtual void setPropertyValue(
const css::uno::Any& rOuterValue,
const css::uno::Reference< css::beans::XPropertySet >& xInnerPropertySet )
const override;
1787 virtual Any getPropertyValue(
const Reference<beans::XPropertySet>& xInnerPropertySet)
const override;
1795WrappedIncludeHiddenCellsProperty::WrappedIncludeHiddenCellsProperty(std::shared_ptr<Chart2ModelContact> spChart2ModelContact)
1796 : WrappedProperty(
"IncludeHiddenCells",
"IncludeHiddenCells")
1803 bool bNewValue =
false;
1804 if( ! (rOuterValue >>= bNewValue) )
1805 throw lang::IllegalArgumentException(
"Property IncludeHiddenCells requires boolean value",
nullptr, 0 );
1810Any WrappedIncludeHiddenCellsProperty::getPropertyValue(
const Reference< beans::XPropertySet >& )
const
1822void SAL_CALL DiagramWrapper::setDiagram(
1826 OSL_FAIL(
"DiagramWrapper::setDiagram is not implemented, should be removed and not be called" );
1836 return StaticDiagramWrapperPropertyArray();
1839std::vector< std::unique_ptr<WrappedProperty> > DiagramWrapper::createWrappedProperties()
1841 std::vector< std::unique_ptr<WrappedProperty> > aWrappedProperties;
1843 WrappedAxisAndGridExistenceProperties::addWrappedProperties( aWrappedProperties,
m_spChart2ModelContact );
1847 WrappedIgnoreProperties::addIgnoreFillProperties( aWrappedProperties );
1848 WrappedIgnoreProperties::addIgnoreLineProperties( aWrappedProperties );
1849 WrappedStatisticProperties::addWrappedPropertiesForDiagram( aWrappedProperties,
m_spChart2ModelContact );
1851 WrappedDataCaptionProperties::addWrappedPropertiesForDiagram( aWrappedProperties,
m_spChart2ModelContact );
1854 WrappedAutomaticPositionProperties::addWrappedProperties( aWrappedProperties );
1857 aWrappedProperties.emplace_back(
new WrappedStackingProperty( StackMode::YStacked,
m_spChart2ModelContact ) );
1858 aWrappedProperties.emplace_back(
new WrappedStackingProperty( StackMode::YStackedPercent,
m_spChart2ModelContact ) );
1859 aWrappedProperties.emplace_back(
new WrappedStackingProperty( StackMode::ZStacked,
m_spChart2ModelContact ) );
1864 aWrappedProperties.emplace_back(
new WrappedProperty(
"StackedBarsConnected",
"ConnectBars" ) );
1866 aWrappedProperties.emplace_back(
new WrappedAutomaticSizeProperty() );
1869 return aWrappedProperties;
1872OUString SAL_CALL DiagramWrapper::getImplementationName()
1874 return "com.sun.star.comp.chart.Diagram";
1877sal_Bool SAL_CALL DiagramWrapper::supportsService(
const OUString& rServiceName )
1882css::uno::Sequence< OUString > SAL_CALL DiagramWrapper::getSupportedServiceNames()
1885 "com.sun.star.chart.Diagram",
1886 "com.sun.star.xml.UserDefinedAttributesSupplier",
1887 "com.sun.star.chart.StackableDiagram",
1888 "com.sun.star.chart.ChartAxisXSupplier",
1889 "com.sun.star.chart.ChartAxisYSupplier",
1890 "com.sun.star.chart.ChartAxisZSupplier",
1891 "com.sun.star.chart.ChartTwoAxisXSupplier",
1892 "com.sun.star.chart.ChartTwoAxisYSupplier"
std::shared_ptr< Chart2ModelContact > m_spChart2ModelContact
const StackMode m_eStackMode
PropertiesInfo aProperties
This guard calls lockControllers at the given Model in the CTOR and unlockControllers in the DTOR.
static bool setDiagramPositioning(const rtl::Reference<::chart::ChartModel > &xChartModel, const css::awt::Rectangle &rPosRect)
virtual css::uno::Reference< css::beans::XPropertySet > getInnerPropertySet() override
css::uno::Reference< css::beans::XPropertySet > m_xDownBarWrapper
virtual void SAL_CALL set3DSettingsToDefault() override
std::shared_ptr< Chart2ModelContact > m_spChart2ModelContact
css::uno::Reference< css::chart::XAxis > m_xZAxis
virtual css::awt::Rectangle SAL_CALL calculateDiagramPositionIncludingAxes() override
css::uno::Reference< css::chart::XAxis > m_xXAxis
virtual sal_Bool SAL_CALL isExcludingDiagramPositioning() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getDataPointProperties(sal_Int32 nCol, sal_Int32 nRow) override
virtual void SAL_CALL setSize(const css::awt::Size &aSize) override
css::uno::Reference< css::beans::XPropertySet > m_xFloor
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getSecondaryXAxis() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getFloor() override
virtual void SAL_CALL setDiagramPositionExcludingAxes(const css::awt::Rectangle &PositionRect) override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getZMainGrid() override
virtual css::awt::Point SAL_CALL getPosition() override
virtual css::uno::Reference< css::chart::XAxis > SAL_CALL getSecondaryAxis(sal_Int32 nDimensionIndex) override
virtual css::awt::Rectangle SAL_CALL calculateDiagramPositionIncludingAxesAndAxisTitles() override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getYAxis() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getMinMaxLine() override
virtual css::uno::Reference< css::chart2::XDiagram > SAL_CALL getDiagram() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getXHelpGrid() override
virtual void SAL_CALL dispose() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getXAxis() override
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getXAxisTitle() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getXMainGrid() override
virtual void SAL_CALL setDefaultIllumination() override
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getSecondYAxisTitle() override
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getZAxisTitle() override
virtual OUString SAL_CALL getShapeType() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getDownBar() override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
virtual void SAL_CALL setDiagramPositionIncludingAxesAndAxisTitles(const css::awt::Rectangle &PositionRect) override
css::uno::Reference< css::beans::XPropertySet > m_xWall
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getSecondaryYAxis() override
virtual void SAL_CALL setDiagramPositionIncludingAxes(const css::awt::Rectangle &PositionRect) override
virtual void SAL_CALL setPosition(const css::awt::Point &aPosition) override
css::uno::Reference< css::beans::XPropertySet > m_xMinMaxLineWrapper
css::uno::Reference< css::beans::XPropertySet > m_xUpBarWrapper
css::uno::Reference< css::chart::XAxis > m_xSecondXAxis
virtual css::awt::Size SAL_CALL getSize() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getWall() override
DiagramWrapper(std::shared_ptr< Chart2ModelContact > spChart2ModelContact)
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getYHelpGrid() override
virtual css::awt::Rectangle SAL_CALL calculateDiagramPositionExcludingAxes() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getDataRowProperties(sal_Int32 nRow) override
virtual void SAL_CALL setAutomaticDiagramPositioning() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getUpBar() override
css::uno::Reference< css::chart::XAxis > m_xSecondYAxis
virtual void SAL_CALL setDefaultRotation() override
virtual OUString SAL_CALL getDiagramType() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getYMainGrid() override
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListenerContainer
virtual sal_Bool SAL_CALL isAutomaticDiagramPositioning() override
virtual ~DiagramWrapper() override
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getSecondXAxisTitle() override
virtual css::uno::Reference< css::chart::XAxis > SAL_CALL getAxis(sal_Int32 nDimensionIndex) override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getZHelpGrid() override
css::uno::Reference< css::chart::XAxis > m_xYAxis
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getYAxisTitle() override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getZAxis() override
sal_Int32 addInterface(std::unique_lock< std::mutex > &rGuard, const css::uno::Reference< ListenerT > &rxIFace)
void disposeAndClear(::std::unique_lock<::std::mutex > &rGuard, const css::lang::EventObject &rEvt)
sal_Int32 removeInterface(std::unique_lock< std::mutex > &rGuard, const css::uno::Reference< ListenerT > &rxIFace)
#define DBG_UNHANDLED_EXCEPTION(...)
Sequence< sal_Int8 > aSeq
OOO_DLLPUBLIC_CHARTTOOLS void AddPropertiesToVector(std::vector< css::beans::Property > &rOutProperties)
@ PROP_DATASERIES_ATTRIBUTED_DATA_POINTS
void DisposeAndClear(css::uno::Reference< T > &rInterface)
void setPropertyValue(tPropertyValueMap &rOutMap, tPropertyValueMapKey key, const Value &value)
Set a property to a certain value in the given map.
OOO_DLLPUBLIC_CHARTTOOLS css::awt::Size ToSize(const css::awt::Rectangle &rRectangle)
awt::Rect --> awt::Size (2D)
OOO_DLLPUBLIC_CHARTTOOLS css::awt::Point ToPoint(const css::awt::Rectangle &rRectangle)
awt::Rect --> awt::Point (2D)
css::uno::Sequence< DstElementType > containerToSequence(const SrcType &i_Container)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
constexpr OUStringLiteral CHART2_SERVICE_NAME_CHARTTYPE_SCATTER
constexpr OUStringLiteral CHART_UNONAME_SORT_BY_XVALUES