38#include <com/sun/star/awt/Point.hpp>
39#include <com/sun/star/awt/Size.hpp>
40#include <com/sun/star/chart/ErrorBarStyle.hpp>
41#include <com/sun/star/chart/X3DDisplay.hpp>
42#include <com/sun/star/chart/XStatisticDisplay.hpp>
43#include <com/sun/star/chart/XDiagramPositioning.hpp>
44#include <com/sun/star/chart/XChartDocument.hpp>
45#include <com/sun/star/chart2/XChartDocument.hpp>
46#include <com/sun/star/chart2/data/XDataSink.hpp>
47#include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
48#include <com/sun/star/chart2/data/LabeledDataSequence.hpp>
49#include <com/sun/star/drawing/CameraGeometry.hpp>
50#include <com/sun/star/lang/XMultiServiceFactory.hpp>
51#include <com/sun/star/lang/XServiceInfo.hpp>
52#include <com/sun/star/xml/sax/XAttributeList.hpp>
62struct lcl_AxisHasCategories
70OUString lcl_ConvertRange(
const OUString & rRange,
const uno::Reference< chart2::XChartDocument > & xDoc )
72 OUString aResult = rRange;
75 uno::Reference< chart2::data::XRangeXMLConversion > xConversion(
76 xDoc->getDataProvider(), uno::UNO_QUERY );
78 aResult = xConversion->convertRangeFromXML( rRange );
96 uno::Reference< beans::XPropertySet > xProp( xDiagram, uno::UNO_QUERY );
99 drawing::CameraGeometry aCamGeo;
100 xProp->getPropertyValue(
"D3DCameraGeometry") >>= aCamGeo;
112 catch(
const uno::Exception & )
124 SvXMLImport& rImport,
125 const OUString& rXLinkHRefAttributeToIndicateDataProvider,
126 OUString& rCategoriesAddress,
127 OUString& rChartAddress,
128 bool & rbHasRangeAtPlotArea,
129 bool & rAllRangeAddressesAvailable,
130 bool & rColHasLabels,
131 bool & rRowHasLabels,
132 chart::ChartDataRowSource & rDataRowSource,
134 OUString aChartTypeServiceName,
136 const awt::Size & rChartSize ) :
138 mrImportHelper( rImpHelper ),
139 mrCategoriesAddress( rCategoriesAddress ),
140 mrSeriesDefaultsAndStyles( rSeriesDefaultsAndStyles ),
141 mnNumOfLinesProp( 0 ),
142 mbStockHasVolume( false ),
144 m_aGlobalSeriesImportInfo( rAllRangeAddressesAvailable ),
145 maSceneImportHelper( rImport ),
146 m_aOuterPositioning( rImport ),
147 m_aInnerPositioning( rImport ),
148 mbPercentStacked(false),
149 m_bAxisPositionAttributeImported(false),
150 m_rXLinkHRefAttributeToIndicateDataProvider(rXLinkHRefAttributeToIndicateDataProvider),
151 mrChartAddress( rChartAddress ),
152 m_rbHasRangeAtPlotArea( rbHasRangeAtPlotArea ),
153 mrColHasLabels( rColHasLabels ),
154 mrRowHasLabels( rRowHasLabels ),
155 mrDataRowSource( rDataRowSource ),
156 maChartTypeServiceName(
std::move( aChartTypeServiceName )),
157 mrLSequencesPerIndex( rLSequencesPerIndex ),
158 mbGlobalChartTypeUsedBySeries( false ),
159 maChartSize( rChartSize )
164 uno::Reference< chart::XChartDocument > xDoc = rImpHelper.
GetChartDocument();
168 mxNewDoc.set( xDoc, uno::UNO_QUERY );
176 aFalseBool <<=
false;
178 uno::Reference< lang::XServiceInfo > xInfo(
mxDiagram, uno::UNO_QUERY );
179 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
180 if( !xInfo.is() || !xProp.is() )
185 xProp->setPropertyValue(
"HasXAxis", aFalseBool );
186 xProp->setPropertyValue(
"HasXAxisGrid", aFalseBool );
187 xProp->setPropertyValue(
"HasXAxisDescription", aFalseBool );
188 xProp->setPropertyValue(
"HasSecondaryXAxis", aFalseBool );
189 xProp->setPropertyValue(
"HasSecondaryXAxisDescription", aFalseBool );
191 xProp->setPropertyValue(
"HasYAxis", aFalseBool );
192 xProp->setPropertyValue(
"HasYAxisGrid", aFalseBool );
193 xProp->setPropertyValue(
"HasYAxisDescription", aFalseBool );
194 xProp->setPropertyValue(
"HasSecondaryYAxis", aFalseBool );
195 xProp->setPropertyValue(
"HasSecondaryYAxisDescription", aFalseBool );
197 xProp->setPropertyValue(
"HasZAxis", aFalseBool );
198 xProp->setPropertyValue(
"HasZAxisDescription", aFalseBool );
200 xProp->setPropertyValue(
"DataRowSource",
uno::Any(chart::ChartDataRowSource_COLUMNS) );
202 catch(
const beans::UnknownPropertyException & )
204 SAL_WARN(
"xmloff.chart",
"Property required by service not supported" );
212 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
215 uno::Reference< chart2::XChartDocument > xNewDoc(
GetImport().GetModel(), uno::UNO_QUERY );
219 switch( aIter.getToken() )
277 catch(
const beans::UnknownPropertyException & )
279 SAL_WARN(
"xmloff.chart",
"Properties missing" );
285 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
299 if( pPropStyleContext )
304 xProp->getPropertyValue(
"DataRowSource")
310 u"Lines", pPropStyleContext, pStylesCtxt );
319 if( xProp.is() && ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
347 bool bStacked =
false;
355 uno::Any aDeepProperty( xProp->getPropertyValue(
"Deep"));
362 if( ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
367 aDeepProperty <<=
true;
377 catch(
const uno::Exception & )
383 bool bCreateInternalDataProvider =
false;
385 bCreateInternalDataProvider =
true;
387 bCreateInternalDataProvider =
false;
389 bCreateInternalDataProvider =
true;
391 bCreateInternalDataProvider =
true;
393 if( bCreateInternalDataProvider &&
mxNewDoc.is() )
398 mxNewDoc->createInternalDataProvider(
false );
406 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
421 bool bAddMissingXAxisForNetCharts =
false;
422 bool bAdaptWrongPercentScaleValues =
false;
430 bAddMissingXAxisForNetCharts =
true;
434 bAdaptWrongPercentScaleValues =
true;
437 bool bAdaptXAxisOrientationForOld2DBarCharts =
false;
442 bAdaptXAxisOrientationForOld2DBarCharts =
true;
508 uno::Reference< chart2::data::XDataProvider > xDataProvider(
511 sal_Int32 nDimension( 0 );
512 ::std::vector< SchXMLAxis >::const_iterator aIt(
513 ::std::find_if(
maAxes.begin(),
maAxes.end(), lcl_AxisHasCategories()));
515 nDimension =
static_cast< sal_Int32
>( (*aIt).eDimension );
522 uno::Reference< beans::XPropertySet > xDiaProp(
mxDiagram, uno::UNO_QUERY );
525 bool bIsThreeDim =
false;
526 uno::Any aAny = xDiaProp->getPropertyValue(
"Dim3D");
527 aAny >>= bIsThreeDim;
541 xDiaProp->setPropertyValue(
"NumberOfLines",
544 catch(
const uno::Exception & )
551 if(
mxDiagram->getDiagramType() ==
"com.sun.star.chart.StockDiagram" &&
556 xDiaProp->setPropertyValue(
"Volume",
559 catch(
const uno::Exception & )
568 uno::Reference< chart::XDiagramPositioning > xDiaPos(
mxDiagram, uno::UNO_QUERY );
612 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
626 , mrDataLabelStyle(rDataLabelStyle)
632 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
643 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
647 switch(aIter.getToken())
652 sal_Int32 nResultValue;
653 GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, aIter.toView());
660 sal_Int32 nResultValue;
661 GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, aIter.toView());
684 ::std::vector< DataRowPointStyle >& rStyleVector,
685 const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
687 bool bSymbolSizeForSeriesIsMissingInFile ) :
689 mrStyleVector( rStyleVector ),
699 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
720 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
722 OUString sAutoStyleName;
723 sal_Int32 nRepeat = 1;
724 OUString sCustomLabelField;
728 switch (aIter.getToken())
732 sAutoStyleName = aIter.toString();
739 nRepeat = aIter.toInt32();
749 sCustomLabelField = aIter.toString();
755 bool bHideLegend = aIter.toBoolean();
758 uno::Sequence<sal_Int32> deletedLegendEntriesSeq;
760 xSeriesProp->getPropertyValue(
"DeletedLegendEntries") >>= deletedLegendEntriesSeq;
761 std::vector<sal_Int32> deletedLegendEntries;
762 for (
const auto& deletedLegendEntry : std::as_const(deletedLegendEntriesSeq))
764 deletedLegendEntries.push_back(deletedLegendEntry);
806 , m_bHasSizeWidth( false )
807 , m_bHasSizeHeight( false )
808 , m_bHasPositionX( false )
809 , m_bHasPositionY( false )
810 , m_bAutoSize( false )
811 , m_bAutoPosition( false )
834 m_rImport.GetMM100UnitConverter().convertMeasureToCore(
841 m_rImport.GetMM100UnitConverter().convertMeasureToCore(
848 m_rImport.GetMM100UnitConverter().convertMeasureToCore(
855 m_rImport.GetMM100UnitConverter().convertMeasureToCore(
867 if( pPropStyleContext && pStylesCtxt )
871 u"AutomaticSize", pPropStyleContext, pStylesCtxt ) >>=
m_bAutoSize;
881 , m_rPositioning( rPositioning )
890 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
899 SvXMLImport& rImport,
900 uno::Reference< chart::XDiagram >
const & xDiagram,
903 mrImportHelper( rImpHelper ),
904 mxWallFloorSupplier( xDiagram,
uno::UNO_QUERY ),
905 meContextType( eContextType )
914 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
919 OUString sAutoStyleName;
924 sAutoStyleName = aIter.toString();
934 if (!sAutoStyleName.isEmpty())
940 SvXMLImport& rImport,
941 uno::Reference< chart::XDiagram >
const & xDiagram,
944 mrImportHelper( rImpHelper ),
945 mxStockPropProvider( xDiagram,
uno::UNO_QUERY ),
946 meContextType( eContextType )
955 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
960 OUString sAutoStyleName;
965 sAutoStyleName = aIter.toString();
970 if( sAutoStyleName.isEmpty())
974 uno::Reference< beans::XPropertySet > xProp;
992 const uno::Reference< beans::XPropertySet > &xBarProp,
993 const OUString &aXMLRange,
994 bool bPositiveValue,
bool bYError,
997 uno::Reference< css::chart2::data::XDataProvider > xDataProvider(xDoc->getDataProvider());
998 uno::Reference< css::chart2::data::XDataSource > xDataSource( xBarProp, uno::UNO_QUERY );
999 uno::Reference< css::chart2::data::XDataSink > xDataSink( xDataSource, uno::UNO_QUERY );
1001 assert( xDataSink.is() && xDataSource.is() && xDataProvider.is() );
1003 OUString aRange(lcl_ConvertRange(aXMLRange,xDoc));
1005 uno::Reference< chart2::data::XDataSequence > xNewSequence(
1006 xDataProvider->createDataSequenceByRangeRepresentation( aRange ));
1008 if( !xNewSequence.is())
1013 OUStringBuffer aRoleBuffer(
"error-bars-");
1015 aRoleBuffer.append(
'y' );
1017 aRoleBuffer.append(
'x');
1019 aRoleBuffer.append(
'-' );
1021 if( bPositiveValue )
1022 aRoleBuffer = aRoleBuffer.append(
"positive" );
1024 aRoleBuffer = aRoleBuffer.append(
"negative" );
1026 OUString aRole = aRoleBuffer.makeStringAndClear();
1030 xSeqProp->setPropertyValue(
"Role",
uno::Any( aRole ));
1035 uno::UNO_QUERY_THROW );
1039 xLabelSeq->setValues( xNewSequence );
1041 uno::Sequence< Reference< chart2::data::XLabeledDataSequence > > aSequences(
1042 xDataSource->getDataSequences());
1044 aSequences.realloc( aSequences.getLength() + 1 );
1045 aSequences.getArray()[ aSequences.getLength() - 1 ] = xLabelSeq;
1046 xDataSink->setData( aSequences );
1052 SvXMLImport& rImport,
1053 OUString sSeriesStyleName,
1054 ::std::vector< DataRowPointStyle >& rStyleVector,
1055 css::uno::Reference< css::chart2::XDataSeries > xSeries,
1060 mrImportHelper( rImpHelper ),
1061 mrStyleVector( rStyleVector ),
1063 meContextType( eContextType ),
1064 maSeriesStyleName(
std::move( sSeriesStyleName)),
1065 mrLSequencesPerIndex(rLSequencesPerIndex)
1074void SetErrorBarStyleProperties(
const OUString& rStyleName,
const uno::Reference< beans::XPropertySet >& xBarProp,
1087void SetErrorBarPropertiesFromStyleName(
const OUString& aStyleName,
const uno::Reference< beans::XPropertySet>& xBarProp,
1098 pSeriesStyleContext,pStylesCtxt);
1103 sal_Int32 aBarStyle = css::chart::ErrorBarStyle::NONE;
1105 xBarProp->setPropertyValue(
"ErrorBarStyle", aAny);
1108 pSeriesStyleContext,pStylesCtxt);
1111 xBarProp->setPropertyValue(
"ShowPositiveError",aAny);
1114 pSeriesStyleContext,pStylesCtxt);
1117 xBarProp->setPropertyValue(
"ShowNegativeError",aAny);
1120 pSeriesStyleContext, pStylesCtxt);
1123 xBarProp->setPropertyValue(
"PositiveError", aAny);
1127 pSeriesStyleContext, pStylesCtxt);
1130 xBarProp->setPropertyValue(
"PositiveError", aAny);
1134 pSeriesStyleContext, pStylesCtxt);
1137 xBarProp->setPropertyValue(
"NegativeError", aAny);
1141 pSeriesStyleContext, pStylesCtxt);
1144 xBarProp->setPropertyValue(
"NegativeError", aAny);
1148 pSeriesStyleContext, pStylesCtxt);
1155 pSeriesStyleContext, pStylesCtxt);
1162 pSeriesStyleContext, pStylesCtxt);
1165 xBarProp->setPropertyValue(
"Weight", aAny);
1169 pSeriesStyleContext, pStylesCtxt);
1170 if( aAny.
hasValue() && aBarStyle == css::chart::ErrorBarStyle::RELATIVE )
1172 xBarProp->setPropertyValue(
"PositiveError", aAny);
1173 xBarProp->setPropertyValue(
"NegativeError", aAny);
1178 case css::chart::ErrorBarStyle::ERROR_MARGIN:
1181 pSeriesStyleContext,pStylesCtxt);
1183 xBarProp->setPropertyValue(
"NegativeError",aAny);
1186 pSeriesStyleContext,pStylesCtxt);
1188 xBarProp->setPropertyValue(
"PositiveError",aAny);
1200 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
1202 OUString sAutoStyleName;
1205 bool bYError =
true;
1209 switch (aIter.getToken())
1212 sAutoStyleName = aIter.toString();
1215 bYError = aIter.toView() ==
"y";
1218 aPosRange = aIter.toString();
1221 aNegRange = aIter.toString();
1226 if( sAutoStyleName.isEmpty() )
1242 uno::Reference< beans::XPropertySet > xBarProp( xFact->createInstance(
"com.sun.star.chart2.ErrorBar" ),
1245 xBarProp->setPropertyValue(
"ErrorBarStyle",
uno::Any(css::chart::ErrorBarStyle::NONE));
1246 xBarProp->setPropertyValue(
"PositiveError",
uno::Any(0.0));
1247 xBarProp->setPropertyValue(
"NegativeError",
uno::Any(0.0));
1248 xBarProp->setPropertyValue(
"Weight",
uno::Any(1.0));
1249 xBarProp->setPropertyValue(
"ShowPositiveError",
uno::Any(
true));
1250 xBarProp->setPropertyValue(
"ShowNegativeError",
uno::Any(
true));
1254 SetErrorBarStyleProperties( sAutoStyleName, xBarProp,
mrImportHelper );
1256 SetErrorBarPropertiesFromStyleName( sAutoStyleName, xBarProp,
mrImportHelper, aPosRange, aNegRange );
1258 uno::Reference< chart2::XChartDocument > xDoc(
GetImport().GetModel(),uno::UNO_QUERY);
1260 if (!aPosRange.isEmpty())
1263 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
bool mbGlobalChartTypeUsedBySeries
SchXMLPositionAttributesHelper m_aInnerPositioning
virtual ~SchXMLPlotAreaContext() override
const OUString & m_rXLinkHRefAttributeToIndicateDataProvider
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, OUString aChartTypeServiceName, tSchXMLLSequencesPerIndex &rLSequencesPerIndex, const css::awt::Size &rChartSize)
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
::std::vector< DataRowPointStyle > & mrStyleVector
virtual ~SchXMLStatisticsObjectContext() override
SchXMLStatisticsObjectContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, OUString aSeriesStyleName, ::std::vector< DataRowPointStyle > &rStyleVector, css::uno::Reference< css::chart2::XDataSeries > xSeries, ContextType eContextType, tSchXMLLSequencesPerIndex &rLSequencesPerIndex)
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 SvXMLStyleContext * FindStyleChildContext(XmlStyleFamily nFamily, const OUString &rName, bool bCreateIndex=false) const
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