36 #include <com/sun/star/awt/Point.hpp>
37 #include <com/sun/star/awt/Size.hpp>
38 #include <com/sun/star/chart/ErrorBarStyle.hpp>
39 #include <com/sun/star/chart/X3DDisplay.hpp>
40 #include <com/sun/star/chart/XStatisticDisplay.hpp>
41 #include <com/sun/star/chart/XDiagramPositioning.hpp>
42 #include <com/sun/star/chart/XChartDocument.hpp>
43 #include <com/sun/star/chart2/XChartDocument.hpp>
44 #include <com/sun/star/chart2/data/XDataSink.hpp>
45 #include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
46 #include <com/sun/star/chart2/data/LabeledDataSequence.hpp>
47 #include <com/sun/star/drawing/CameraGeometry.hpp>
48 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
49 #include <com/sun/star/lang/XServiceInfo.hpp>
50 #include <com/sun/star/xml/sax/XAttributeList.hpp>
60 struct lcl_AxisHasCategories
68 OUString lcl_ConvertRange(
const OUString & rRange,
const uno::Reference< chart2::XChartDocument > & xDoc )
70 OUString aResult = rRange;
73 uno::Reference< chart2::data::XRangeXMLConversion > xConversion(
74 xDoc->getDataProvider(), uno::UNO_QUERY );
76 aResult = xConversion->convertRangeFromXML( rRange );
94 uno::Reference< beans::XPropertySet > xProp( xDiagram, uno::UNO_QUERY );
97 drawing::CameraGeometry aCamGeo;
98 xProp->getPropertyValue(
"D3DCameraGeometry") >>= aCamGeo;
99 maVRP.setX( aCamGeo.vrp.PositionX );
100 maVRP.setY( aCamGeo.vrp.PositionY );
101 maVRP.setZ( aCamGeo.vrp.PositionZ );
102 maVPN.setX( aCamGeo.vpn.DirectionX );
103 maVPN.setY( aCamGeo.vpn.DirectionY );
104 maVPN.setZ( aCamGeo.vpn.DirectionZ );
105 maVUP.setX( aCamGeo.vup.DirectionX );
106 maVUP.setY( aCamGeo.vup.DirectionY );
107 maVUP.setZ( aCamGeo.vup.DirectionZ );
110 catch(
const uno::Exception & )
123 const OUString& rXLinkHRefAttributeToIndicateDataProvider,
124 OUString& rCategoriesAddress,
125 OUString& rChartAddress,
126 bool & rbHasRangeAtPlotArea,
127 bool & rAllRangeAddressesAvailable,
128 bool & rColHasLabels,
129 bool & rRowHasLabels,
130 chart::ChartDataRowSource & rDataRowSource,
132 const OUString& aChartTypeServiceName,
134 const awt::Size & rChartSize ) :
136 mrImportHelper( rImpHelper ),
137 mrCategoriesAddress( rCategoriesAddress ),
138 mrSeriesDefaultsAndStyles( rSeriesDefaultsAndStyles ),
139 mnNumOfLinesProp( 0 ),
140 mbStockHasVolume( false ),
142 m_aGlobalSeriesImportInfo( rAllRangeAddressesAvailable ),
143 maSceneImportHelper( rImport ),
144 m_aOuterPositioning( rImport ),
145 m_aInnerPositioning( rImport ),
146 mbPercentStacked(false),
147 m_bAxisPositionAttributeImported(false),
148 m_rXLinkHRefAttributeToIndicateDataProvider(rXLinkHRefAttributeToIndicateDataProvider),
149 mrChartAddress( rChartAddress ),
150 m_rbHasRangeAtPlotArea( rbHasRangeAtPlotArea ),
151 mrColHasLabels( rColHasLabels ),
152 mrRowHasLabels( rRowHasLabels ),
153 mrDataRowSource( rDataRowSource ),
154 maChartTypeServiceName( aChartTypeServiceName ),
155 mrLSequencesPerIndex( rLSequencesPerIndex ),
156 mbGlobalChartTypeUsedBySeries( false ),
157 maChartSize( rChartSize )
162 uno::Reference< chart::XChartDocument > xDoc = rImpHelper.
GetChartDocument();
166 mxNewDoc.set( xDoc, uno::UNO_QUERY );
174 aFalseBool <<=
false;
176 uno::Reference< lang::XServiceInfo > xInfo(
mxDiagram, uno::UNO_QUERY );
177 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
178 if( !xInfo.is() || !xProp.is() )
183 xProp->setPropertyValue(
"HasXAxis", aFalseBool );
184 xProp->setPropertyValue(
"HasXAxisGrid", aFalseBool );
185 xProp->setPropertyValue(
"HasXAxisDescription", aFalseBool );
186 xProp->setPropertyValue(
"HasSecondaryXAxis", aFalseBool );
187 xProp->setPropertyValue(
"HasSecondaryXAxisDescription", aFalseBool );
189 xProp->setPropertyValue(
"HasYAxis", aFalseBool );
190 xProp->setPropertyValue(
"HasYAxisGrid", aFalseBool );
191 xProp->setPropertyValue(
"HasYAxisDescription", aFalseBool );
192 xProp->setPropertyValue(
"HasSecondaryYAxis", aFalseBool );
193 xProp->setPropertyValue(
"HasSecondaryYAxisDescription", aFalseBool );
195 xProp->setPropertyValue(
"HasZAxis", aFalseBool );
196 xProp->setPropertyValue(
"HasZAxisDescription", aFalseBool );
198 xProp->setPropertyValue(
"DataRowSource",
uno::Any(chart::ChartDataRowSource_COLUMNS) );
200 catch(
const beans::UnknownPropertyException & )
202 SAL_WARN(
"xmloff.chart",
"Property required by service not supported" );
210 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
213 uno::Reference< chart2::XChartDocument > xNewDoc(
GetImport().GetModel(), uno::UNO_QUERY );
217 switch( aIter.getToken() )
275 catch(
const beans::UnknownPropertyException & )
277 SAL_WARN(
"xmloff.chart",
"Properties missing" );
283 uno::Reference< beans::XPropertySet > xProp(
mxDiagram, uno::UNO_QUERY );
297 if( pPropStyleContext )
302 xProp->getPropertyValue(
"DataRowSource")
308 u"Lines", pPropStyleContext, pStylesCtxt );
317 if( xProp.is() && ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
322 OUString aPropName(
"StartingAngle" );
325 xProp->setPropertyValue( aPropName, uno::makeAny(sal_Int32(0)) ) ;
345 bool bStacked =
false;
353 uno::Any aDeepProperty( xProp->getPropertyValue(
"Deep"));
360 if( ( xProp->getPropertyValue(
"Dim3D") >>= bIs3d ) &&
365 aDeepProperty <<=
true;
375 catch(
const uno::Exception & )
381 bool bCreateInternalDataProvider =
false;
383 bCreateInternalDataProvider =
true;
385 bCreateInternalDataProvider =
false;
387 bCreateInternalDataProvider =
true;
389 bCreateInternalDataProvider =
true;
391 if( bCreateInternalDataProvider &&
mxNewDoc.is() )
396 mxNewDoc->createInternalDataProvider(
false );
398 xProp->setPropertyValue(
"DataRowSource", uno::makeAny(
mrDataRowSource) );
404 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
419 bool bAddMissingXAxisForNetCharts =
false;
420 bool bAdaptWrongPercentScaleValues =
false;
428 bAddMissingXAxisForNetCharts =
true;
432 bAdaptWrongPercentScaleValues =
true;
435 bool bAdaptXAxisOrientationForOld2DBarCharts =
false;
440 bAdaptXAxisOrientationForOld2DBarCharts =
true;
506 uno::Reference< chart2::data::XDataProvider > xDataProvider(
509 sal_Int32 nDimension( 0 );
510 ::std::vector< SchXMLAxis >::const_iterator aIt(
511 ::std::find_if(
maAxes.begin(),
maAxes.end(), lcl_AxisHasCategories()));
513 nDimension = static_cast< sal_Int32 >( (*aIt).eDimension );
520 uno::Reference< beans::XPropertySet > xDiaProp(
mxDiagram, uno::UNO_QUERY );
523 bool bIsThreeDim =
false;
524 uno::Any aAny = xDiaProp->getPropertyValue(
"Dim3D");
525 aAny >>= bIsThreeDim;
539 xDiaProp->setPropertyValue(
"NumberOfLines",
542 catch(
const uno::Exception & )
549 if(
mxDiagram->getDiagramType() ==
"com.sun.star.chart.StockDiagram" &&
554 xDiaProp->setPropertyValue(
"Volume",
555 uno::makeAny(
true ));
557 catch(
const uno::Exception & )
566 uno::Reference< chart::XDiagramPositioning > xDiaPos(
mxDiagram, uno::UNO_QUERY );
610 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
620 ::std::vector<OUString>& rLabels,
624 , mrDataLabelStyle(rDataLabelStyle)
630 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
641 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
645 switch(aIter.getToken())
650 sal_Int32 nResultValue;
658 sal_Int32 nResultValue;
674 ::std::vector< DataRowPointStyle >& rStyleVector,
675 const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
677 bool bSymbolSizeForSeriesIsMissingInFile ) :
679 mrStyleVector( rStyleVector ),
684 mDataPoint.mbSymbolSizeForSeriesIsMissingInFile = bSymbolSizeForSeriesIsMissingInFile;
689 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
710 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
712 OUString sAutoStyleName;
713 sal_Int32 nRepeat = 1;
714 OUString sCustomLabelField;
718 switch (aIter.getToken())
722 sAutoStyleName = aIter.toString();
729 nRepeat = aIter.toInt32();
739 sCustomLabelField = aIter.toString();
745 bool bHideLegend = aIter.toBoolean();
748 uno::Sequence<sal_Int32> deletedLegendEntriesSeq;
750 xSeriesProp->getPropertyValue(
"DeletedLegendEntries") >>= deletedLegendEntriesSeq;
751 std::vector<sal_Int32> deletedLegendEntries;
752 for (
auto& deletedLegendEntry : deletedLegendEntriesSeq)
754 deletedLegendEntries.push_back(deletedLegendEntry);
796 , m_bHasSizeWidth( false )
797 , m_bHasSizeHeight( false )
798 , m_bHasPositionX( false )
799 , m_bHasPositionY( false )
800 , m_bAutoSize( false )
801 , m_bAutoPosition( false )
861 if( pPropStyleContext && pStylesCtxt )
865 u"AutomaticSize", pPropStyleContext, pStylesCtxt ) >>=
m_bAutoSize;
875 , m_rPositioning( rPositioning )
884 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
894 uno::Reference< chart::XDiagram >
const & xDiagram,
897 mrImportHelper( rImpHelper ),
898 mxWallFloorSupplier( xDiagram,
uno::UNO_QUERY ),
899 meContextType( eContextType )
908 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
913 OUString sAutoStyleName;
918 sAutoStyleName = aIter.toString();
928 if (!sAutoStyleName.isEmpty())
935 uno::Reference< chart::XDiagram >
const & xDiagram,
938 mrImportHelper( rImpHelper ),
939 mxStockPropProvider( xDiagram,
uno::UNO_QUERY ),
940 meContextType( eContextType )
949 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
954 OUString sAutoStyleName;
959 sAutoStyleName = aIter.toString();
964 if( sAutoStyleName.isEmpty())
968 uno::Reference< beans::XPropertySet > xProp;
986 const uno::Reference< beans::XPropertySet > &xBarProp,
987 const OUString &aXMLRange,
988 bool bPositiveValue,
bool bYError,
991 uno::Reference< css::chart2::data::XDataProvider > xDataProvider(xDoc->getDataProvider());
992 uno::Reference< css::chart2::data::XDataSource > xDataSource( xBarProp, uno::UNO_QUERY );
993 uno::Reference< css::chart2::data::XDataSink > xDataSink( xDataSource, uno::UNO_QUERY );
995 assert( xDataSink.is() && xDataSource.is() && xDataProvider.is() );
997 OUString aRange(lcl_ConvertRange(aXMLRange,xDoc));
999 uno::Reference< chart2::data::XDataSequence > xNewSequence(
1000 xDataProvider->createDataSequenceByRangeRepresentation( aRange ));
1002 if( !xNewSequence.is())
1007 OUStringBuffer aRoleBuffer(
"error-bars-");
1009 aRoleBuffer.append(
'y' );
1011 aRoleBuffer.append(
'x');
1013 aRoleBuffer.append(
'-' );
1015 if( bPositiveValue )
1016 aRoleBuffer = aRoleBuffer.append(
"positive" );
1018 aRoleBuffer = aRoleBuffer.append(
"negative" );
1020 OUString aRole = aRoleBuffer.makeStringAndClear();
1024 xSeqProp->setPropertyValue(
"Role", uno::makeAny( aRole ));
1029 uno::UNO_QUERY_THROW );
1033 xLabelSeq->setValues( xNewSequence );
1035 uno::Sequence< Reference< chart2::data::XLabeledDataSequence > > aSequences(
1036 xDataSource->getDataSequences());
1038 aSequences.realloc( aSequences.getLength() + 1 );
1039 aSequences[ aSequences.getLength() - 1 ] = xLabelSeq;
1040 xDataSink->setData( aSequences );
1047 const OUString &rSeriesStyleName,
1048 ::std::vector< DataRowPointStyle >& rStyleVector,
1049 const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
1054 mrImportHelper( rImpHelper ),
1055 mrStyleVector( rStyleVector ),
1057 meContextType( eContextType ),
1058 maSeriesStyleName( rSeriesStyleName),
1059 mrLSequencesPerIndex(rLSequencesPerIndex)
1068 void SetErrorBarStyleProperties(
const OUString& rStyleName,
const uno::Reference< beans::XPropertySet >& xBarProp,
1081 void SetErrorBarPropertiesFromStyleName(
const OUString& aStyleName,
const uno::Reference< beans::XPropertySet>& xBarProp,
1092 pSeriesStyleContext,pStylesCtxt);
1097 sal_Int32 aBarStyle = css::chart::ErrorBarStyle::NONE;
1099 xBarProp->setPropertyValue(
"ErrorBarStyle", aAny);
1102 pSeriesStyleContext,pStylesCtxt);
1105 xBarProp->setPropertyValue(
"ShowPositiveError",aAny);
1108 pSeriesStyleContext,pStylesCtxt);
1111 xBarProp->setPropertyValue(
"ShowNegativeError",aAny);
1114 pSeriesStyleContext, pStylesCtxt);
1117 xBarProp->setPropertyValue(
"PositiveError", aAny);
1121 pSeriesStyleContext, pStylesCtxt);
1124 xBarProp->setPropertyValue(
"PositiveError", aAny);
1128 pSeriesStyleContext, pStylesCtxt);
1131 xBarProp->setPropertyValue(
"NegativeError", aAny);
1135 pSeriesStyleContext, pStylesCtxt);
1138 xBarProp->setPropertyValue(
"NegativeError", aAny);
1142 pSeriesStyleContext, pStylesCtxt);
1149 pSeriesStyleContext, pStylesCtxt);
1156 pSeriesStyleContext, pStylesCtxt);
1159 xBarProp->setPropertyValue(
"Weight", aAny);
1163 pSeriesStyleContext, pStylesCtxt);
1164 if( aAny.
hasValue() && aBarStyle == css::chart::ErrorBarStyle::RELATIVE )
1166 xBarProp->setPropertyValue(
"PositiveError", aAny);
1167 xBarProp->setPropertyValue(
"NegativeError", aAny);
1172 case css::chart::ErrorBarStyle::ERROR_MARGIN:
1175 pSeriesStyleContext,pStylesCtxt);
1177 xBarProp->setPropertyValue(
"NegativeError",aAny);
1180 pSeriesStyleContext,pStylesCtxt);
1182 xBarProp->setPropertyValue(
"PositiveError",aAny);
1194 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
1196 OUString sAutoStyleName;
1199 bool bYError =
true;
1203 switch (aIter.getToken())
1206 sAutoStyleName = aIter.toString();
1209 bYError = aIter.toString() ==
"y";
1212 aPosRange = aIter.toString();
1215 aNegRange = aIter.toString();
1220 if( sAutoStyleName.isEmpty() )
1236 uno::Reference< beans::XPropertySet > xBarProp( xFact->createInstance(
"com.sun.star.chart2.ErrorBar" ),
1239 xBarProp->setPropertyValue(
"ErrorBarStyle",uno::makeAny(css::chart::ErrorBarStyle::NONE));
1240 xBarProp->setPropertyValue(
"PositiveError",uno::makeAny(0.0));
1241 xBarProp->setPropertyValue(
"NegativeError",uno::makeAny(0.0));
1242 xBarProp->setPropertyValue(
"Weight",uno::makeAny(1.0));
1243 xBarProp->setPropertyValue(
"ShowPositiveError",uno::makeAny(
true));
1244 xBarProp->setPropertyValue(
"ShowNegativeError",uno::makeAny(
true));
1248 SetErrorBarStyleProperties( sAutoStyleName, xBarProp,
mrImportHelper );
1250 SetErrorBarPropertiesFromStyleName( sAutoStyleName, xBarProp,
mrImportHelper, aPosRange, aNegRange );
1252 uno::Reference< chart2::XChartDocument > xDoc(
GetImport().GetModel(),uno::UNO_QUERY);
1254 if (!aPosRange.isEmpty())
1257 if (!aNegRange.isEmpty())
css::uno::Reference< css::chart::XStatisticDisplay > mxStockPropProvider
css::chart::ChartDataRowSource & mrDataRowSource
css::uno::Reference< css::chart2::XDataSeries > m_xSeries
std::optional< sal_Int32 > mo_nLabelAbsolutePosX
OUString maSeriesStyleName
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 ...
SchXMLDataPointContext(SvXMLImport &rImport,::std::vector< DataRowPointStyle > &rStyleVector, const css::uno::Reference< css::chart2::XDataSeries > &xSeries, sal_Int32 &rIndex, bool bSymbolSizeForSeriesIsMissingInFile)
css::uno::Reference< css::chart::X3DDisplay > mxWallFloorSupplier
SchXMLStockContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, css::uno::Reference< css::chart::XDiagram > const &xDiagram, ContextType eContextType)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
css::uno::Reference< css::chart2::XChartDocument > mxNewDoc
void setSceneAttributes(const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
this sets the scene attributes at this propertyset
SvXMLStylesContext * GetAutoStylesContext() const
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)
SvXMLImport & GetImport()
#define XMLOFF_WARN_UNKNOWN_ATTR(area, token, value)
css::uno::Any maSymbolTypeDefault
bool & m_rbHasRangeAtPlotArea
OUStringBuffer maCharBuffer
void processSceneAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter &aIter)
this should be called for each scene attribute
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
void FillAutoStyle(const OUString &rAutoStyleName, const css::uno::Reference< css::beans::XPropertySet > &rProp)
Fill in the autostyle.
css::uno::Any maStackedDefault
virtual ~SchXMLDataPointContext() override
::std::vector< DataRowPointStyle > & mrStyleVector
SchXMLStatisticsObjectContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, const OUString &rSeriesStyleName,::std::vector< DataRowPointStyle > &rStyleVector, const css::uno::Reference< css::chart2::XDataSeries > &xSeries, ContextType eContextType, tSchXMLLSequencesPerIndex &rLSequencesPerIndex)
SchXMLImportHelper & mrImportHelper
SchXMLPositionAttributesHelper(SvXMLImport &rImporter)
css::awt::Size maChartSize
css::uno::Any const & rValue
ContextType meContextType
virtual ~SchXMLWallFloorContext() override
static void CorrectAxisPositions(const css::uno::Reference< css::chart2::XChartDocument > &xNewDoc, std::u16string_view rChartTypeServiceName, std::u16string_view rODFVersionOfFile, bool bAxisPositionAttributeImported)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
css::uno::Any maDataCaptionDefault
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
virtual ~SchXMLStatisticsObjectContext() override
#define XMLOFF_WARN_UNKNOWN(area, rIter)
bool m_bAxisPositionAttributeImported
::std::vector< SchXMLAxis > maAxes
void readPositioningAttribute(sal_Int32 nAttributeToken, std::string_view rValue)
SchXML3DSceneAttributesHelper(SvXMLImport &rImporter)
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 ...
::std::pair< tSchXMLIndex, SchXMLLabeledSequencePart > tSchXMLIndexWithPart
OUString & mrChartAddress
SchXMLImportHelper & mrImportHelper
OUString & mrCategoriesAddress
virtual void SAL_CALL characters(const OUString &rChars) override
This method is called for all characters that are contained in the current element.
css::uno::Any maStackedBarsConnectedDefault
ContextType meContextType
::std::vector< OUString > & mrLabels
void getCameraDefaultFromDiagram(const css::uno::Reference< css::chart::XDiagram > &xDiagram)
const OUString & m_rXLinkHRefAttributeToIndicateDataProvider
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
tSchXMLLSequencesPerIndex & mrLSequencesPerIndex
constexpr sal_uInt16 XML_NAMESPACE_SVG
SchXMLWallFloorContext(SchXMLImportHelper &rImportHelper, SvXMLImport &rImport, css::uno::Reference< css::chart::XDiagram > const &xDiagram, ContextType eContextType)
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
SchXMLDataLabelContext(SvXMLImport &rImport,::std::vector< OUString > &rLabels, DataRowPointStyle &rDataLabel)
::basegfx::B3DVector maVUP
SchXMLCoordinateRegionContext(SvXMLImport &rImport, SchXMLPositionAttributesHelper &rPositioning)
void readAutomaticPositioningProperties(XMLPropStyleContext const *pPropStyleContext, const SvXMLStylesContext *pStylesCtxt)
SchXMLPositionAttributesHelper m_aInnerPositioning
virtual void FillPropertySet(const css::uno::Reference< css::beans::XPropertySet > &rPropSet)
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
::basegfx::B3DVector maVPN
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
::std::vector< DataRowPointStyle > & mrStyleVector
SchXMLDataLabelSpanContext(SvXMLImport &rImport,::std::vector< OUString > &rLabels)
virtual ~SchXMLPlotAreaContext() override
css::uno::Reference< css::beans::XPropertySet > m_xErrorXProperties
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
css::uno::Any maLinesOnProperty
css::uno::Any maRegressionCurvesDefault
static XmlStyleFamily GetChartFamilyID()
DataRowPointStyle mDataLabel
css::awt::Point m_aPosition
::std::vector< RegressionStyle > maRegressionStyleVector
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
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
element containing its data as element o...
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
bool mbGlobalChartTypeUsedBySeries
SchXMLPositionAttributesHelper & m_rPositioning
OUString msStyleNameOfParent
constexpr sal_uInt16 XML_NAMESPACE_SVG_COMPAT
This class deliberately does not support XWeak, to improve performance when loading large documents...
#define TOOLS_INFO_EXCEPTION(area, stream)
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 ...
SchXMLPositionAttributesHelper m_aOuterPositioning
~SchXMLPositionAttributesHelper()
css::uno::Any maMeanValueDefault
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 ...
SchXML3DSceneAttributesHelper maSceneImportHelper
::std::vector< OUString > & mrLabels
Reference< XMultiServiceFactory > getProcessServiceFactory()
const css::uno::Reference< css::chart::XChartDocument > & GetChartDocument() const
::std::vector< DataRowPointStyle > maSeriesStyleVector
SeriesDefaultsAndStyles & mrSeriesDefaultsAndStyles
constexpr bool IsTokenInNamespace(sal_Int32 nToken, sal_uInt16 nNamespacePrefix)
OUString GetODFVersion() const
#define SAL_WARN_IF(condition, area, stream)
css::uno::Any maPercentDefault
css::awt::Rectangle getRectangle() const
Handling of tokens in XML:
const SvXMLImport & m_rImport
css::uno::Any maDeepDefault
SchXMLDataLabelParaContext(SvXMLImport &rImport,::std::vector< OUString > &rLabels)
#define XML_ELEMENT(prefix, name)
OUString maChartTypeServiceName
GlobalSeriesImportInfo m_aGlobalSeriesImportInfo
const SvXMLUnitConverter & GetMM100UnitConverter() const
virtual ~SchXMLStockContext() override
Reference< XComponentContext > getProcessComponentContext()
sal_Int32 mnNumOfLinesProp
DataRowPointStyle & mrDataLabelStyle
tSchXMLLSequencesPerIndex & mrLSequencesPerIndex
static css::uno::Sequence< typename VectorType::value_type > vectorToSequence(const VectorType &rVector)
const SvXMLStyleContext * FindStyleChildContext(XmlStyleFamily nFamily, const OUString &rName, bool bCreateIndex=false) const
double mCustomLabelPos[2]
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
::std::vector< OUString > mCustomLabels
SchXMLImportHelper & mrImportHelper
#define SAL_WARN(area, stream)
constexpr sal_Int32 TOKEN_MASK
#define XMLOFF_WARN_UNKNOWN_ELEMENT(area, token)
SchXMLImportHelper & mrImportHelper
::basegfx::B3DVector maVRP
ContextType meContextType
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)
css::uno::Reference< css::beans::XPropertySet > m_xErrorYProperties
::std::multimap< tSchXMLIndexWithPart, css::uno::Reference< css::chart2::data::XLabeledDataSequence > > tSchXMLLSequencesPerIndex
virtual ~SchXML3DSceneAttributesHelper()
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
std::optional< sal_Int32 > mo_nLabelAbsolutePosY
DataRowPointStyle mDataPoint
virtual ~SchXMLCoordinateRegionContext() override
bool & rbAllRangeAddressesAvailable
css::uno::Reference< css::chart::XDiagram > mxDiagram
Reference< chart2::XDataSeries > m_xSeries