37#include <com/sun/star/awt/Point.hpp>
38#include <com/sun/star/awt/Size.hpp>
39#include <com/sun/star/chart/ErrorBarStyle.hpp>
40#include <com/sun/star/chart/X3DDisplay.hpp>
41#include <com/sun/star/chart/XStatisticDisplay.hpp>
42#include <com/sun/star/chart/XDiagramPositioning.hpp>
43#include <com/sun/star/chart/XChartDocument.hpp>
44#include <com/sun/star/chart2/XChartDocument.hpp>
45#include <com/sun/star/chart2/data/XDataSink.hpp>
46#include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
47#include <com/sun/star/chart2/data/LabeledDataSequence.hpp>
48#include <com/sun/star/drawing/CameraGeometry.hpp>
49#include <com/sun/star/lang/XMultiServiceFactory.hpp>
50#include <com/sun/star/lang/XServiceInfo.hpp>
51#include <com/sun/star/xml/sax/XAttributeList.hpp>
61struct lcl_AxisHasCategories
69OUString lcl_ConvertRange(
const OUString & rRange,
const uno::Reference< chart2::XChartDocument > & xDoc )
71 OUString aResult = rRange;
74 uno::Reference< chart2::data::XRangeXMLConversion > xConversion(
75 xDoc->getDataProvider(), uno::UNO_QUERY );
77 aResult = xConversion->convertRangeFromXML( rRange );
95 uno::Reference< beans::XPropertySet > xProp( xDiagram, uno::UNO_QUERY );
98 drawing::CameraGeometry aCamGeo;
99 xProp->getPropertyValue(
"D3DCameraGeometry") >>= aCamGeo;
111 catch(
const uno::Exception & )
124 const OUString& rXLinkHRefAttributeToIndicateDataProvider,
125 OUString& rCategoriesAddress,
126 OUString& rChartAddress,
127 bool & rbHasRangeAtPlotArea,
128 bool & rAllRangeAddressesAvailable,
129 bool & rColHasLabels,
130 bool & rRowHasLabels,
131 chart::ChartDataRowSource & rDataRowSource,
133 const OUString& aChartTypeServiceName,
135 const awt::Size & rChartSize ) :
137 mrImportHelper( rImpHelper ),
138 mrCategoriesAddress( rCategoriesAddress ),
139 mrSeriesDefaultsAndStyles( rSeriesDefaultsAndStyles ),
140 mnNumOfLinesProp( 0 ),
141 mbStockHasVolume( false ),
143 m_aGlobalSeriesImportInfo( rAllRangeAddressesAvailable ),
144 maSceneImportHelper( rImport ),
145 m_aOuterPositioning( rImport ),
146 m_aInnerPositioning( rImport ),
147 mbPercentStacked(false),
148 m_bAxisPositionAttributeImported(false),
149 m_rXLinkHRefAttributeToIndicateDataProvider(rXLinkHRefAttributeToIndicateDataProvider),
150 mrChartAddress( rChartAddress ),
151 m_rbHasRangeAtPlotArea( rbHasRangeAtPlotArea ),
152 mrColHasLabels( rColHasLabels ),
153 mrRowHasLabels( rRowHasLabels ),
154 mrDataRowSource( rDataRowSource ),
155 maChartTypeServiceName( aChartTypeServiceName ),
156 mrLSequencesPerIndex( rLSequencesPerIndex ),
157 mbGlobalChartTypeUsedBySeries( false ),
158 maChartSize( rChartSize )
163 uno::Reference< chart::XChartDocument > xDoc = rImpHelper.
GetChartDocument();
167 mxNewDoc.set( xDoc, uno::UNO_QUERY );
175 aFalseBool <<=
false;
177 uno::Reference< lang::XServiceInfo > xInfo(
mxDiagram, uno::UNO_QUERY );
178 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
179 if( !xInfo.is() || !xProp.is() )
184 xProp->setPropertyValue(
"HasXAxis", aFalseBool );
185 xProp->setPropertyValue(
"HasXAxisGrid", aFalseBool );
186 xProp->setPropertyValue(
"HasXAxisDescription", aFalseBool );
187 xProp->setPropertyValue(
"HasSecondaryXAxis", aFalseBool );
188 xProp->setPropertyValue(
"HasSecondaryXAxisDescription", aFalseBool );
190 xProp->setPropertyValue(
"HasYAxis", aFalseBool );
191 xProp->setPropertyValue(
"HasYAxisGrid", aFalseBool );
192 xProp->setPropertyValue(
"HasYAxisDescription", aFalseBool );
193 xProp->setPropertyValue(
"HasSecondaryYAxis", aFalseBool );
194 xProp->setPropertyValue(
"HasSecondaryYAxisDescription", aFalseBool );
196 xProp->setPropertyValue(
"HasZAxis", aFalseBool );
197 xProp->setPropertyValue(
"HasZAxisDescription", aFalseBool );
199 xProp->setPropertyValue(
"DataRowSource",
uno::Any(chart::ChartDataRowSource_COLUMNS) );
201 catch(
const beans::UnknownPropertyException & )
203 SAL_WARN(
"xmloff.chart",
"Property required by service not supported" );
211 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
214 uno::Reference< chart2::XChartDocument > xNewDoc(
GetImport().GetModel(), uno::UNO_QUERY );
218 switch( aIter.getToken() )
276 catch(
const beans::UnknownPropertyException & )
278 SAL_WARN(
"xmloff.chart",
"Properties missing" );
284 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
298 if( pPropStyleContext )
303 xProp->getPropertyValue(
"DataRowSource")
309 u"Lines", pPropStyleContext, pStylesCtxt );
318 if( xProp.is() && ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
346 bool bStacked =
false;
354 uno::Any aDeepProperty( xProp->getPropertyValue(
"Deep"));
361 if( ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
366 aDeepProperty <<=
true;
376 catch(
const uno::Exception & )
382 bool bCreateInternalDataProvider =
false;
384 bCreateInternalDataProvider =
true;
386 bCreateInternalDataProvider =
false;
388 bCreateInternalDataProvider =
true;
390 bCreateInternalDataProvider =
true;
392 if( bCreateInternalDataProvider &&
mxNewDoc.is() )
397 mxNewDoc->createInternalDataProvider(
false );
405 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
420 bool bAddMissingXAxisForNetCharts =
false;
421 bool bAdaptWrongPercentScaleValues =
false;
429 bAddMissingXAxisForNetCharts =
true;
433 bAdaptWrongPercentScaleValues =
true;
436 bool bAdaptXAxisOrientationForOld2DBarCharts =
false;
441 bAdaptXAxisOrientationForOld2DBarCharts =
true;
507 uno::Reference< chart2::data::XDataProvider > xDataProvider(
510 sal_Int32 nDimension( 0 );
511 ::std::vector< SchXMLAxis >::const_iterator aIt(
512 ::std::find_if(
maAxes.begin(),
maAxes.end(), lcl_AxisHasCategories()));
514 nDimension =
static_cast< sal_Int32
>( (*aIt).eDimension );
521 uno::Reference< beans::XPropertySet > xDiaProp(
mxDiagram, uno::UNO_QUERY );
524 bool bIsThreeDim =
false;
525 uno::Any aAny = xDiaProp->getPropertyValue(
"Dim3D");
526 aAny >>= bIsThreeDim;
540 xDiaProp->setPropertyValue(
"NumberOfLines",
543 catch(
const uno::Exception & )
550 if(
mxDiagram->getDiagramType() ==
"com.sun.star.chart.StockDiagram" &&
555 xDiaProp->setPropertyValue(
"Volume",
558 catch(
const uno::Exception & )
567 uno::Reference< chart::XDiagramPositioning > xDiaPos(
mxDiagram, uno::UNO_QUERY );
611 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
625 , mrDataLabelStyle(rDataLabelStyle)
631 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
642 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
646 switch(aIter.getToken())
651 sal_Int32 nResultValue;
659 sal_Int32 nResultValue;
683 ::std::vector< DataRowPointStyle >& rStyleVector,
684 const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
686 bool bSymbolSizeForSeriesIsMissingInFile ) :
688 mrStyleVector( rStyleVector ),
698 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
719 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
721 OUString sAutoStyleName;
722 sal_Int32 nRepeat = 1;
723 OUString sCustomLabelField;
727 switch (aIter.getToken())
731 sAutoStyleName = aIter.toString();
738 nRepeat = aIter.toInt32();
748 sCustomLabelField = aIter.toString();
754 bool bHideLegend = aIter.toBoolean();
757 uno::Sequence<sal_Int32> deletedLegendEntriesSeq;
759 xSeriesProp->getPropertyValue(
"DeletedLegendEntries") >>= deletedLegendEntriesSeq;
760 std::vector<sal_Int32> deletedLegendEntries;
761 for (
const auto& deletedLegendEntry : std::as_const(deletedLegendEntriesSeq))
763 deletedLegendEntries.push_back(deletedLegendEntry);
805 , m_bHasSizeWidth( false )
806 , m_bHasSizeHeight( false )
807 , m_bHasPositionX( false )
808 , m_bHasPositionY( false )
809 , m_bAutoSize( false )
810 , m_bAutoPosition( false )
866 if( pPropStyleContext && pStylesCtxt )
870 u"AutomaticSize", pPropStyleContext, pStylesCtxt ) >>=
m_bAutoSize;
880 , m_rPositioning( rPositioning )
889 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
899 uno::Reference< chart::XDiagram >
const & xDiagram,
902 mrImportHelper( rImpHelper ),
903 mxWallFloorSupplier( xDiagram,
uno::UNO_QUERY ),
904 meContextType( eContextType )
913 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
918 OUString sAutoStyleName;
923 sAutoStyleName = aIter.toString();
933 if (!sAutoStyleName.isEmpty())
940 uno::Reference< chart::XDiagram >
const & xDiagram,
943 mrImportHelper( rImpHelper ),
944 mxStockPropProvider( xDiagram,
uno::UNO_QUERY ),
945 meContextType( eContextType )
954 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
959 OUString sAutoStyleName;
964 sAutoStyleName = aIter.toString();
969 if( sAutoStyleName.isEmpty())
973 uno::Reference< beans::XPropertySet > xProp;
991 const uno::Reference< beans::XPropertySet > &xBarProp,
992 const OUString &aXMLRange,
993 bool bPositiveValue,
bool bYError,
996 uno::Reference< css::chart2::data::XDataProvider > xDataProvider(xDoc->getDataProvider());
997 uno::Reference< css::chart2::data::XDataSource > xDataSource( xBarProp, uno::UNO_QUERY );
998 uno::Reference< css::chart2::data::XDataSink > xDataSink( xDataSource, uno::UNO_QUERY );
1000 assert( xDataSink.is() && xDataSource.is() && xDataProvider.is() );
1002 OUString aRange(lcl_ConvertRange(aXMLRange,xDoc));
1004 uno::Reference< chart2::data::XDataSequence > xNewSequence(
1005 xDataProvider->createDataSequenceByRangeRepresentation( aRange ));
1007 if( !xNewSequence.is())
1012 OUStringBuffer aRoleBuffer(
"error-bars-");
1014 aRoleBuffer.append(
'y' );
1016 aRoleBuffer.append(
'x');
1018 aRoleBuffer.append(
'-' );
1020 if( bPositiveValue )
1021 aRoleBuffer = aRoleBuffer.append(
"positive" );
1023 aRoleBuffer = aRoleBuffer.append(
"negative" );
1025 OUString aRole = aRoleBuffer.makeStringAndClear();
1029 xSeqProp->setPropertyValue(
"Role",
uno::Any( aRole ));
1034 uno::UNO_QUERY_THROW );
1038 xLabelSeq->setValues( xNewSequence );
1040 uno::Sequence< Reference< chart2::data::XLabeledDataSequence > > aSequences(
1041 xDataSource->getDataSequences());
1043 aSequences.realloc( aSequences.getLength() + 1 );
1044 aSequences.getArray()[ aSequences.getLength() - 1 ] = xLabelSeq;
1045 xDataSink->setData( aSequences );
1052 const OUString &rSeriesStyleName,
1053 ::std::vector< DataRowPointStyle >& rStyleVector,
1054 const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
1059 mrImportHelper( rImpHelper ),
1060 mrStyleVector( rStyleVector ),
1062 meContextType( eContextType ),
1063 maSeriesStyleName( rSeriesStyleName),
1064 mrLSequencesPerIndex(rLSequencesPerIndex)
1073void SetErrorBarStyleProperties(
const OUString& rStyleName,
const uno::Reference< beans::XPropertySet >& xBarProp,
1086void SetErrorBarPropertiesFromStyleName(
const OUString& aStyleName,
const uno::Reference< beans::XPropertySet>& xBarProp,
1097 pSeriesStyleContext,pStylesCtxt);
1102 sal_Int32 aBarStyle = css::chart::ErrorBarStyle::NONE;
1104 xBarProp->setPropertyValue(
"ErrorBarStyle", aAny);
1107 pSeriesStyleContext,pStylesCtxt);
1110 xBarProp->setPropertyValue(
"ShowPositiveError",aAny);
1113 pSeriesStyleContext,pStylesCtxt);
1116 xBarProp->setPropertyValue(
"ShowNegativeError",aAny);
1119 pSeriesStyleContext, pStylesCtxt);
1122 xBarProp->setPropertyValue(
"PositiveError", aAny);
1126 pSeriesStyleContext, pStylesCtxt);
1129 xBarProp->setPropertyValue(
"PositiveError", aAny);
1133 pSeriesStyleContext, pStylesCtxt);
1136 xBarProp->setPropertyValue(
"NegativeError", aAny);
1140 pSeriesStyleContext, pStylesCtxt);
1143 xBarProp->setPropertyValue(
"NegativeError", aAny);
1147 pSeriesStyleContext, pStylesCtxt);
1154 pSeriesStyleContext, pStylesCtxt);
1161 pSeriesStyleContext, pStylesCtxt);
1164 xBarProp->setPropertyValue(
"Weight", aAny);
1168 pSeriesStyleContext, pStylesCtxt);
1169 if( aAny.
hasValue() && aBarStyle == css::chart::ErrorBarStyle::RELATIVE )
1171 xBarProp->setPropertyValue(
"PositiveError", aAny);
1172 xBarProp->setPropertyValue(
"NegativeError", aAny);
1177 case css::chart::ErrorBarStyle::ERROR_MARGIN:
1180 pSeriesStyleContext,pStylesCtxt);
1182 xBarProp->setPropertyValue(
"NegativeError",aAny);
1185 pSeriesStyleContext,pStylesCtxt);
1187 xBarProp->setPropertyValue(
"PositiveError",aAny);
1199 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
1201 OUString sAutoStyleName;
1204 bool bYError =
true;
1208 switch (aIter.getToken())
1211 sAutoStyleName = aIter.toString();
1214 bYError = aIter.toView() ==
"y";
1217 aPosRange = aIter.toString();
1220 aNegRange = aIter.toString();
1225 if( sAutoStyleName.isEmpty() )
1241 uno::Reference< beans::XPropertySet > xBarProp( xFact->createInstance(
"com.sun.star.chart2.ErrorBar" ),
1244 xBarProp->setPropertyValue(
"ErrorBarStyle",
uno::Any(css::chart::ErrorBarStyle::NONE));
1245 xBarProp->setPropertyValue(
"PositiveError",
uno::Any(0.0));
1246 xBarProp->setPropertyValue(
"NegativeError",
uno::Any(0.0));
1247 xBarProp->setPropertyValue(
"Weight",
uno::Any(1.0));
1248 xBarProp->setPropertyValue(
"ShowPositiveError",
uno::Any(
true));
1249 xBarProp->setPropertyValue(
"ShowNegativeError",
uno::Any(
true));
1253 SetErrorBarStyleProperties( sAutoStyleName, xBarProp,
mrImportHelper );
1255 SetErrorBarPropertiesFromStyleName( sAutoStyleName, xBarProp,
mrImportHelper, aPosRange, aNegRange );
1257 uno::Reference< chart2::XChartDocument > xDoc(
GetImport().GetModel(),uno::UNO_QUERY);
1259 if (!aPosRange.isEmpty())
1262 if (!aNegRange.isEmpty())
rtl::Reference< ::chart::DataSeries > m_xSeries
const SvXMLImport & m_rImport
static void lcl_setErrorBarSequence(const uno::Reference< chart2::XChartDocument > &xDoc, const uno::Reference< beans::XPropertySet > &xBarProp, const OUString &aXMLRange, bool bPositiveValue, bool bYError, tSchXMLLSequencesPerIndex &rSequences)
virtual ~SchXML3DSceneAttributesHelper()
void getCameraDefaultFromDiagram(const css::uno::Reference< css::chart::XDiagram > &xDiagram)
SchXML3DSceneAttributesHelper(SvXMLImport &rImporter)
static void CorrectAxisPositions(const css::uno::Reference< css::chart2::XChartDocument > &xNewDoc, std::u16string_view rChartTypeServiceName, std::u16string_view rODFVersionOfFile, bool bAxisPositionAttributeImported)
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual ~SchXMLCoordinateRegionContext() override
SchXMLCoordinateRegionContext(SvXMLImport &rImport, SchXMLPositionAttributesHelper &rPositioning)
SchXMLPositionAttributesHelper & m_rPositioning
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
DataRowPointStyle & mrDataLabelStyle
SchXMLDataLabelContext(SvXMLImport &rImport, CustomLabelsInfo &rLabels, DataRowPointStyle &rDataLabel)
CustomLabelsInfo & mrLabels
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
SchXMLDataLabelParaContext(SvXMLImport &rImport, ::std::vector< OUString > &rLabels)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
::std::vector< OUString > & mrLabels
virtual void SAL_CALL characters(const OUString &rChars) override
This method is called for all characters that are contained in the current element.
SchXMLDataLabelSpanContext(SvXMLImport &rImport, ::std::vector< OUString > &rLabels)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
endFastElement is called before a context will be destructed, but after an elements context has been ...
OUStringBuffer maCharBuffer
::std::vector< OUString > & mrLabels
virtual ~SchXMLDataPointContext() override
::std::vector< DataRowPointStyle > & mrStyleVector
DataRowPointStyle mDataLabel
SchXMLDataPointContext(SvXMLImport &rImport, ::std::vector< DataRowPointStyle > &rStyleVector, const css::uno::Reference< css::chart2::XDataSeries > &xSeries, sal_Int32 &rIndex, bool bSymbolSizeForSeriesIsMissingInFile)
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
endFastElement is called before a context will be destructed, but after an elements context has been ...
DataRowPointStyle mDataPoint
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
With this class you can import a <chart:chart> element containing its data as <table:table> element o...
const css::uno::Reference< css::chart::XChartDocument > & GetChartDocument() const
SvXMLStylesContext * GetAutoStylesContext() const
void FillAutoStyle(const OUString &rAutoStyleName, const css::uno::Reference< css::beans::XPropertySet > &rProp)
Fill in the autostyle.
static XmlStyleFamily GetChartFamilyID()
css::chart::ChartDataRowSource & mrDataRowSource
::std::vector< SchXMLAxis > maAxes
bool m_bAxisPositionAttributeImported
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
SchXML3DSceneAttributesHelper maSceneImportHelper
OUString maChartTypeServiceName
css::awt::Size maChartSize
css::uno::Reference< css::chart::XDiagram > mxDiagram
SchXMLPositionAttributesHelper m_aOuterPositioning
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
sal_Int32 mnNumOfLinesProp
SchXMLImportHelper & mrImportHelper
bool & m_rbHasRangeAtPlotArea
GlobalSeriesImportInfo m_aGlobalSeriesImportInfo
css::uno::Reference< css::chart2::XChartDocument > mxNewDoc
SchXMLPlotAreaContext(SchXMLImportHelper &rImpHelper, SvXMLImport &rImport, const OUString &rXLinkHRefAttributeToIndicateDataProvider, OUString &rCategoriesAddress, OUString &rChartAddress, bool &bHasRangeAtPlotArea, bool &rAllRangeAddressesAvailable, bool &rColHasLabels, bool &rRowHasLabels, css::chart::ChartDataRowSource &rDataRowSource, SeriesDefaultsAndStyles &rSeriesDefaultsAndStyles, const OUString &aChartTypeServiceName, tSchXMLLSequencesPerIndex &rLSequencesPerIndex, const css::awt::Size &rChartSize)
bool mbGlobalChartTypeUsedBySeries
SchXMLPositionAttributesHelper m_aInnerPositioning
virtual ~SchXMLPlotAreaContext() override
const OUString & m_rXLinkHRefAttributeToIndicateDataProvider
tSchXMLLSequencesPerIndex & mrLSequencesPerIndex
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
endFastElement is called before a context will be destructed, but after an elements context has been ...
SeriesDefaultsAndStyles & mrSeriesDefaultsAndStyles
OUString & mrChartAddress
OUString & mrCategoriesAddress
void readPositioningAttribute(sal_Int32 nAttributeToken, std::string_view rValue)
void readAutomaticPositioningProperties(XMLPropStyleContext const *pPropStyleContext, const SvXMLStylesContext *pStylesCtxt)
SchXMLPositionAttributesHelper(SvXMLImport &rImporter)
css::awt::Point m_aPosition
css::awt::Rectangle getRectangle() const
@ CONTEXT_TYPE_MEAN_VALUE_LINE
@ CONTEXT_TYPE_ERROR_INDICATOR
OUString maSeriesStyleName
ContextType meContextType
css::uno::Reference< css::chart2::XDataSeries > m_xSeries
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
tSchXMLLSequencesPerIndex & mrLSequencesPerIndex
SchXMLImportHelper & mrImportHelper
SchXMLStatisticsObjectContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, const OUString &rSeriesStyleName, ::std::vector< DataRowPointStyle > &rStyleVector, const css::uno::Reference< css::chart2::XDataSeries > &xSeries, ContextType eContextType, tSchXMLLSequencesPerIndex &rLSequencesPerIndex)
::std::vector< DataRowPointStyle > & mrStyleVector
virtual ~SchXMLStatisticsObjectContext() override
SchXMLStockContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, css::uno::Reference< css::chart::XDiagram > const &xDiagram, ContextType eContextType)
SchXMLImportHelper & mrImportHelper
virtual ~SchXMLStockContext() override
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
css::uno::Reference< css::chart::XStatisticDisplay > mxStockPropProvider
ContextType meContextType
SchXMLImportHelper & mrImportHelper
css::uno::Reference< css::chart::X3DDisplay > mxWallFloorSupplier
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
SchXMLWallFloorContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, css::uno::Reference< css::chart::XDiagram > const &xDiagram, ContextType eContextType)
ContextType meContextType
virtual ~SchXMLWallFloorContext() override
void processSceneAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter &aIter)
this should be called for each scene attribute
void setSceneAttributes(const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
this sets the scene attributes at this propertyset
::basegfx::B3DVector maVRP
SvXMLImportContext * create3DLightContext(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
creates a 3d light context and adds it to the internal list for later processing
::basegfx::B3DVector maVUP
::basegfx::B3DVector maVPN
This class deliberately does not support XWeak, to improve performance when loading large documents.
SvXMLImport & GetImport()
const SvXMLUnitConverter & GetMM100UnitConverter() const
const SvXMLStyleContext * FindStyleChildContext(XmlStyleFamily nFamily, const OUString &rName, bool bCreateIndex=false) const
bool convertMeasureToCore(sal_Int32 &rValue, std::u16string_view rString, sal_Int32 nMin=SAL_MIN_INT32, sal_Int32 nMax=SAL_MAX_INT32) const
convert string to measure with meCoreMeasureUnit, using optional min and max values
virtual void FillPropertySet(const css::uno::Reference< css::beans::XPropertySet > &rPropSet)
#define TOOLS_INFO_EXCEPTION(area, stream)
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
Reference< XMultiServiceFactory > getProcessServiceFactory()
css::uno::Sequence< DstElementType > containerToSequence(const SrcType &i_Container)
Reference< XComponentContext > getProcessComponentContext()
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
Handling of tokens in XML:
@ XML_DATA_SOURCE_HAS_LABELS
@ XML_DATA_LABELS_CELL_RANGE
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
Used to store text content of a data point custom-label's fields and also the helper members that ind...
bool mbDataLabelsRange
Are label's contents sourced from a cell[range] ?
OUString msLabelsCellRange
cell[range] from which label's contents are sourced.
::std::vector< OUString > mLabels
Text content of each field.
OUString msLabelGuid
GUID of the CELLRANGE field.
bool mbSymbolSizeForSeriesIsMissingInFile
CustomLabelsInfo mCustomLabels
css::uno::Reference< css::chart2::XDataSeries > m_xSeries
double mCustomLabelPos[2]
std::optional< sal_Int32 > mo_nLabelAbsolutePosX
std::optional< sal_Int32 > mo_nLabelAbsolutePosY
css::uno::Reference< css::beans::XPropertySet > m_xErrorYProperties
OUString msStyleNameOfParent
css::uno::Reference< css::beans::XPropertySet > m_xErrorXProperties
bool & rbAllRangeAddressesAvailable
css::uno::Any maStackedDefault
css::uno::Any maDataCaptionDefault
css::uno::Any maSymbolTypeDefault
css::uno::Any maLinesOnProperty
css::uno::Any maMeanValueDefault
::std::vector< RegressionStyle > maRegressionStyleVector
css::uno::Any maRegressionCurvesDefault
::std::vector< DataRowPointStyle > maSeriesStyleVector
css::uno::Any maDeepDefault
css::uno::Any maStackedBarsConnectedDefault
css::uno::Any maPercentDefault
@ SCH_XML_PART_ERROR_BARS
::std::multimap< tSchXMLIndexWithPart, css::uno::Reference< css::chart2::data::XLabeledDataSequence > > tSchXMLLSequencesPerIndex
::std::pair< tSchXMLIndex, SchXMLLabeledSequencePart > tSchXMLIndexWithPart
#define XMLOFF_WARN_UNKNOWN_ELEMENT(area, token)
#define XMLOFF_WARN_UNKNOWN_ATTR(area, token, value)
#define XMLOFF_WARN_UNKNOWN(area, rIter)
#define XML_ELEMENT(prefix, name)
constexpr bool IsTokenInNamespace(sal_Int32 nToken, sal_uInt16 nNamespacePrefix)
constexpr sal_Int32 TOKEN_MASK
constexpr sal_uInt16 XML_NAMESPACE_SVG
constexpr sal_uInt16 XML_NAMESPACE_SVG_COMPAT