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