20 #ifndef INCLUDED_SC_SOURCE_FILTER_INC_XICHART_HXX
21 #define INCLUDED_SC_SOURCE_FILTER_INC_XICHART_HXX
53 class XCoordinateSystem;
56 class XRegressionCurve;
60 class XFormattedString;
65 class XLabeledDataSequence;
111 const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
118 css::uno::Reference< css::chart2::data::XDataProvider >
121 css::uno::Reference< css::drawing::XShape >
156 sal_uInt32 nDffFillType,
162 const Color* pFontColor =
nullptr )
const;
240 {
maData = std::move(rOther.maData);
return *
this; }
285 sal_uInt16 nFormatIdx )
const;
403 void SetString(
const OUString& rString );
426 css::uno::Reference< css::chart2::data::XDataSequence >
429 css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > >
431 sal_uInt16 nLeadFontIdx,
const Color& rLeadFontColor )
const;
510 void SetString(
const OUString& rString );
536 css::uno::Reference< css::chart2::XTitle >
576 sal_uInt16 nFormatIdx, sal_Int16 nLineWeight )
const;
730 css::uno::Reference< css::chart2::XRegressionCurve >
757 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
761 static css::uno::Reference< css::beans::XPropertySet >
813 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
816 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
819 css::uno::Reference< css::chart2::XDataSeries >
841 void ConvertTrendLines( css::uno::Reference< css::chart2::XDataSeries >
const & xDataSeries )
const;
843 css::uno::Reference< css::beans::XPropertySet >
893 css::uno::Reference< css::chart2::XCoordinateSystem >
896 css::uno::Reference< css::chart2::XChartType >
897 CreateChartType( css::uno::Reference< css::chart2::XDiagram >
const & xDiagram,
bool b3dChart )
const;
940 css::uno::Reference< css::chart2::XLegend >
1032 css::uno::Reference< css::chart2::XCoordinateSystem >
1035 css::uno::Reference< css::chart2::XChartType >
1036 CreateChartType( css::uno::Reference< css::chart2::XDiagram >
const & xDiagram, sal_Int32 nApiAxesSetIdx )
const;
1038 css::uno::Reference< css::chart2::data::XLabeledDataSequence >
1053 void InsertDataSeries( css::uno::Reference< css::chart2::XChartType >
const & xChartType,
1054 css::uno::Reference< css::chart2::XDataSeries >
const & xSeries,
1055 sal_Int32 nApiAxesSetIdx )
const;
1057 void CreateDataSeries( css::uno::Reference< css::chart2::XChartType >
const & xChartType,
1058 sal_Int32 nApiAxesSetIdx )
const;
1060 void CreateStockSeries( css::uno::Reference< css::chart2::XChartType >
const & xChartType,
1061 sal_Int32 nApiAxesSetIdx )
const;
1078 std::set< sal_uInt16 >
1095 void Convert(
ScfPropertySet& rPropSet, css::chart2::ScaleData& rScaleData,
bool bMirrorOrient )
const;
1113 void Convert( css::chart2::ScaleData& rScaleData,
bool bMirrorOrient )
const;
1177 css::uno::Reference< css::chart2::XAxis >
1242 void Convert( css::uno::Reference< css::chart2::XDiagram >
const & xDiagram )
const;
1257 css::uno::Reference< css::chart2::XCoordinateSystem >
1258 CreateCoordSystem( css::uno::Reference< css::chart2::XDiagram >
const & xDiagram )
const;
1261 css::uno::Reference< css::chart2::XCoordinateSystem >
const & xCoordSystem,
1264 css::uno::Reference< css::chart2::XAxis >
1267 void ConvertBackground( css::uno::Reference< css::chart2::XDiagram >
const & xDiagram )
const;
1323 const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc,
1325 const OUString& rObjName,
1348 css::uno::Reference<css::chart2::XDiagram>
1379 const css::uno::Reference< css::frame::XModel >& rxModel,
1414 void Convert( css::uno::Reference< css::frame::XModel >
const & xModel,
1416 const OUString& rObjName,
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTYPEGROUP group (called by base class).
void UpdateDataLabel(bool bCateg, bool bValue, bool bPercent)
Updates display type of this data point label text object.
XclChPropertyMode
Specifies the type of a formatting.
bool HasString() const
Returns true, if this text group contains string data.
XclImpChLegendRef mxLegend
3D settings (CHCHART3D record).
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHCHART record (called by base class).
XclImpChType(const XclImpChRoot &rRoot)
XclImpChSourceLinkRef mxSrcLink
Relative text frame position (CHFRAMEPOS record).
void ConvertAxisPosition(ScfPropertySet &rPropSet) const
Converts position settings of this axis at a crossing axis.
void AddChildSeries(const XclImpChSeries &rSeries)
Adds error bar settings from the passed series to the own series.
void ReadChLegendException(XclImpStream &rStrm)
void ConvertNumFmt(ScfPropertySet &rPropSet, bool bPercent) const
Converts and writes the contained number format to the passed property set.
void ConvertRotation(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
void Convert(ScfPropertySet &rPropSet) const
Converts and writes the contained data to the passed property set.
double CalcRelativeFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into a relative position.
virtual Color GetFontColor() const override
Returns the leading font color for the text object.
void ConvertAxis(XclImpChAxisRef const &xChAxis, XclImpChTextRef const &xChAxisTitle, css::uno::Reference< css::chart2::XCoordinateSystem > const &xCoordSystem, const XclImpChAxis *pCrossingAxis) const
Creates and inserts an axis into the container and registers the coordinate system.
std::shared_ptr< XclImpChRootData > XclImpChRootDataRef
void ReadChSerParent(XclImpStream &rStrm)
Reads a CHSERPARENT record specifying the parent series of this series.
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for the text object.
std::shared_ptr< XclImpChMarkerFormat > XclImpChMarkerFormatRef
bool Is3dChart() const
Returns true, if the chart is three-dimensional.
css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(sal_uInt8 nPosBarId, sal_uInt8 nNegBarId) const
Tries to create an error bar API object from the specified Excel error bars.
void InsertDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, css::uno::Reference< css::chart2::XDataSeries > const &xSeries, sal_Int32 nApiAxesSetIdx) const
Inserts the passed series into the chart type.
XclImpChFramePosRef mxFramePos
Formatting runs (CHFORMATRUNS record).
XclImpChAttachedLabel(const XclImpChRoot &rRoot)
std::shared_ptr< XclImpChSeries > XclImpChSeriesRef
XclImpChLabelRangeRef mxLabelRange
Contents of the CHAXIS record.
sal_uInt16 GetAxesSetId() const
Returns the index of the axes set (primary/secondary).
bool IsValidGroup() const
Returns true, if this chart type group contains at least one valid series.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHLEGEND record (called by base class).
bool HasVarPointFormat() const
Returns true, if points of a series show varying automatic area format.
void ConvertWall(ScfPropertySet &rPropSet) const
Converts and writes 3D wall/floor properties to the passed property set.
void ConvertFrame(ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
bool IsPivotChart() const
Returns true, if the chart is based on a pivot table.
Represents the CHFRAME record group containing object frame properties.
XclImpChEscherFormatRef mxEscherFmt
Area format (CHAREAFORMAT record).
virtual ~XclImpChChart() override
std::shared_ptr< XclImpChSerTrendLine > XclImpChSerTrendLineRef
void ConvertChart3d(ScfPropertySet &rPropSet) const
Converts and writes all 3D settings to the passed diagram.
XclImpChTextRef mxText
Legend frame position (CHFRAMEPOS record).
XclImpChAreaFormatRef mxAreaFmt
Line format (CHLINEFORMAT record).
const XclChFormatInfo & GetFormatInfo(XclChObjectType eObjType) const
Returns an info struct about auto formatting for the passed object type.
Contains information for a chart type.
Color GetFontAutoColor() const
Returns the default text color for charts.
bool HasCategoryLabels() const
Returns true, if chart type has category labels enabled (may be disabled in radar charts)...
void SetSeriesData(XclImpChSourceLinkRef const &xValueLink, XclImpChDataFormatRef const &xDataFmt)
Sets link and formatting information for the error bars.
bool HasLine() const
Returns true, if the line style is set to something visible.
void ReadChTypeGroup(XclImpStream &rStrm)
Reads a CHTYPEGROUP record group containing chart type and chart settings.
XclChTypeInfo maTypeInfo
Record identifier for chart type.
void Convert(css::uno::Reference< css::frame::XModel > const &xModel, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Creates the chart object in the passed component.
XclImpChDataFormatRef CreateDataFormat(sal_uInt16 nPointIdx, sal_uInt16 nFormatIdx)
Creates a new CHDATAFORMAT group with the specified point index.
void ConvertAxisPosition(ScfPropertySet &rPropSet, bool b3dChart) const
Converts position settings of this axis at a crossing axis.
XclFormatRunVec maFormats
Link target for this text object.
bool IsManualPlotArea() const
Returns true, if the plot area has benn moved and/or resized manually.
bool IsAutoArea() const
Returns true, if the area format is set to automatic.
XclImpChDataFormatRef mxSeriesFmt
Link data for series bubble sizes.
static void ConvertPieRotation(ScfPropertySet &rPropSet, sal_uInt16 nAngle)
Writes the pie rotation property for the passed angle.
std::shared_ptr< XclImpChAreaFormat > XclImpChAreaFormatRef
void SetTextFormats(const XclFormatRunVec &rFormats)
Sets formatting runs read from a CHFORMATRUNS record.
virtual sal_uInt16 GetFontIndex() const override
Returns the leading font index for the text object.
void Convert(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system and converts all series and axis settings.
XclImpChDataFormatMap maPointFmts
CHDATAFORMAT group for series format.
XclImpChAxesSetRef mxSecnAxesSet
Primary axes set (CHAXESSET group).
bool mbOwnTab
Drawing container for embedded shapes.
bool mbIsPivotChart
true = own sheet; false = embedded object.
sal_uInt16 mnBarDist
Drop bar identifier, needed for auto format.
std::shared_ptr< XclImpChartDrawing > XclImpChartDrawingRef
void ConvertAxisPosition(ScfPropertySet &rPropSet, const XclImpChTypeGroup &rTypeGroup) const
Converts position settings of this axis at a crossing axis.
XclImpChValueRangeRef mxValueRange
Category scaling (CHLABELRANGE record).
void SetDataLabel(const XclImpChTextRef &xLabel)
Sets a label text (CHTEXT group) attached to a series or data point.
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group containing series and point formatting.
XclChObjectType meObjType
Contents of the CHFRAME record.
XclImpChLineFormatRef mxAxisLine
Index into font buffer (CHFONT record).
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence() const
Creates a labeled data sequence object from value data link.
sal_uInt16 mnNumFmtIdx
Wall/floor format (sub records of CHFRAME group).
XclImpChSerTrendLine(const XclImpChRoot &rRoot)
void ConvertRotationBase(ScfPropertySet &rPropSet, bool bSupportsStacked) const
Converts and writes the contained rotation settings to the passed property set.
exports com.sun.star. awt
std::shared_ptr< XclImpChLegend > XclImpChLegendRef
XclImpChChart & GetChartData() const
Returns a reference to the parent chart data object.
XclImpChSeriesVec maSeries
Extended chart type info.
void ReadChDropBar(XclImpStream &rStrm)
Reads a CHDROPBAR record group.
const std::size_t EXC_CHART_PROGRESS_SIZE
XclImpChFrameRef mxPlotFrame
The Z axis title (CHTEXT group).
void Finalize(bool bStockChart)
Final processing after reading the entire chart.
XclImpChChart3dRef mxChart3d
First series in this chart type group (CHSERIES groups).
void Convert(ScfPropertySet &rPropSet, bool b3dWallChart) const
Converts and writes the contained data to the passed property set.
sal_uInt8 mnLabelPos
Type of tick marks of minor grid.
sal_uInt16 GetGroupIdx() const
Returns the axes set identifier this series is assigned to (primary/secondary).
static void SkipBlock(XclImpStream &rStrm)
Helper to skip a CHBEGIN/CHEND block, includes nested blocks.
void Finalize()
Final processing after reading the entire chart.
XclImpChAxesSet(const XclImpChRoot &rRoot, sal_uInt16 nAxesSetId)
std::shared_ptr< XclImpChAxis > XclImpChAxisRef
XclChExtTypeInfo maTypeInfo
Chart type (e.g. CHBAR, CHLINE, ...).
Color GetFontColor() const
Returns the leading font color for the axis labels.
std::shared_ptr< XclImpChChart > XclImpChChartRef
XclImpChType maType
Contents of the CHTYPEGROUP record.
void ReadChSourceLink(XclImpStream &rStrm)
Reads a CHSOURCELINK record.
sal_uInt16 GetLinkTarget() const
Returns the target object this text is linked to.
Represents the CHSERIES record group describing a data series in a chart.
XclImpChSeriesRef mxFirstSeries
Series attached to this chart type group (CHSERIES groups).
void ConvertTitlePosition(const XclChTextKey &rTitleKey) const
Converts the manual position of the specified title.
XclChObjectLink maObjLink
Contents of the CHTEXT record.
XclImpChChart(const XclImpRoot &rRoot)
void FinalizeSeries()
Finalizes series list, assigns child series to parent series.
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERIES record.
virtual ~XclImpChGroupBase()
virtual tools::Rectangle CalcAnchorRect(const XclObjAnchor &rAnchor, bool bDffAnchor) const override
Calculate the resulting rectangle of the passed anchor.
void ReadChType(XclImpStream &rStrm)
Reads a chart type record (e.g.
css::uno::Reference< css::chart2::XDataSeries > CreateDataSeries() const
Creates a data series object with initialized source links.
void Convert(ScfPropertySet &rPropSet, css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts category axis scaling settings.
const sal_uInt16 EXC_CHSERIES_INVALID
Maximum valid series index.
sal_uInt16 GetAxisType() const
Returns the type of this axis.
XclImpChAxisRef mxXAxis
Outer plot area position (CHFRAMEPOS record).
css::uno::Reference< css::chart2::XRegressionCurve > CreateRegressionCurve() const
Creates an API object representing this trend line.
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
sal_uInt16 GetParentIdx() const
Returns the 0-based index of the parent series (e.g.
sal_uInt8 mnBarType
Number of custom error values.
sal_uInt16 mnTarget
Position of the data point.
A map key for text and title objects.
virtual Color GetFontColor() const override
Returns the font color for the axis labels.
OUString GetTitle() const
Returns series title or an empty string, if the series does not contain a title.
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
void Convert(ScfPropertySet &rPropSet, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
XclImpChLegendRef GetLegend() const
Looks for a legend in all chart type groups and returns it.
css::awt::Rectangle CalcHmmFromChartRect(const XclChRectangle &rRect) const
Converts the passed rectangle from Excel chart units into 1/100 mm.
XclChTextType
Enumerates different text box types for default text formatting and title positioning.
void FinishConversion(XclImpDffConverter &rDffConv) const
Finishes the API chart document conversion.
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads the CHSERTRENDLINE record.
XclImpChTextRef mxXAxisTitle
The Z axis (CHAXIS group).
void ConvertAreaFormat(ScfPropertySet &rPropSet, const XclChAreaFormat &rAreaFmt, XclChPropertyMode ePropMode) const
Writes solid area properties to the passed property set.
The CHATTACHEDLABEL record that contains the type of a data point label.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHDROPBAR record (called by base class).
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChAxis &rChAxis, const XclImpChAxis *pCrossingAxis) const
Creates and returns an API axis object.
void ReadChFrLabelProps(XclImpStream &rStrm)
Reads a CHFRLABELPROPS record.
XclChDateRange maDateData
Contents of the CHLABELRANGE record.
void ReadChAttachedLabel(XclImpStream &rStrm)
Reads the CHATTACHEDLABEL record (data series/point labels).
bool mbSupports3d
true = Types can be combined in one axes set.
bool Is3dDeepChart() const
Returns true, if the series in this chart type group are ordered on the Z axis.
bool HasParentSeries() const
Returns true, if the series is child of another series (e.g.
void ReadChFont(XclImpStream &rStrm)
Reads the CHFONT record (font index).
XclImpChLineFormatRef mxMajorGrid
Axis line format (CHLINEFORMAT record).
XclImpChLineFormatRef mxLineFmt
double CalcRelativeFromHmmX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from 1/100 mm into a relative position. ...
void Convert(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained frame data to the passed property set.
exports com.sun.star. chart2
Extended chart type information and access functions.
XclImpChGroupBase()=default
sal_uInt16 mnFlags
Background mode: transparent, opaque.
void ReadChDateRange(XclImpStream &rStrm)
Reads the CHDATERANGE record (date axis scaling properties).
bool HasConnectorLines() const
Returns true, if bars are connected with lines (stacked bar charts only).
void ReadChTick(XclImpStream &rStrm)
Reads the CHTICK record (axis ticks properties).
void ConvertBackground(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Writes all properties of the background area to the passed diagram.
std::shared_ptr< XclImpChText > XclImpChTextRef
sal_Int32 CalcHmmFromChartY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from Excel chart units into 1/100 mm.
void ReadRecordGroup(XclImpStream &rStrm)
Reads the entire record group.
exports com.sun.star. frame
std::shared_ptr< XclChFrLabelProps > XclChFrLabelPropsRef
void ConvertEscherFormat(ScfPropertySet &rPropSet, const XclChEscherFormat &rEscherFmt, const XclChPicFormat *pPicFmt, sal_uInt32 nDffFillType, XclChPropertyMode ePropMode) const
Writes gradient or bitmap area properties to the passed property set.
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHCHART group (called by base class).
virtual sal_uInt16 GetRotation() const override
Returns the rotation value for axis labels.
const sal_uInt16 EXC_CHAXIS_NONE
Base class for a container for all objects on a drawing (spreadsheet or embedded chart object)...
void CreateDataSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of any chart type except stock charts.
void ConvertFrameBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained data to the passed property set.
XclImpChart(const XclImpRoot &rRoot, bool bOwnTab)
Constructs a new chart object.
XclImpChLegend(const XclImpChRoot &rRoot)
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHTEXT group (called by base class).
void FinalizeDataFormats()
Updates missing series formatting by using default formatting from axes sets.
Represents the CHSERTRENDLINE record containing settings for a trend line.
void ReadChChart(XclImpStream &rStrm)
Reads the CHCHART group (entire chart data).
virtual Color GetFontColor() const =0
Derived classes return the leading font color for the text object.
rtl::Reference< XclImpChLineFormat > XclImpChLineFormatRef
XclImpChSourceLinkRef mxBubbleLink
Link data for series title.
sal_uInt16 mnFlags
Space between series.
std::set< sal_uInt16 > maUnusedFormats
Default format for all series (CHDATAFORMAT group).
void ConvertFont(ScfPropertySet &rPropSet, sal_uInt16 nFontIdx, const Color *pFontColor=nullptr) const
Writes font properties to the passed property set.
Base class for record groups containing frame formatting.
std::shared_ptr< XclImpChEscherFormat > XclImpChEscherFormatRef
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(css::uno::Reference< css::chart2::XDiagram > const &xDiagram) const
Creates a coordinate system that contains all chart types for this axes set.
sal_uInt16 GetRecId() const
Returns the record identifier of the chart type record.
sal_uInt16 mnRecId
Contents of the chart type record.
const sal_Int16 EXC_CHLINEFORMAT_SINGLE
XclImpChTypeGroupMap maTypeGroups
Plot area (CHPLOTFRAME group).
bool IsStacked() const
Returns true, if the series in this chart type group are stacked on each other (no percentage)...
XclImpChRoot(const XclImpRoot &rRoot, XclImpChChart &rChartData)
void SetDataFormat(XclImpChDataFormatRef xDataFmt)
Sets formatting information for the trend line.
::std::vector< XclFormatRun > XclFormatRunVec
A vector with all formatting runs for a rich-string.
bool HasCategoryLabels() const
Returns true, if category (X axis) labels are enabled (may be disabled in radar charts).
sal_uInt16 GetCellCount() const
Returns the number of data points of this source link.
XclImpChAxis(const XclImpChRoot &rRoot, sal_uInt16 nAxisType=EXC_CHAXIS_NONE)
void ReadChValueRange(XclImpStream &rStrm)
Reads the CHVALUERANGE record (numeric axis scaling properties).
XclImpChFrameRef mxWallFrame
Minor grid line format (CHLINEFORMAT record).
bool IsDeleted() const
Returns true, if the text object is marked as deleted.
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
void CreateWallFrame()
Creates a CHFRAME object and stores it into the mxWallFrame member.
bool IsValidAxesSet() const
Returns true, if this axes set exists (returns false if this is a dummy object).
static css::uno::Reference< css::beans::XPropertySet > CreateErrorBar(const XclImpChSerErrorBar *pPosBar, const XclImpChSerErrorBar *pNegBar)
Tries to create an error bar API object from the specified Excel error bars.
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads a CHSERERRORBAR record containing error bar settings.
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT group describing a series format or a data point format.
sal_uInt16 mnParentIdx
0-based series index.
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
bool HasDropBars() const
Returns true, if the chart type group contains drop bar formats.
const XclChDataPointPos & GetPointPos() const
Returns the position of the data point label this text is linked to.
void Convert(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, XclImpDffConverter &rDffConv, const OUString &rObjName, const tools::Rectangle &rChartRect) const
Converts and writes all properties to the passed chart.
::std::map< sal_uInt16, std::unique_ptr< XclImpChText > > XclImpChTextMap
bool HasSpline() const
Returns true, if the series line is smoothed.
std::size_t GetProgressSize() const
Returns the number of units on the progress bar needed for the chart.
virtual ~XclImpChRoot() override
std::shared_ptr< XclImpCh3dDataFormat > XclImpCh3dDataFormatRef
XclImpChDataFormatMap maDataFmts
List of series data (CHSERIES groups).
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem(bool b3dChart) const
Creates a coordinate system according to the contained chart type.
Represents the CHTYPEGROUP record group describing a group of series.
::std::map< sal_uInt16, XclImpChTypeGroupRef > XclImpChTypeGroupMap
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, bool b3dChart) const
Creates and returns an object that represents the contained chart type.
void ConvertAreaBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN, bool bUsePicFmt=false) const
Converts and writes the contained area formatting to the passed property set.
XclChObjectType
Enumerates different object types for specific automatic formatting behaviour.
const XclChFramePos & GetFramePosData() const
Returns read-only access to the imported frame position data.
void ReadChSeries(XclImpStream &rStrm)
Reads a CHSERIES group (data series source and formatting).
css::uno::Reference< css::chart2::data::XDataProvider > GetDataProvider() const
Returns the data provider for the chart document.
XclImpChDropBarMap m_DropBars
Chart legend (CHLEGEND group).
Base class for drawing objects (OBJ records).
OUString GetSingleSeriesTitle() const
Returns series title, if the axes set contains only one single series.
::std::vector< XclImpChSeriesRef > XclImpChSeriesVec
Radar charts (linear or filled).
const XclChTypeInfo & GetChartTypeInfo(XclChTypeId eType) const
Returns chart type info for a unique chart type identifier.
XclChLabelRange maLabelData
Represents the CHLEGEND record group describing the chart legend.
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateValueSequence(const OUString &rValueRole) const
Creates a labeled data sequence object from value data link.
sal_uInt16 GetRotation() const
Returns the rotation value for the axis labels.
XclImpChSerErrorBar(const XclImpChRoot &rRoot)
void ReadChDataFormat(XclImpStream &rStrm)
Reads a CHDATAFORMAT record group (default series format).
std::shared_ptr< XclImpChFrame > XclImpChFrameRef
const sal_uInt16 EXC_CHLINEFORMAT_NONE
XclChProperties maProps
Chart frame format (CHFRAME group).
sal_uInt8 GetBarType() const
Returns the type of this error bar (X/Y, plus/minus).
Stores global data needed in various classes of the Chart import filter.
XclImpChTextRef CreateDataLabel(const XclImpChText *pParent) const
Creates a CHTEXT group for the label.
void ConvertTrendLines(css::uno::Reference< css::chart2::XDataSeries > const &xDataSeries) const
Converts all trend lines and inserts them into the passed API data series object. ...
XclImpChartDrawingRef mxChartDrawing
The chart data (CHCHART group).
XclChFrLabelPropsRef mxLabelProps
Index into font buffer (CHFONT record).
::std::map< sal_uInt16, XclImpChDataFormatRef > XclImpChDataFormatMap
Base class for objects with font settings.
XclImpChSourceLinkRef mxTitleLink
Link data for series category names.
XclImpChSeriesVec maSeries
Position of the chart on the sheet (CHCHART record).
void SetUsedFormatIndex(sal_uInt16 nFormatIdx)
Marks the passed format index as used.
sal_uInt16 GetGroupIdx() const
Returns the index of this chart type group.
std::shared_ptr< ScTokenArray > mxTokenArray
Text data (CHSTRING record).
void CreateStockSeries(css::uno::Reference< css::chart2::XChartType > const &xChartType, sal_Int32 nApiAxesSetIdx) const
Creates all data series of a stock chart.
std::shared_ptr< XclImpChChart3d > XclImpChChart3dRef
bool HasLabels() const
Returns true, if the axis shows attached labels.
void UpdateText(const XclImpChText *pParentText)
Updates missing parts of this text object from the passed object.
Represents the entire chart substream (all records in BOF/EOF block).
double CalcRelativeFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into a relative position.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHSERIES record (called by base class).
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
void ConvertObjects(XclImpDffConverter &rDffConv, const css::uno::Reference< css::frame::XModel > &rxModel, const tools::Rectangle &rChartRect)
Converts all objects and inserts them into the chart drawing page.
const XclChTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
virtual void ReadHeaderRecord(XclImpStream &rStrm)=0
Derived classes implement to read the group header record.
std::shared_ptr< XclImpChTick > XclImpChTickRef
XclImpChLegendRef mxLegend
Chart title (CHTEXT group).
Represents the position (anchor) of an object in a Calc document.
void SetDataFormat(const XclImpChDataFormatRef &xDataFmt)
Sets a data point or series format (CHDATAFORMAT group) for this series.
void ReadChChart3d(XclImpStream &rStrm)
Reads the CHCHART3D record (properties for 3D charts).
sal_uInt16 mnAxesSetId
Position of the axes set (inner plot area).
::std::map< XclChDataPointPos, XclImpChDataFormatRef > XclImpChDataFormatMap
const XclImpChText * GetDefaultText(XclChTextType eTextType) const
Returns the specified default text.
const sal_uInt16 EXC_CHLINEFORMAT_SHOWAXIS
void ConvertFont(ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
XclImpChChartRef mxChartData
void Finalize()
Final processing after reading the entire chart data.
css::uno::Reference< css::chart2::XLegend > CreateLegend() const
Creates a new legend object.
bool mbLabelDeleted
0-based index of parent series (trend lines and error bars).
XclImpChSourceLink(const XclImpChRoot &rRoot)
const sal_uInt16 EXC_CHCHART3D_CLUSTER
true = real 3d perspective.
css::uno::Reference< css::chart2::XAxis > CreateAxis(const XclImpChTypeGroup &rTypeGroup, const XclImpChAxis *pCrossingAxis) const
Creates an API axis object.
XclImpChLabelRange(const XclImpChRoot &rRoot)
void SetTrendlineName(const OUString &aTrendlineName)
void Finalize()
Final processing after reading the entire chart.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXESSET record (called by base class).
const sal_uInt16 EXC_CHSERIESFORMAT_SMOOTHED
Color GetSeriesFillAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic fill color of filled series.
const XclImpChFramePosRef & GetPlotAreaFramePos() const
Returns the outer plot area position, if existing.
void ReadChChartLine(XclImpStream &rStrm)
Reads a CHCHARTLINE record group.
void ConvertTitlePositions() const
Converts the manual positions of all axis titles.
void ReadChSerErrorBar(XclImpStream &rStrm)
Reads the CHSERERRORBAR record.
XclImpChFrameRef mxFrame
All series and point formats (CHDATAFORMAT groups).
XclImpChFrameRef mxFrame
Linked data (CHSOURCELINK with CHSTRING record).
std::shared_ptr< XclImpChAxesSet > XclImpChAxesSetRef
void ReadChProperties(XclImpStream &rStrm)
Reads a CHPROPERTIES record (global chart properties).
const sal_uInt16 EXC_CHLINEFORMAT_AUTO
XclChTypeId
Enumerates all kinds of different chart types.
sal_uInt16 mnSeriesIdx
Chart type group (CHTYPEGROUP group) this series is assigned to.
This is the central instance for converting binary DFF data into shape objects.
XclImpChText(const XclImpChRoot &rRoot)
::std::map< sal_uInt16, XclImpChTextRef > XclImpChTextMap
sal_uInt16 mnGroupIdx
Error bar settings (CHSERERRORBAR records).
::std::map< sal_uInt16, XclImpChLineFormat > XclImpChLineFormatMap
exports com.sun.star.chart2. data
XclImpChRootDataRef mxChData
sal_Int32 CalcHmmFromChartX(sal_Int32 nPosX) const
Converts the passed horizontal coordinate from Excel chart units into 1/100 mm.
Represents the CHCHART3D record that contains 3D view settings.
XclImpChFontRef mxFont
Text object frame properties (CHFRAME group).
void ReadChLabelRange(XclImpStream &rStrm)
Reads the CHLABELRANGE record (category axis scaling properties).
virtual ~XclImpChSourceLink() override
XclImpChTick(const XclImpChRoot &rRoot)
OUString GetString() const
Returns explicit string data or an empty string.
XclImpChValueRange(const XclImpChRoot &rRoot)
void Convert(css::chart2::ScaleData &rScaleData, bool bMirrorOrient) const
Converts value axis scaling settings.
void ReadChSerTrendLine(XclImpStream &rStrm)
Reads a CHSERTRENDLINE record containing trend line settings.
XclImpChTextMap maLabels
CHDATAFORMAT groups for data point formats.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHFRAME record (called by base class).
XclImpChartDrawing & GetChartDrawing()
Returns (initially creates) the drawing container for embedded shapes.
const XclChExtTypeInfo & GetTypeInfo() const
Returns the chart type info struct for the contained chart type.
virtual sal_uInt16 GetRotation() const =0
Derived classes return the rotation value for the text object.
std::shared_ptr< XclImpChSourceLink > XclImpChSourceLinkRef
Represents the CHAXIS record group describing an entire chart axis.
std::shared_ptr< XclImpChFont > XclImpChFontRef
XclImpChLineFormatRef mxMinorGrid
Major grid line format (CHLINEFORMAT record).
A wrapper for a UNO property set.
const sal_uInt16 EXC_CHMARKERFORMAT_AUTO
Automatic symbol size for triple lines.
XclImpChTypeGroupRef GetTypeGroup(sal_uInt16 nGroupIdx) const
Returns the specified chart type group.
virtual sal_uInt16 GetFontIndex() const =0
Derived classes return the leading font index for the text object.
Color GetSeriesLineAutoColor(sal_uInt16 nFormatIdx) const
Returns the automatic line color of linear series.
const XclImpChRoot & GetChRoot() const
Returns this root instance - for code readability in derived classes.
css::uno::Reference< css::chart2::XCoordinateSystem > CreateCoordSystem() const
Creates a coordinate system according to the contained chart type.
void SetString(const OUString &rString)
Sets explicit string data for this text object.
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT record group containing an axis title.
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHLEGEND group (called by base class).
::std::map< sal_uInt16, std::unique_ptr< XclImpChDropBar > > XclImpChDropBarMap
Represents the CHAXESSET record group describing an axes set (X/Y/Z axes).
sal_uInt8 GetLinkType() const
Returns the link type (to worksheet, directly, default, ...).
tools::Rectangle maChartRect
XclImpChAxisRef mxYAxis
The X axis (CHAXIS group).
XclImpChFontRef mxFont
Axis ticks (CHTICK record).
XclImpChTickRef mxTick
Value scaling (CHVALUERANGE record).
XclImpChartDrawing(const XclImpRoot &rRoot, bool bOwnTab)
std::shared_ptr< XclImpChDataFormat > XclImpChDataFormatRef
XclImpChTypeGroupRef GetFirstTypeGroup() const
Returns the first chart type group.
void ReadChFramePos(XclImpStream &rStrm)
Reads the CHFRAMEPOS record (frame position and size).
void ConvertLineFormat(ScfPropertySet &rPropSet, const XclChLineFormat &rLineFmt, XclChPropertyMode ePropMode) const
Writes all line properties to the passed property set.
const sal_uInt16 EXC_CHDATAFORMAT_UNKNOWN
As format index: global default for an axes set.
XclImpChSourceLinkRef mxCategLink
Link data for series values.
XclChDataPointPos maPointPos
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHSERIES group (called by base class).
XclImpChFramePosRef mxFramePos
Contents of the CHAXESSET record.
void FillAllSourceLinks(::std::vector< ScTokenRef > &rTokens) const
std::shared_ptr< XclImpChPieFormat > XclImpChPieFormatRef
std::shared_ptr< XclImpChLabelRange > XclImpChLabelRangeRef
void FillSourceLink(::std::vector< ScTokenRef > &rTokens) const
css::uno::Reference< css::chart2::XDiagram > CreateDiagram() const
Creates and returns a new diagram object and converts global chart settings.
Specifies the position of a data series or data point.
void SetString(const OUString &rString)
Sets explicit string data for this text object.
XclImpChFramePosRef mxFramePos
Contents of the CHLEGEND record.
bool HasString() const
Returns true, if the source link contains explicit string data.
bool Is3dWallChart() const
Returns true, if chart type supports wall and floor format in 3d mode.
XclImpChDataFormatRef mxGroupFmt
Global line formats (CHCHARTLINE group).
const sal_uInt16 EXC_CHTEXT_DELETED
Text object is inserted automatically.
XclImpChTextRef mxZAxisTitle
The Y axis title (CHTEXT group).
std::shared_ptr< XclImpChSeriesFormat > XclImpChSeriesFormatRef
void ConvertNumFmt(ScfPropertySet &rPropSet, bool bPercent) const
Converts and writes the contained number format to the passed property set.
sal_Int32 GetApiAxesSetIndex() const
Returns the axes set index used by the chart API.
XclImpChDataFormatRef mxDataFmt
Contents of the CHSERTRENDLINE record.
std::shared_ptr< XclImpString > XclImpStringRef
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHAXIS record (called by base class).
XclChTypeCateg meTypeCateg
Unique chart type identifier.
XclImpChLineFormatMap m_ChartLines
Dropbars (CHDROPBAR group).
bool IsAutoLine() const
Returns true, if the line format is set to automatic.
std::shared_ptr< XclImpChAttachedLabel > XclImpChAttLabelRef
Drawing container of a chart.
void ConvertFontBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet) const
Converts and writes the contained font settings to the passed property set.
SCTAB mnScTab
Position and size of the chart shape in 1/100 mm.
XclImpChRoot & operator=(XclImpChRoot const &)=delete
void ReadChPlotFrame(XclImpStream &rStrm)
Reads the CHPLOTFRAME record group containing diagram area formatting.
double CalcRelativeFromHmmY(sal_Int32 nPosY) const
Converts the passed vertical coordinate from 1/100 mm into a relative position.
XclImpChFrameRef mxFrame
Legend text format (CHTEXT group).
XclImpChAxisRef mxZAxis
The Y axis (CHAXIS group).
XclImpChSeries(const XclImpChRoot &rRoot, sal_uInt16 nSeriesIdx)
XclImpChTypeGroup(const XclImpChRoot &rRoot)
Base class for complex chart classes, provides access to other components of the chart.
XclImpChTextRef mxYAxisTitle
The X axis title (CHTEXT group).
Represents the CHSERERRORBAR record containing settings for error bars.
virtual sal_uInt16 GetFontIndex() const override
Returns the font index for the axis labels.
void ReadChAxisLine(XclImpStream &rStrm)
Reads a CHAXISLINE record specifying the target for following line properties.
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a frame formatting record (called by base class).
bool HasChildSeries() const
Returns true, if the series contains child series (e.g.
bool mbOwnTab
Index of the sheet that contains the chart.
std::shared_ptr< XclImpChFramePos > XclImpChFramePosRef
XclImpChFontBase & operator=(XclImpChFontBase const &)=default
void FinalizeTitle()
Finalizes chart title, tries to detect title auto-generated from series name.
XclImpChGroupBase & operator=(XclImpChGroupBase const &)=default
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage...
virtual void OnObjectInserted(const XclImpDrawObjBase &rDrawObj) override
Called whenever an object has been inserted into the draw page.
void Finalize()
Final processing after reading the entire chart.
void InitConversion(const css::uno::Reference< css::chart2::XChartDocument > &xChartDoc, const tools::Rectangle &rChartRect) const
Starts the API chart document conversion.
const XclImpChLegendRef & GetLegend() const
Returns the legend object.
XclImpChFrameBase()
Creates a new frame object without internal formatting objects.
const sal_uInt8 EXC_PATT_NONE
void ReadChAxesSet(XclImpStream &rStrm)
Reads a CHAXESSET group (primary/secondary axes set).
virtual void ReadSubRecord(XclImpStream &rStrm)=0
Derived classes implement to read a record from the group.
Base class for chart record groups.
XclImpChDataFormatRef mxDataFmt
Link data for manual error bar values.
::std::map< sal_uInt8, std::unique_ptr< XclImpChSerErrorBar > > XclImpChSerErrorBarMap
OUString GetSingleSeriesTitle() const
Returns series title, if the chart type group contains only one single series.
void ConvertDataLabel(ScfPropertySet &rPropSet, const XclChTypeInfo &rTypeInfo, const ScfPropertySet *pGlobalPropSet) const
Converts and writes all contained data to the passed data point label property set.
css::uno::Reference< css::chart2::XTitle > CreateTitle() const
Creates a title text object.
bool IsClustered() const
Returns true, if the data points are clustered on the X axis.
void ReadChText(XclImpStream &rStrm)
Reads a CHTEXT group (chart title and series/point captions).
void Finalize()
Final processing after reading the entire chart.
sal_uInt8 GetDestType() const
Returns the destination object (title, values, category, ...).
XclImpChFrame(const XclImpChRoot &rRoot, XclChObjectType eObjType)
Creates a new frame object with specific default formatting.
This class is used to import record oriented streams.
void ConvertLineBase(const XclImpChRoot &rRoot, ScfPropertySet &rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx=EXC_CHDATAFORMAT_UNKNOWN) const
Converts and writes the contained line formatting to the passed property set.
void FinalizeDataFormats()
Assigns all imported CHDATAFORMAT groups to the respective series.
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
XclImpChTextMap m_DefTexts
Chart properties (CHPROPERTIES record).
std::shared_ptr< XclImpChValueRange > XclImpChValueRangeRef
const sal_uInt8 EXC_CHTICK_NOLABEL
css::uno::Reference< css::chart2::data::XDataSequence > CreateDataSequence(const OUString &rRole) const
Creates a data sequence containing the link into the Calc document.
css::uno::Reference< css::drawing::XShape > GetTitleShape(const XclChTextKey &rTitleKey) const
Returns the drawing shape interface of the specified title object.
void ReadChAxis(XclImpStream &rStrm)
Reads a CHAXIS record group containing a single axis.
Represents the CHCHART record group describing the chart contents.
static std::size_t GetProgressSize()
Returns the number of units on the progress bar needed for the chart.
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTYPEGROUP record (called by base class).
virtual ~XclImpChart() override
Represents the CHDROPBAR record group describing pos/neg bars in line charts.
void ReadChDefaultText(XclImpStream &rStrm)
Reads a CHDEFAULTTEXT group (default text formats).
sal_uInt16 PopUnusedFormatIndex()
Returns the next unused format index and marks it as used.
sal_uInt8 mnLinkType
Type of the destination (title, values, ...).
Access to global data from other classes.
css::uno::Reference< css::chart2::XChartType > CreateChartType(css::uno::Reference< css::chart2::XDiagram > const &xDiagram, sal_Int32 nApiAxesSetIdx) const
Creates and returns an object that represents the contained chart type.
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXIS group (called by base class).
css::uno::Sequence< css::uno::Reference< css::chart2::XFormattedString > > CreateStringSequence(const XclImpChRoot &rRoot, sal_uInt16 nLeadFontIdx, const Color &rLeadFontColor) const
Creates a sequence of formatted string objects.
XclImpChTextRef mxTitle
Secondary axes set (CHAXESSET group).
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence() const
Creates a labeled data sequence object for axis categories.
std::vector< XclImpChSerTrendLineRef > maTrendLines
Data point labels (CHTEXT groups).
sal_Int16 GetLineWeight() const
Returns the line weight used for this frame.
XclImpChFontBase()=default
sal_Int32 GetApiAxisDimension() const
Returns the axis dimension index used by the chart API.
XclImpChSerErrorBarMap m_ErrorBars
Trend line settings (CHSERTRENDLINE records).
XclImpChDropBar(sal_uInt16 nDropBar)
XclImpChAxesSetRef mxPrimAxesSet
Default text objects (CHDEFAULTTEXT groups).
const sal_uInt16 EXC_CHAREAFORMAT_AUTO
void AddSeries(XclImpChSeriesRef const &xSeries)
Inserts a series attached to this chart type group.
sal_uInt16 mnGroupIdx
Additional flags.
const XclImpChDataFormatRef & GetGroupFormat() const
Returns the default series data format.
sal_uInt16 GetFontIndex() const
Returns the contained font index.
The CHFONT record containing a font index for text objects.
css::uno::Reference< css::chart2::data::XLabeledDataSequence > CreateCategSequence(const OUString &rCategRole) const
Creates a labeled data sequence object from category data link.
XclImpChSourceLinkRef mxValueLink
Contents of the CHSERERRORBAR record.
virtual void ReadSubRecord(XclImpStream &rStrm) override
Reads a record from the CHAXESSET group (called by base class).
void UpdateObjFrame(const XclObjLineData &rLineData, const XclObjFillData &rFillData)
Sets formatting from BIFF3-BIFF5 OBJ record, if own formatting is invisible.
void ReadChSourceLink(XclImpStream &rStrm)
Reads the CHSOURCELINK record (link to source data).
void ReadChartSubStream(XclImpStream &rStrm)
Reads the complete chart substream (BOF/EOF block).
virtual void ReadHeaderRecord(XclImpStream &rStrm) override
Reads the CHTEXT record (called by base class).
std::shared_ptr< XclImpChTypeGroup > XclImpChTypeGroupRef
XclImpStringRef mxString
Contents of the CHSOURCELINK record.
virtual ~XclImpChFontBase()
bool IsPercent() const
Returns true, if the series in this chart type group are stacked on each other as percentage...
Represents the CHTEXT record group containing text object properties.