LibreOffice Module chart2 (master) 1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Attributes | List of all members
chart::VSeriesPlotter Class Reference

#include <VSeriesPlotter.hxx>

Inheritance diagram for chart::VSeriesPlotter:
[legend]
Collaboration diagram for chart::VSeriesPlotter:
[legend]

Public Member Functions

 VSeriesPlotter ()=delete
 
virtual ~VSeriesPlotter () override
 
virtual void addSeries (std::unique_ptr< VDataSeries > pSeries, sal_Int32 zSlot, sal_Int32 xSlot, sal_Int32 ySlot)
 A new series can be positioned relative to other series in a chart. More...
 
virtual css::drawing::Direction3D getPreferredDiagramAspectRatio () const
 a value <= 0 for a directions means that this direction can be stretched arbitrary More...
 
void addSecondaryValueScale (const ExplicitScaleData &rScale, sal_Int32 nAxisIndex)
 this enables you to handle series on the same x axis with different y axis the property AttachedAxisIndex at a dataseries indicates which value scale is to use (0==AttachedAxisIndex or a not set AttachedAxisIndex property indicates that this series should be scaled at the main y-axis; 1==AttachedAxisIndex indicates that the series should be scaled at the first secondary axis if there is any otherwise at the main y axis and so on. More...
 
virtual double getMinimumX () override
 
virtual double getMaximumX () override
 
virtual double getMinimumYInRange (double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex) override
 
virtual double getMaximumYInRange (double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex) override
 
virtual double getMinimumZ () override
 
virtual double getMaximumZ () override
 
virtual bool isExpandBorderToIncrementRhythm (sal_Int32 nDimensionIndex) override
 
virtual bool isExpandIfValuesCloseToBorder (sal_Int32 nDimensionIndex) override
 
virtual bool isExpandWideValuesToZero (sal_Int32 nDimensionIndex) override
 
virtual bool isExpandNarrowValuesTowardZero (sal_Int32 nDimensionIndex) override
 
virtual bool isSeparateStackingForDifferentSigns (sal_Int32 nDimensionIndex) override
 
virtual tools::Long calculateTimeResolutionOnXAxis () override
 
virtual void setTimeResolutionOnXAxis (tools::Long nTimeResolution, const Date &rNullDate) override
 
void getMinimumAndMaximumX (double &rfMinimum, double &rfMaximum) const
 
void getMinimumAndMaximumYInContinuousXRange (double &rfMinY, double &rfMaxY, double fMinX, double fMaxX, sal_Int32 nAxisIndex) const
 
virtual std::vector< ViewLegendEntrycreateLegendEntries (const css::awt::Size &rEntryKeyAspectRatio, css::chart2::LegendPosition eLegendPosition, const css::uno::Reference< css::beans::XPropertySet > &xTextProperties, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::uno::Reference< css::uno::XComponentContext > &xContext, ChartModel &rModel) override
 
virtual LegendSymbolStyle getLegendSymbolStyle ()
 
virtual css::awt::Size getPreferredLegendKeyAspectRatio () override
 
virtual css::uno::Any getExplicitSymbol (const VDataSeries &rSeries, sal_Int32 nPointIndex)
 
rtl::Reference< SvxShapeGroupcreateLegendSymbolForSeries (const css::awt::Size &rEntryKeyAspectRatio, const VDataSeries &rSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
rtl::Reference< SvxShapeGroupcreateLegendSymbolForPoint (const css::awt::Size &rEntryKeyAspectRatio, const VDataSeries &rSeries, sal_Int32 nPointIndex, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
std::vector< ViewLegendEntrycreateLegendEntriesForSeries (const css::awt::Size &rEntryKeyAspectRatio, const VDataSeries &rSeries, const css::uno::Reference< css::beans::XPropertySet > &xTextProperties, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::uno::Reference< css::uno::XComponentContext > &xContext)
 
std::vector< ViewLegendSymbolcreateSymbols (const css::awt::Size &rEntryKeyAspectRatio, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::uno::Reference< css::uno::XComponentContext > &xContext)
 
std::vector< ViewLegendSymbolcreateSymbolsForSeries (const css::awt::Size &rEntryKeyAspectRatio, const VDataSeries &rSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::uno::Reference< css::uno::XComponentContext > &xContext)
 
std::vector< VDataSeries * > getAllSeries ()
 
std::vector< VDataSeries const * > getAllSeries () const
 
sal_Int32 getPointCount () const
 
void setNumberFormatsSupplier (const css::uno::Reference< css::util::XNumberFormatsSupplier > &xNumFmtSupplier)
 
void setColorScheme (const css::uno::Reference< css::chart2::XColorScheme > &xColorScheme)
 
void setExplicitCategoriesProvider (ExplicitCategoriesProvider *pExplicitCategoriesProvider)
 
ExplicitCategoriesProvidergetExplicitCategoriesProvider ()
 
css::uno::Sequence< OUString > getSeriesNames () const
 
css::uno::Sequence< OUString > getAllSeriesNames () const
 
void setPageReferenceSize (const css::awt::Size &rPageRefSize)
 
void setCoordinateSystemResolution (const css::uno::Sequence< sal_Int32 > &rCoordinateSystemResolution)
 
bool PointsWereSkipped () const
 
void setPieLabelsAllowToMove (bool bIsPieOrDonut)
 
void setAvailableOuterRect (const basegfx::B2IRectangle &aAvailableOuterRect)
 
double getTransformedDepth () const
 
void releaseShapes ()
 
virtual void rearrangeLabelToAvoidOverlapIfRequested (const css::awt::Size &rPageSize)
 
bool WantToPlotInFrontOfAxisLine ()
 
virtual bool shouldSnapRectToUsedArea ()
 
OUString getLabelTextForValue (VDataSeries const &rDataSeries, sal_Int32 nPointIndex, double fValue, bool bAsPercentage)
 This method returns a text string representation of the passed numeric value by exploiting a NumberFormatterWrapper object. More...
 
- Public Member Functions inherited from chart::PlotterBase
 PlotterBase (sal_Int32 nDimension)
 
virtual ~PlotterBase ()
 
virtual void initPlotter (const rtl::Reference< SvxShapeGroupAnyD > &xLogicTarget, const rtl::Reference< SvxShapeGroupAnyD > &xFinalTarget, const OUString &rCID)
 
virtual void setScales (std::vector< ExplicitScaleData > &&rScales, bool bSwapXAndYAxis)
 
virtual void setTransformationSceneToScreen (const css::drawing::HomogenMatrix &rMatrix)
 
virtual void createShapes ()=0
 
virtual double getMinimumX ()=0
 
virtual double getMaximumX ()=0
 
virtual double getMinimumYInRange (double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex)=0
 
virtual double getMaximumYInRange (double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex)=0
 
virtual double getMinimumZ ()=0
 
virtual double getMaximumZ ()=0
 
virtual bool isExpandBorderToIncrementRhythm (sal_Int32 nDimensionIndex)=0
 
virtual bool isExpandIfValuesCloseToBorder (sal_Int32 nDimensionIndex)=0
 
virtual bool isExpandWideValuesToZero (sal_Int32 nDimensionIndex)=0
 
virtual bool isExpandNarrowValuesTowardZero (sal_Int32 nDimensionIndex)=0
 
virtual bool isSeparateStackingForDifferentSigns (sal_Int32 nDimensionIndex)=0
 
virtual tools::Long calculateTimeResolutionOnXAxis ()=0
 
virtual void setTimeResolutionOnXAxis (tools::Long nTimeResolution, const Date &rNullDate)=0
 
virtual css::awt::Size getPreferredLegendKeyAspectRatio ()=0
 
virtual std::vector< ViewLegendEntrycreateLegendEntries (const css::awt::Size &rEntryKeyAspectRatio, css::chart2::LegendPosition eLegendPosition, const css::uno::Reference< css::beans::XPropertySet > &xTextProperties, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::uno::Reference< css::uno::XComponentContext > &xContext, ChartModel &rModel)=0
 

Static Public Member Functions

static VSeriesPlottercreateSeriesPlotter (const rtl::Reference< ::chart::ChartType > &xChartTypeModel, sal_Int32 nDimensionCount, bool bExcludingPositioning)
 
- Static Public Member Functions inherited from chart::PlotterBase
static bool isValidPosition (const css::drawing::Position3D &rPos)
 

Protected Member Functions

 VSeriesPlotter (rtl::Reference< ::chart::ChartType > xChartTypeModel, sal_Int32 nDimensionCount, bool bCategoryXAxis=true)
 
rtl::Reference< SvxShapeGroupAnyDgetSeriesGroupShape (VDataSeries *pDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
rtl::Reference< SvxShapeGroupAnyDgetSeriesGroupShapeFrontChild (VDataSeries *pDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
rtl::Reference< SvxShapeGroupAnyDgetSeriesGroupShapeBackChild (VDataSeries *pDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
rtl::Reference< SvxShapeGroupAnyDgetErrorBarsGroupShape (VDataSeries &rDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, bool bYError)
 
rtl::Reference< SvxShapeTextcreateDataLabel (const rtl::Reference< SvxShapeGroupAnyD > &xTarget, VDataSeries &rDataSeries, sal_Int32 nPointIndex, double fValue, double fSumValue, const css::awt::Point &rScreenPosition2D, LabelAlignment eAlignment, sal_Int32 nOffset=0, sal_Int32 nTextWidth=0)
 This method creates a text shape for a label related to a data point and append it to the root text shape group (xTarget). More...
 
void createErrorBar (const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const css::drawing::Position3D &rPos, const css::uno::Reference< css::beans::XPropertySet > &xErrorBarProperties, const VDataSeries &rVDataSeries, sal_Int32 nIndex, bool bVertical, const double *pfScaledLogicX)
 creates two T-shaped error bars in both directions (up/down or left/right depending on the bVertical parameter) More...
 
void createErrorRectangle (const css::drawing::Position3D &rUnscaledLogicPosition, VDataSeries &rVDataSeries, sal_Int32 nIndex, const rtl::Reference< SvxShapeGroupAnyD > &rTarget, bool bUseXErrorData, bool bUseYErrorData)
 
void createErrorBar_X (const css::drawing::Position3D &rUnscaledLogicPosition, VDataSeries &rVDataSeries, sal_Int32 nPointIndex, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 
void createErrorBar_Y (const css::drawing::Position3D &rUnscaledLogicPosition, VDataSeries &rVDataSeries, sal_Int32 nPointIndex, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, double const *pfScaledLogicX)
 
void createRegressionCurvesShapes (VDataSeries const &rVDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const rtl::Reference< SvxShapeGroupAnyD > &xEquationTarget, bool bMaySkipPointsInRegressionCalculation)
 
void createRegressionCurveEquationShapes (const OUString &rEquationCID, const css::uno::Reference< css::beans::XPropertySet > &xEquationProperties, const rtl::Reference< SvxShapeGroupAnyD > &xEquationTarget, const css::uno::Reference< css::chart2::XRegressionCurveCalculator > &xRegressionCurveCalculator, css::awt::Point aDefaultPos)
 
virtual PlottingPositionHelpergetPlottingPositionHelper (sal_Int32 nAxisIndex) const
 
VDataSeriesgetFirstSeries () const
 
OUString getCategoryName (sal_Int32 nPointIndex) const
 
- Protected Member Functions inherited from chart::PlotterBase
rtl::Reference< SvxShapeGroupAnyDcreateGroupShape (const rtl::Reference< SvxShapeGroupAnyD > &xTarget, const OUString &rName=OUString())
 
- Protected Member Functions inherited from chart::MinimumAndMaximumSupplier
 ~MinimumAndMaximumSupplier ()
 
- Protected Member Functions inherited from chart::LegendEntryProvider
 ~LegendEntryProvider ()
 

Static Protected Member Functions

static rtl::Reference< SvxShapeGroupgetLabelsGroupShape (VDataSeries &rDataSeries, const rtl::Reference< SvxShapeGroupAnyD > &xTarget)
 This method creates a 2D group shape for containing all text shapes needed for this series; the group is added to the text target;. More...
 
static void addErrorBorder (const css::drawing::Position3D &rPos0, const css::drawing::Position3D &rPos1, const rtl::Reference< SvxShapeGroupAnyD > &rTarget, const css::uno::Reference< css::beans::XPropertySet > &rErrorBorderProp)
 

Protected Attributes

PlottingPositionHelperm_pMainPosHelper
 
rtl::Reference< ::chart::ChartTypem_xChartTypeModel
 
std::vector< std::vector< VDataSeriesGroup > > m_aZSlots
 
bool m_bCategoryXAxis
 
tools::Long m_nTimeResolution
 
Date m_aNullDate
 
std::unique_ptr< NumberFormatterWrapperm_apNumberFormatterWrapper
 
css::uno::Reference< css::chart2::XColorScheme > m_xColorScheme
 
ExplicitCategoriesProviderm_pExplicitCategoriesProvider
 
css::uno::Sequence< sal_Int32 > m_aCoordinateSystemResolution
 
bool m_bPointsWereSkipped
 
bool m_bPieLabelsAllowToMove
 
basegfx::B2IRectangle m_aAvailableOuterRect
 
css::awt::Size m_aPageReferenceSize
 
- Protected Attributes inherited from chart::PlotterBase
rtl::Reference< SvxShapeGroupAnyDm_xLogicTarget
 
rtl::Reference< SvxShapeGroupAnyDm_xFinalTarget
 
OUString m_aCID
 
const sal_Int32 m_nDimension
 
PlottingPositionHelperm_pPosHelper
 

Private Types

typedef std::map< sal_Int32, ExplicitScaleDatatSecondaryValueScales
 
typedef std::map< sal_Int32, std::unique_ptr< PlottingPositionHelper > > tSecondaryPosHelperMap
 

Private Attributes

tSecondaryValueScales m_aSecondaryValueScales
 
tSecondaryPosHelperMap m_aSecondaryPosHelperMap
 

Detailed Description

Definition at line 118 of file VSeriesPlotter.hxx.

Member Typedef Documentation

◆ tSecondaryPosHelperMap

typedef std::map< sal_Int32 , std::unique_ptr<PlottingPositionHelper> > chart::VSeriesPlotter::tSecondaryPosHelperMap
private

Definition at line 442 of file VSeriesPlotter.hxx.

◆ tSecondaryValueScales

Definition at line 439 of file VSeriesPlotter.hxx.

Constructor & Destructor Documentation

◆ VSeriesPlotter() [1/2]

chart::VSeriesPlotter::VSeriesPlotter ( )
delete

◆ ~VSeriesPlotter()

chart::VSeriesPlotter::~VSeriesPlotter ( )
overridevirtual

Definition at line 163 of file VSeriesPlotter.cxx.

References m_aSecondaryPosHelperMap, m_aSecondaryValueScales, and m_aZSlots.

◆ VSeriesPlotter() [2/2]

chart::VSeriesPlotter::VSeriesPlotter ( rtl::Reference< ::chart::ChartType xChartTypeModel,
sal_Int32  nDimensionCount,
bool  bCategoryXAxis = true 
)
protected

Member Function Documentation

◆ addErrorBorder()

void chart::VSeriesPlotter::addErrorBorder ( const css::drawing::Position3D &  rPos0,
const css::drawing::Position3D &  rPos1,
const rtl::Reference< SvxShapeGroupAnyD > &  rTarget,
const css::uno::Reference< css::beans::XPropertySet > &  rErrorBorderProp 
)
staticprotected

◆ addSecondaryValueScale()

void chart::VSeriesPlotter::addSecondaryValueScale ( const ExplicitScaleData rScale,
sal_Int32  nAxisIndex 
)

this enables you to handle series on the same x axis with different y axis the property AttachedAxisIndex at a dataseries indicates which value scale is to use (0==AttachedAxisIndex or a not set AttachedAxisIndex property indicates that this series should be scaled at the main y-axis; 1==AttachedAxisIndex indicates that the series should be scaled at the first secondary axis if there is any otherwise at the main y axis and so on.

The parameter nAxisIndex matches this DataSeries property 'AttachedAxisIndex'. nAxisIndex must be greater than 0. nAxisIndex==1 refers to the first secondary axis. )

Exceptions
css::uno::RuntimeException

Definition at line 2242 of file VSeriesPlotter.cxx.

References m_aSecondaryValueScales.

Referenced by chart::SeriesPlotterContainer::setScalesFromCooSysToPlotter().

◆ addSeries()

void chart::VSeriesPlotter::addSeries ( std::unique_ptr< VDataSeries pSeries,
sal_Int32  zSlot,
sal_Int32  xSlot,
sal_Int32  ySlot 
)
virtual

A new series can be positioned relative to other series in a chart.

This positioning has two dimensions. First a series can be placed next to each other on the category axis. This position is indicated by xSlot. Second a series can be stacked on top of another. This position is indicated by ySlot. The positions are counted from 0 on. xSlot < 0 : append the series to already existing x series xSlot > occupied : append the series to already existing x series

If the xSlot is already occupied the given ySlot decides what should happen: ySlot < -1 : move all existing series in the xSlot to next slot ySlot == -1 : stack on top at given x position ySlot == already occupied : insert at given y and x position ySlot > occupied : stack on top at given x position

Reimplemented in chart::AreaChart, chart::BarChart, chart::CandleStickChart, and chart::PieChart.

Definition at line 181 of file VSeriesPlotter.cxx.

References chart::VDataSeriesGroup::addSeries(), chart::ExplicitCategoriesProvider::getOriginalCategories(), chart::VDataSeriesGroup::getSeriesCount(), chart::ExplicitCategoriesProvider::isDateAxis(), m_aZSlots, m_bCategoryXAxis, m_pExplicitCategoriesProvider, and o3tl::make_unsigned().

Referenced by chart::PieChart::addSeries(), and chart::SeriesPlotterContainer::initializeCooSysAndSeriesPlotter().

◆ calculateTimeResolutionOnXAxis()

tools::Long chart::VSeriesPlotter::calculateTimeResolutionOnXAxis ( )
overridevirtual

◆ createDataLabel()

rtl::Reference< SvxShapeText > chart::VSeriesPlotter::createDataLabel ( const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
VDataSeries rDataSeries,
sal_Int32  nPointIndex,
double  fValue,
double  fSumValue,
const css::awt::Point &  rScreenPosition2D,
LabelAlignment  eAlignment,
sal_Int32  nOffset = 0,
sal_Int32  nTextWidth = 0 
)
protected

This method creates a text shape for a label related to a data point and append it to the root text shape group (xTarget).

Parameters
xTargetthe main root text shape group.
rDataSeriesthe data series, the data point belongs to.
nPointIndexthe index of the data point the label is related to.
fValuethe value of the data point.
fSumValuethe sum of all data point values in the data series.
rScreenPosition2Dthe anchor point position for the label.
eAlignmentthe required alignment of the label.
offsetan optional offset depending on the label alignment.
nTextWidththe maximum width of a text label (used for text wrapping).
Returns
a reference to the created text shape.

Definition at line 388 of file VSeriesPlotter.cxx.

References chart::LabelPositionHelper::changeTextAdjustment(), CHART2_SERVICE_NAME_CHARTTYPE_PIE, CHART_UNONAME_CUSTOM_LABEL_FIELDS, comphelper::containerToSequence(), convertPointToMm100(), chart::LabelPositionHelper::correctPositionForRotation(), chart::ShapeFactory::createGroup2D(), createLegendSymbolForPoint(), createLegendSymbolForSeries(), chart::ShapeFactory::createLine2D(), chart::ObjectIdentifier::createPointCID(), chart::ShapeFactory::createText(), basegfx::deg2rad(), getCategoryName(), chart::VDataSeries::getDataPointLabelIfLabel(), getFieldType(), chart::VDataSeries::getLabelCID_Stub(), chart::VDataSeries::getLabelPosition(), getLabelsGroupShape(), getLabelTextForValue(), basegfx::B2DVector::getLength(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), chart::VDataSeries::getModel(), getPreferredLegendKeyAspectRatio(), chart::VDataSeries::getPropertiesOfPoint(), chart::VDataSeries::getTextLabelMultiPropertyLists(), uno::Any::hasValue(), i, chart::VDataSeries::isLabelCustomPos(), chart::VDataSeries::isVaryColorsByPoint(), chart::LABEL_ALIGN_BOTTOM, chart::LABEL_ALIGN_CENTER, chart::LABEL_ALIGN_LEFT, chart::LABEL_ALIGN_LEFT_BOTTOM, chart::LABEL_ALIGN_LEFT_TOP, chart::LABEL_ALIGN_RIGHT, chart::LABEL_ALIGN_RIGHT_BOTTOM, chart::LABEL_ALIGN_RIGHT_TOP, chart::LABEL_ALIGN_TOP, line, m_aPageReferenceSize, m_bPieLabelsAllowToMove, m_xChartTypeModel, chart::BaseGFXHelper::makeRectangle(), chart::ShapeFactory::makeTransformation(), chart::DataSeriesProperties::PROP_DATASERIES_SHOW_CUSTOM_LEADERLINES, TOOLS_WARN_EXCEPTION, and xTarget.

Referenced by chart::PieChart::createTextLabelShape().

◆ createErrorBar()

void chart::VSeriesPlotter::createErrorBar ( const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const css::drawing::Position3D &  rPos,
const css::uno::Reference< css::beans::XPropertySet > &  xErrorBarProperties,
const VDataSeries rVDataSeries,
sal_Int32  nIndex,
bool  bVertical,
const double *  pfScaledLogicX 
)
protected

creates two T-shaped error bars in both directions (up/down or left/right depending on the bVertical parameter)

Parameters
rPoslogic coordinates
xErrorBarPropertiesthe XPropertySet returned by the DataPoint-property "ErrorBarX" or "ErrorBarY".
nIndexthe index of the data point in rData for which the calculation is done.
bVerticalfor y-error bars this is true, for x-error-bars it is false.

Definition at line 949 of file VSeriesPlotter.cxx.

References aData, chart::AddPointToPoly(), chart::ShapeFactory::createLine2D(), chart::PlottingPositionHelper::doLogicScaling(), chart::VDataSeries::getAllX(), chart::VDataSeries::getAllY(), chart::PropertyMapper::getPropertyNameMapForLineProperties(), chart::VDataSeries::getXMeanValue(), chart::VDataSeries::getYMeanValue(), chart::PlottingPositionHelper::isLogicVisible(), chart::ChartTypeHelper::isSupportingStatisticProperties(), chart::PlotterBase::m_nDimension, chart::PlotterBase::m_pPosHelper, m_xChartTypeModel, nIndex, chart::PropertyMapper::setMappedProperties(), TOOLS_WARN_EXCEPTION, chart::PlottingPositionHelper::transformLogicToScene(), and xTarget.

Referenced by createErrorBar_X(), and createErrorBar_Y().

◆ createErrorBar_X()

void chart::VSeriesPlotter::createErrorBar_X ( const css::drawing::Position3D &  rUnscaledLogicPosition,
VDataSeries rVDataSeries,
sal_Int32  nPointIndex,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)
protected

◆ createErrorBar_Y()

void chart::VSeriesPlotter::createErrorBar_Y ( const css::drawing::Position3D &  rUnscaledLogicPosition,
VDataSeries rVDataSeries,
sal_Int32  nPointIndex,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
double const *  pfScaledLogicX 
)
protected

◆ createErrorRectangle()

void chart::VSeriesPlotter::createErrorRectangle ( const css::drawing::Position3D &  rUnscaledLogicPosition,
VDataSeries rVDataSeries,
sal_Int32  nIndex,
const rtl::Reference< SvxShapeGroupAnyD > &  rTarget,
bool  bUseXErrorData,
bool  bUseYErrorData 
)
protected

◆ createLegendEntries()

std::vector< ViewLegendEntry > chart::VSeriesPlotter::createLegendEntries ( const css::awt::Size &  rEntryKeyAspectRatio,
css::chart2::LegendPosition  eLegendPosition,
const css::uno::Reference< css::beans::XPropertySet > &  xTextProperties,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const css::uno::Reference< css::uno::XComponentContext > &  xContext,
ChartModel &  rModel 
)
overridevirtual

◆ createLegendEntriesForSeries()

std::vector< ViewLegendEntry > chart::VSeriesPlotter::createLegendEntriesForSeries ( const css::awt::Size &  rEntryKeyAspectRatio,
const VDataSeries rSeries,
const css::uno::Reference< css::beans::XPropertySet > &  xTextProperties,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const css::uno::Reference< css::uno::XComponentContext > &  xContext 
)

◆ createLegendSymbolForPoint()

rtl::Reference< SvxShapeGroup > chart::VSeriesPlotter::createLegendSymbolForPoint ( const css::awt::Size &  rEntryKeyAspectRatio,
const VDataSeries rSeries,
sal_Int32  nPointIndex,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)

◆ createLegendSymbolForSeries()

rtl::Reference< SvxShapeGroup > chart::VSeriesPlotter::createLegendSymbolForSeries ( const css::awt::Size &  rEntryKeyAspectRatio,
const VDataSeries rSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)

◆ createRegressionCurveEquationShapes()

void chart::VSeriesPlotter::createRegressionCurveEquationShapes ( const OUString &  rEquationCID,
const css::uno::Reference< css::beans::XPropertySet > &  xEquationProperties,
const rtl::Reference< SvxShapeGroupAnyD > &  xEquationTarget,
const css::uno::Reference< css::chart2::XRegressionCurveCalculator > &  xRegressionCurveCalculator,
css::awt::Point  aDefaultPos 
)
protected

◆ createRegressionCurvesShapes()

void chart::VSeriesPlotter::createRegressionCurvesShapes ( VDataSeries const &  rVDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const rtl::Reference< SvxShapeGroupAnyD > &  xEquationTarget,
bool  bMaySkipPointsInRegressionCalculation 
)
protected

◆ createSeriesPlotter()

VSeriesPlotter * chart::VSeriesPlotter::createSeriesPlotter ( const rtl::Reference< ::chart::ChartType > &  xChartTypeModel,
sal_Int32  nDimensionCount,
bool  bExcludingPositioning 
)
static

◆ createSymbols()

std::vector< ViewLegendSymbol > chart::VSeriesPlotter::createSymbols ( const css::awt::Size &  rEntryKeyAspectRatio,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const css::uno::Reference< css::uno::XComponentContext > &  xContext 
)

Definition at line 2504 of file VSeriesPlotter.cxx.

References createSymbolsForSeries(), m_aZSlots, and xTarget.

◆ createSymbolsForSeries()

std::vector< ViewLegendSymbol > chart::VSeriesPlotter::createSymbolsForSeries ( const css::awt::Size &  rEntryKeyAspectRatio,
const VDataSeries rSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
const css::uno::Reference< css::uno::XComponentContext > &  xContext 
)

◆ getAllSeries() [1/2]

std::vector< VDataSeries * > chart::VSeriesPlotter::getAllSeries ( )

Definition at line 2325 of file VSeriesPlotter.cxx.

References m_aZSlots, and p.

Referenced by getAllSeriesNames(), and getPreferredLegendKeyAspectRatio().

◆ getAllSeries() [2/2]

std::vector< VDataSeries const * > chart::VSeriesPlotter::getAllSeries ( ) const

Definition at line 2310 of file VSeriesPlotter.cxx.

References m_aZSlots, and p.

◆ getAllSeriesNames()

uno::Sequence< OUString > chart::VSeriesPlotter::getAllSeriesNames ( ) const

◆ getCategoryName()

OUString chart::VSeriesPlotter::getCategoryName ( sal_Int32  nPointIndex) const
protected

◆ getErrorBarsGroupShape()

rtl::Reference< SvxShapeGroupAnyD > chart::VSeriesPlotter::getErrorBarsGroupShape ( VDataSeries rDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget,
bool  bYError 
)
protected

◆ getExplicitCategoriesProvider()

ExplicitCategoriesProvider * chart::VSeriesPlotter::getExplicitCategoriesProvider ( )
inline

Definition at line 248 of file VSeriesPlotter.hxx.

References m_pExplicitCategoriesProvider.

◆ getExplicitSymbol()

uno::Any chart::VSeriesPlotter::getExplicitSymbol ( const VDataSeries rSeries,
sal_Int32  nPointIndex 
)
virtual

Reimplemented in chart::AreaChart, and chart::NetChart.

Definition at line 2625 of file VSeriesPlotter.cxx.

Referenced by createLegendSymbolForPoint(), and createLegendSymbolForSeries().

◆ getFirstSeries()

VDataSeries * chart::VSeriesPlotter::getFirstSeries ( ) const
protected

Definition at line 2280 of file VSeriesPlotter.cxx.

References m_aZSlots.

◆ getLabelsGroupShape()

rtl::Reference< SvxShapeGroup > chart::VSeriesPlotter::getLabelsGroupShape ( VDataSeries rDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)
staticprotected

This method creates a 2D group shape for containing all text shapes needed for this series; the group is added to the text target;.

Definition at line 317 of file VSeriesPlotter.cxx.

References chart::ShapeFactory::createGroup2D(), chart::VDataSeries::getLabelsCID(), and chart::VDataSeries::m_xLabelsGroupShape.

Referenced by createDataLabel().

◆ getLabelTextForValue()

OUString chart::VSeriesPlotter::getLabelTextForValue ( VDataSeries const &  rDataSeries,
sal_Int32  nPointIndex,
double  fValue,
bool  bAsPercentage 
)

◆ getLegendSymbolStyle()

LegendSymbolStyle chart::VSeriesPlotter::getLegendSymbolStyle ( )
virtual

◆ getMaximumX()

double chart::VSeriesPlotter::getMaximumX ( )
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Reimplemented in chart::NetChart, and chart::PieChart.

Definition at line 1679 of file VSeriesPlotter.cxx.

References getMinimumAndMaximumX().

◆ getMaximumYInRange()

double chart::VSeriesPlotter::getMaximumYInRange ( double  fMinimumX,
double  fMaximumX,
sal_Int32  nAxisIndex 
)
overridevirtual

◆ getMaximumZ()

double chart::VSeriesPlotter::getMaximumZ ( )
overridevirtual

◆ getMinimumAndMaximumX()

void chart::VSeriesPlotter::getMinimumAndMaximumX ( double &  rfMinimum,
double &  rfMaximum 
) const

Definition at line 1802 of file VSeriesPlotter.cxx.

References m_aZSlots.

Referenced by getMaximumX(), and getMinimumX().

◆ getMinimumAndMaximumYInContinuousXRange()

void chart::VSeriesPlotter::getMinimumAndMaximumYInContinuousXRange ( double &  rfMinY,
double &  rfMaxY,
double  fMinX,
double  fMaxX,
sal_Int32  nAxisIndex 
) const

Definition at line 1825 of file VSeriesPlotter.cxx.

References m_aZSlots.

Referenced by getMaximumYInRange(), and getMinimumYInRange().

◆ getMinimumX()

double chart::VSeriesPlotter::getMinimumX ( )
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Reimplemented in chart::PieChart.

Definition at line 1673 of file VSeriesPlotter.cxx.

References getMinimumAndMaximumX().

◆ getMinimumYInRange()

double chart::VSeriesPlotter::getMinimumYInRange ( double  fMinimumX,
double  fMaximumX,
sal_Int32  nAxisIndex 
)
overridevirtual

◆ getMinimumZ()

double chart::VSeriesPlotter::getMinimumZ ( )
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Definition at line 1750 of file VSeriesPlotter.cxx.

Referenced by getMaximumZ().

◆ getPlottingPositionHelper()

PlottingPositionHelper & chart::VSeriesPlotter::getPlottingPositionHelper ( sal_Int32  nAxisIndex) const
protectedvirtual

◆ getPointCount()

sal_Int32 chart::VSeriesPlotter::getPointCount ( ) const

Definition at line 1848 of file VSeriesPlotter.cxx.

References m_aZSlots.

◆ getPreferredDiagramAspectRatio()

drawing::Direction3D chart::VSeriesPlotter::getPreferredDiagramAspectRatio ( ) const
virtual

a value <= 0 for a directions means that this direction can be stretched arbitrary

Reimplemented in chart::AreaChart, chart::BarChart, chart::BubbleChart, chart::CandleStickChart, chart::NetChart, and chart::PieChart.

Definition at line 250 of file VSeriesPlotter.cxx.

References chart::PlottingPositionHelper::getScaledLogicWidth(), and chart::PlotterBase::m_pPosHelper.

◆ getPreferredLegendKeyAspectRatio()

awt::Size chart::VSeriesPlotter::getPreferredLegendKeyAspectRatio ( )
overridevirtual

◆ getSeriesGroupShape()

rtl::Reference< SvxShapeGroupAnyD > chart::VSeriesPlotter::getSeriesGroupShape ( VDataSeries pDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)
protected

◆ getSeriesGroupShapeBackChild()

rtl::Reference< SvxShapeGroupAnyD > chart::VSeriesPlotter::getSeriesGroupShapeBackChild ( VDataSeries pDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)
protected

◆ getSeriesGroupShapeFrontChild()

rtl::Reference< SvxShapeGroupAnyD > chart::VSeriesPlotter::getSeriesGroupShapeFrontChild ( VDataSeries pDataSeries,
const rtl::Reference< SvxShapeGroupAnyD > &  xTarget 
)
protected

◆ getSeriesNames()

uno::Sequence< OUString > chart::VSeriesPlotter::getSeriesNames ( ) const

◆ getTransformedDepth()

double chart::VSeriesPlotter::getTransformedDepth ( ) const

◆ isExpandBorderToIncrementRhythm()

bool chart::VSeriesPlotter::isExpandBorderToIncrementRhythm ( sal_Int32  nDimensionIndex)
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Reimplemented in chart::PieChart.

Definition at line 1773 of file VSeriesPlotter.cxx.

References m_bCategoryXAxis.

◆ isExpandIfValuesCloseToBorder()

bool chart::VSeriesPlotter::isExpandIfValuesCloseToBorder ( sal_Int32  nDimensionIndex)
overridevirtual

◆ isExpandNarrowValuesTowardZero()

bool chart::VSeriesPlotter::isExpandNarrowValuesTowardZero ( sal_Int32  nDimensionIndex)
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Reimplemented in chart::PieChart.

Definition at line 1790 of file VSeriesPlotter.cxx.

◆ isExpandWideValuesToZero()

bool chart::VSeriesPlotter::isExpandWideValuesToZero ( sal_Int32  nDimensionIndex)
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Reimplemented in chart::PieChart.

Definition at line 1784 of file VSeriesPlotter.cxx.

◆ isSeparateStackingForDifferentSigns()

bool chart::VSeriesPlotter::isSeparateStackingForDifferentSigns ( sal_Int32  nDimensionIndex)
overridevirtual

◆ PointsWereSkipped()

bool chart::VSeriesPlotter::PointsWereSkipped ( ) const
inline

Definition at line 259 of file VSeriesPlotter.hxx.

References m_bPointsWereSkipped.

Referenced by chart::ChartView::impl_createDiagramAndContent().

◆ rearrangeLabelToAvoidOverlapIfRequested()

void chart::VSeriesPlotter::rearrangeLabelToAvoidOverlapIfRequested ( const css::awt::Size &  rPageSize)
virtual

Reimplemented in chart::PieChart.

Definition at line 2276 of file VSeriesPlotter.cxx.

◆ releaseShapes()

void chart::VSeriesPlotter::releaseShapes ( )

Definition at line 265 of file VSeriesPlotter.cxx.

References m_aZSlots.

◆ setAvailableOuterRect()

void chart::VSeriesPlotter::setAvailableOuterRect ( const basegfx::B2IRectangle aAvailableOuterRect)
inline

Definition at line 261 of file VSeriesPlotter.hxx.

References m_aAvailableOuterRect.

Referenced by chart::ChartView::impl_createDiagramAndContent().

◆ setColorScheme()

void chart::VSeriesPlotter::setColorScheme ( const css::uno::Reference< css::chart2::XColorScheme > &  xColorScheme)

◆ setCoordinateSystemResolution()

void chart::VSeriesPlotter::setCoordinateSystemResolution ( const css::uno::Sequence< sal_Int32 > &  rCoordinateSystemResolution)

◆ setExplicitCategoriesProvider()

void chart::VSeriesPlotter::setExplicitCategoriesProvider ( ExplicitCategoriesProvider pExplicitCategoriesProvider)

◆ setNumberFormatsSupplier()

void chart::VSeriesPlotter::setNumberFormatsSupplier ( const css::uno::Reference< css::util::XNumberFormatsSupplier > &  xNumFmtSupplier)

◆ setPageReferenceSize()

void chart::VSeriesPlotter::setPageReferenceSize ( const css::awt::Size &  rPageRefSize)

Definition at line 2386 of file VSeriesPlotter.cxx.

References m_aPageReferenceSize, and m_aZSlots.

Referenced by chart::ChartView::impl_createDiagramAndContent().

◆ setPieLabelsAllowToMove()

void chart::VSeriesPlotter::setPieLabelsAllowToMove ( bool  bIsPieOrDonut)
inline

◆ setTimeResolutionOnXAxis()

void chart::VSeriesPlotter::setTimeResolutionOnXAxis ( tools::Long  nTimeResolution,
const Date rNullDate 
)
overridevirtual

Implements chart::MinimumAndMaximumSupplier.

Definition at line 1621 of file VSeriesPlotter.cxx.

References m_aNullDate, and m_nTimeResolution.

◆ shouldSnapRectToUsedArea()

bool chart::VSeriesPlotter::shouldSnapRectToUsedArea ( )
virtual

Reimplemented in chart::PieChart.

Definition at line 2413 of file VSeriesPlotter.cxx.

References chart::PlotterBase::m_nDimension.

◆ WantToPlotInFrontOfAxisLine()

bool chart::VSeriesPlotter::WantToPlotInFrontOfAxisLine ( )

Member Data Documentation

◆ m_aAvailableOuterRect

basegfx::B2IRectangle chart::VSeriesPlotter::m_aAvailableOuterRect
protected

◆ m_aCoordinateSystemResolution

css::uno::Sequence< sal_Int32 > chart::VSeriesPlotter::m_aCoordinateSystemResolution
protected

Definition at line 432 of file VSeriesPlotter.hxx.

Referenced by setCoordinateSystemResolution().

◆ m_aNullDate

Date chart::VSeriesPlotter::m_aNullDate
protected

Definition at line 423 of file VSeriesPlotter.hxx.

Referenced by getPlottingPositionHelper(), and setTimeResolutionOnXAxis().

◆ m_aPageReferenceSize

css::awt::Size chart::VSeriesPlotter::m_aPageReferenceSize
protected

◆ m_apNumberFormatterWrapper

std::unique_ptr< NumberFormatterWrapper > chart::VSeriesPlotter::m_apNumberFormatterWrapper
protected

◆ m_aSecondaryPosHelperMap

tSecondaryPosHelperMap chart::VSeriesPlotter::m_aSecondaryPosHelperMap
mutableprivate

Definition at line 443 of file VSeriesPlotter.hxx.

Referenced by getPlottingPositionHelper(), and ~VSeriesPlotter().

◆ m_aSecondaryValueScales

tSecondaryValueScales chart::VSeriesPlotter::m_aSecondaryValueScales
private

◆ m_aZSlots

std::vector< std::vector< VDataSeriesGroup > > chart::VSeriesPlotter::m_aZSlots
protected

◆ m_bCategoryXAxis

bool chart::VSeriesPlotter::m_bCategoryXAxis
protected

◆ m_bPieLabelsAllowToMove

bool chart::VSeriesPlotter::m_bPieLabelsAllowToMove
protected

◆ m_bPointsWereSkipped

bool chart::VSeriesPlotter::m_bPointsWereSkipped
protected

Definition at line 433 of file VSeriesPlotter.hxx.

Referenced by PointsWereSkipped().

◆ m_nTimeResolution

tools::Long chart::VSeriesPlotter::m_nTimeResolution
protected

Definition at line 422 of file VSeriesPlotter.hxx.

Referenced by getPlottingPositionHelper(), and setTimeResolutionOnXAxis().

◆ m_pExplicitCategoriesProvider

ExplicitCategoriesProvider* chart::VSeriesPlotter::m_pExplicitCategoriesProvider
protected

◆ m_pMainPosHelper

PlottingPositionHelper* chart::VSeriesPlotter::m_pMainPosHelper
protected

Definition at line 415 of file VSeriesPlotter.hxx.

Referenced by getPlottingPositionHelper(), and getTransformedDepth().

◆ m_xChartTypeModel

rtl::Reference< ::chart::ChartType > chart::VSeriesPlotter::m_xChartTypeModel
protected

◆ m_xColorScheme

css::uno::Reference< css::chart2::XColorScheme > chart::VSeriesPlotter::m_xColorScheme
protected

The documentation for this class was generated from the following files: