diff options
Diffstat (limited to 'chart2/source/tools/LegendHelper.cxx')
-rw-r--r-- | chart2/source/tools/LegendHelper.cxx | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/chart2/source/tools/LegendHelper.cxx b/chart2/source/tools/LegendHelper.cxx index 6fbd6bf63143..2c52f136398d 100644 --- a/chart2/source/tools/LegendHelper.cxx +++ b/chart2/source/tools/LegendHelper.cxx @@ -18,12 +18,14 @@ */ #include <LegendHelper.hxx> +#include <Legend.hxx> #include <ChartModel.hxx> +#include <Diagram.hxx> #include <com/sun/star/chart/ChartLegendExpansion.hpp> #include <com/sun/star/chart2/LegendPosition.hpp> #include <com/sun/star/chart2/RelativePosition.hpp> #include <com/sun/star/uno/XComponentContext.hpp> -#include <tools/diagnose_ex.h> +#include <comphelper/diagnose_ex.hxx> using namespace ::com::sun::star; using ::com::sun::star::uno::Reference; @@ -31,31 +33,30 @@ using ::com::sun::star::uno::Reference; namespace chart { -Reference< chart2::XLegend > LegendHelper::showLegend( ChartModel& rModel +rtl::Reference< Legend > LegendHelper::showLegend( ChartModel& rModel , const uno::Reference< uno::XComponentContext >& xContext ) { - uno::Reference< chart2::XLegend > xLegend = LegendHelper::getLegend( rModel, xContext, true ); - uno::Reference< beans::XPropertySet > xProp( xLegend, uno::UNO_QUERY ); - if( xProp.is()) + rtl::Reference< Legend > xLegend = LegendHelper::getLegend( rModel, xContext, true ); + if( xLegend.is()) { - xProp->setPropertyValue( "Show", uno::Any(true) ); + xLegend->setPropertyValue( "Show", uno::Any(true) ); chart2::RelativePosition aRelativePosition; - if( !(xProp->getPropertyValue( "RelativePosition") >>= aRelativePosition) ) + if( !(xLegend->getPropertyValue( "RelativePosition") >>= aRelativePosition) ) { chart2::LegendPosition ePos = chart2::LegendPosition_LINE_END; - if( !(xProp->getPropertyValue( "AnchorPosition") >>= ePos ) ) - xProp->setPropertyValue( "AnchorPosition", uno::Any( ePos )); + if( !(xLegend->getPropertyValue( "AnchorPosition") >>= ePos ) ) + xLegend->setPropertyValue( "AnchorPosition", uno::Any( ePos )); css::chart::ChartLegendExpansion eExpansion = ( ePos == chart2::LegendPosition_LINE_END || ePos == chart2::LegendPosition_LINE_START ) ? css::chart::ChartLegendExpansion_HIGH : css::chart::ChartLegendExpansion_WIDE; - if( !(xProp->getPropertyValue( "Expansion") >>= eExpansion ) ) - xProp->setPropertyValue( "Expansion", uno::Any( eExpansion )); + if( !(xLegend->getPropertyValue( "Expansion") >>= eExpansion ) ) + xLegend->setPropertyValue( "Expansion", uno::Any( eExpansion )); - xProp->setPropertyValue( "RelativePosition", uno::Any()); + xLegend->setPropertyValue( "RelativePosition", uno::Any()); } } @@ -64,31 +65,29 @@ Reference< chart2::XLegend > LegendHelper::showLegend( ChartModel& rModel void LegendHelper::hideLegend( ChartModel& rModel ) { - uno::Reference< chart2::XLegend > xLegend = LegendHelper::getLegend( rModel, nullptr ); - uno::Reference< beans::XPropertySet > xProp( xLegend, uno::UNO_QUERY ); - if( xProp.is()) + rtl::Reference< Legend > xLegend = LegendHelper::getLegend( rModel, nullptr ); + if( xLegend.is()) { - xProp->setPropertyValue( "Show", uno::Any(false) ); + xLegend->setPropertyValue( "Show", uno::Any(false) ); } } -uno::Reference< chart2::XLegend > LegendHelper::getLegend( +rtl::Reference< Legend > LegendHelper::getLegend( ChartModel& rModel , const uno::Reference< uno::XComponentContext >& xContext , bool bCreate ) { - uno::Reference< chart2::XLegend > xResult; + rtl::Reference< Legend > xResult; try { - uno::Reference< chart2::XDiagram > xDia( rModel.getFirstDiagram()); + rtl::Reference< Diagram > xDia( rModel.getFirstChartDiagram()); if( xDia.is() ) { - xResult.set( xDia->getLegend() ); + xResult = xDia->getLegend2(); if( bCreate && !xResult.is() && xContext.is() ) { - xResult.set( xContext->getServiceManager()->createInstanceWithContext( - "com.sun.star.chart2.Legend", xContext ), uno::UNO_QUERY ); + xResult = new Legend(); xDia->setLegend( xResult ); } } @@ -105,7 +104,7 @@ uno::Reference< chart2::XLegend > LegendHelper::getLegend( return xResult; } -bool LegendHelper::hasLegend( const uno::Reference< chart2::XDiagram > & xDiagram ) +bool LegendHelper::hasLegend( const rtl::Reference< Diagram > & xDiagram ) { bool bReturn = false; if( xDiagram.is()) |