20#ifndef INCLUDED_OOX_EXPORT_CHARTEXPORT_HXX
21#define INCLUDED_OOX_EXPORT_CHARTEXPORT_HXX
26#include <com/sun/star/uno/Reference.hxx>
27#include <com/sun/star/uno/Sequence.hxx>
32#include <oox/token/tokens.hxx>
33#include <rtl/ustring.hxx>
46 struct RelativePosition;
55 class XLabeledDataSequence;
111 size_t count()
const;
113 bool hasLabel(sal_Int32 nIndex)
const;
118 void setRange(
const OUString& rRange);
120 void setLabel(sal_Int32 nIndex,
const OUString& rText);
122 LabelsRangeMap::const_iterator
begin()
const;
123 LabelsRangeMap::const_iterator
end()
const;
161 sal_Int32 getChartType();
163 css::uno::Sequence< css::uno::Sequence< rtl::OUString > > getSplitCategoriesList(
const OUString& rRange);
165 OUString parseFormula(
const OUString& rRange );
168 void ExportContent_();
169 void exportChartSpace(
const css::uno::Reference<
170 css::chart::XChartDocument >& rChartDoc,
171 bool bIncludeTable );
172 void exportChart(
const css::uno::Reference<
173 css::chart::XChartDocument >& rChartDoc );
174 void exportExternalData(
const css::uno::Reference<
175 css::chart::XChartDocument >& rChartDoc );
176 void exportLegend(
const css::uno::Reference<
177 css::chart::XChartDocument >& rChartDoc );
178 void exportTitle(
const css::uno::Reference< css::drawing::XShape >& xShape,
179 const OUString* pSubText =
nullptr );
180 void exportPlotArea(
const css::uno::Reference<
181 css::chart::XChartDocument >& rChartDoc );
182 void exportAdditionalShapes(
const css::uno::Reference<css::chart::XChartDocument >& rChartDoc );
183 void exportFill(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
184 void exportSolidFill(
const css::uno::Reference<css::beans::XPropertySet>& xPropSet);
185 void exportGradientFill(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
186 void exportBitmapFill(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
187 void exportHatch(
const css::uno::Reference<css::beans::XPropertySet>& xPropSet);
188 void exportDataTable( );
190 void exportAreaChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
191 void exportBarChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
192 void exportBubbleChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
193 void exportDoughnutChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
194 void exportLineChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
195 void exportPieChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
196 void exportRadarChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
197 void exportScatterChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
198 void exportScatterChartSeries(
const css::uno::Reference< css::chart2::XChartType >& xChartType,
199 const css::uno::Sequence<css::uno::Reference<css::chart2::XDataSeries>>* pSeries);
200 void exportStockChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
201 void exportSurfaceChart(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
202 void exportHiLowLines();
203 void exportUpDownBars(
const css::uno::Reference< css::chart2::XChartType >& xChartType );
205 void exportAllSeries(
const css::uno::Reference<css::chart2::XChartType>& xChartType,
bool& rPrimaryAxes);
206 void exportSeries(
const css::uno::Reference< css::chart2::XChartType >& xChartType,
207 const css::uno::Sequence<css::uno::Reference<css::chart2::XDataSeries> >& rSeriesSeq,
bool& rPrimaryAxes);
209 void exportVaryColors(
const css::uno::Reference<css::chart2::XChartType>& xChartType);
210 void exportCandleStickSeries(
211 const css::uno::Sequence<
213 css::chart2::XDataSeries > > & aSeriesSeq,
214 bool& rPrimaryAxes );
215 void exportSeriesText(
216 const css::uno::Reference< css::chart2::data::XDataSequence >& xValueSeq );
217 void exportSeriesCategory(
218 const css::uno::Reference< css::chart2::data::XDataSequence >& xValueSeq, sal_Int32 nValueType = XML_cat );
219 void exportSeriesValues(
220 const css::uno::Reference< css::chart2::data::XDataSequence >& xValueSeq, sal_Int32 nValueType = XML_val );
221 void exportShapeProps(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
222 void exportDataPoints(
223 const css::uno::Reference< css::beans::XPropertySet >& xSeriesProperties,
224 sal_Int32 nSeriesLength, sal_Int32 eChartType );
225 void exportDataLabels(
const css::uno::Reference<css::chart2::XDataSeries>& xSeries, sal_Int32 nSeriesLength,
227 void exportGrouping(
bool isBar =
false );
228 void exportTrendlines(
const css::uno::Reference< css::chart2::XDataSeries >& xSeries );
229 void exportMarker(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
231 void exportFirstSliceAng();
233 void exportErrorBar(
const css::uno::Reference< css::beans::XPropertySet >& xErrorBarProps,
236 void exportManualLayout(
const css::chart2::RelativePosition& rPos,
const css::chart2::RelativeSize& rSize,
const bool bIsExcludingDiagramPositioning);
239 void exportAxis(
const AxisIdPair& rAxisIdPair);
241 const css::uno::Reference< css::beans::XPropertySet >& xAxisProp,
242 const css::uno::Reference< css::drawing::XShape >& xAxisTitle,
243 const css::uno::Reference< css::beans::XPropertySet >& xMajorGrid,
244 const css::uno::Reference< css::beans::XPropertySet >& xMinorGrid,
246 const char* sAxisPos,
248 void exportAxesId(
bool bPrimaryAxes,
bool bCheckCombinedAxes =
false);
250 bool isDeep3dChart();
252 void exportMissingValueTreatment(
const css::uno::Reference<css::beans::XPropertySet>& xPropSet);
254 OUString getNumberFormatCode(sal_Int32 nKey)
const;
262 void SetURLTranslator(
const std::shared_ptr<URLTransformer>& pTransformer);
264 const css::uno::Reference< css::frame::XModel >&
getModel()
const {
return mxChartModel; }
266 void WriteChartObj(
const css::uno::Reference< css::drawing::XShape >& xShape, sal_Int32 nID, sal_Int32 nChartCount );
267 void exportTextProps(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet);
269 void ExportContent();
270 void InitRangeSegmentationProperties(
271 const css::uno::Reference<
272 css::chart2::XChartDocument > & xChartDoc );
const css::uno::Reference< css::frame::XModel > & getModel() const
css::uno::Reference< css::chart2::XDiagram > mxNewDiagram
css::uno::Reference< css::chart2::data::XDataSequence > mxCategoriesValues
css::uno::Reference< css::chart::XDiagram > mxDiagram
std::set< sal_Int32 > maExportedAxis
css::uno::Reference< css::frame::XModel > mxChartModel
std::shared_ptr< URLTransformer > mpURLTransformer
::std::vector< AxisIdPair > AxisVector
A helper container class to collect the chart data point labels and the address of the cell[range] fr...
const OUString & getRange() const
Returns the address of the cell[range] from which label contents are sourced.
void setRange(const OUString &rRange)
Sets the address of the cell[range] from which label contents are sourced.
bool empty() const
Returns whether the container is empty or not.
void setLabel(sal_Int32 nIndex, const OUString &rText)
Adds a new indexed label text.
LabelsRangeMap::const_iterator begin() const
size_t count() const
Returns the count of labels stored.
std::map< sal_Int32, OUString > LabelsRangeMap
type of the internal container that stores the indexed label text.
bool hasLabel(sal_Int32 nIndex) const
Indicates whether the container has a label with index specified by nIndex.
LabelsRangeMap::const_iterator end() const
class SAL_NO_VTABLE XPropertySet
std::shared_ptr< FastSerializerHelper > FSHelperPtr
AxisIdPair(AxesType nType, sal_Int32 nId, sal_Int32 nAx)