summaryrefslogtreecommitdiffstats
path: root/chart2
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 14:11:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-24 07:03:11 +0200
commit33319078e965d4597db9c7ce72ab910f3e0d4e7d (patch)
tree55d03455f1b312ea185e7907b7aa67fd1a73e54a /chart2
parentuse rtl::Reference in ChartModel (diff)
downloadcore-33319078e965d4597db9c7ce72ab910f3e0d4e7d.tar.gz
core-33319078e965d4597db9c7ce72ab910f3e0d4e7d.zip
use rtl::Reference in ControllerCommandDispatch
rather than storing both a raw pointer and an uno::Reference Change-Id: I46496da508689d82211940da765d53378f72fd7a
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/controller/main/ControllerCommandDispatch.cxx35
-rw-r--r--chart2/source/controller/main/ControllerCommandDispatch.hxx4
2 files changed, 19 insertions, 20 deletions
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index 3f32b4db1558..4175eb8404b7 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -462,8 +462,7 @@ ControllerCommandDispatch::ControllerCommandDispatch(
const Reference< uno::XComponentContext > & xContext,
ChartController* pController, CommandDispatchContainer* pContainer ) :
impl::ControllerCommandDispatch_Base( xContext ),
- m_pChartController( pController ),
- m_xController( Reference< frame::XController >( pController ) ),
+ m_xChartController( pController ),
m_xSelectionSupplier( Reference< view::XSelectionSupplier >( pController ) ),
m_xDispatch( Reference< frame::XDispatch >( pController ) ),
m_apModelState( new impl::ModelState() ),
@@ -478,9 +477,9 @@ ControllerCommandDispatch::~ControllerCommandDispatch()
void ControllerCommandDispatch::initialize()
{
- if( m_xController.is())
+ if( m_xChartController.is())
{
- Reference< frame::XModel > xModel( m_xController->getModel());
+ Reference< frame::XModel > xModel( m_xChartController->getModel());
Reference< util::XModifyBroadcaster > xModifyBroadcaster( xModel, uno::UNO_QUERY );
OSL_ASSERT( xModifyBroadcaster.is());
if( xModifyBroadcaster.is())
@@ -494,7 +493,7 @@ void ControllerCommandDispatch::initialize()
m_apModelState->update( xModel );
if( m_apControllerState.get() && xModel.is())
- m_apControllerState->update( m_xController, xModel );
+ m_apControllerState->update( m_xChartController.get(), xModel );
updateCommandAvailability();
}
@@ -525,12 +524,12 @@ void ControllerCommandDispatch::updateCommandAvailability()
// @todo: determine correctly
bool bHasSuitableClipboardContent = true;
- bool bShapeContext = m_pChartController && m_pChartController->isShapeContext();
+ bool bShapeContext = m_xChartController.is() && m_xChartController->isShapeContext();
bool bEnableDataTableDialog = false;
- if ( m_xController.is() )
+ if ( m_xChartController.is() )
{
- Reference< beans::XPropertySet > xProps( m_xController->getModel(), uno::UNO_QUERY );
+ Reference< beans::XPropertySet > xProps( m_xChartController->getModel(), uno::UNO_QUERY );
if ( xProps.is() )
{
try
@@ -722,7 +721,7 @@ void ControllerCommandDispatch::fireStatusEvent(
if( rURL.isEmpty() || bIsChartSelectorURL )
{
uno::Any aArg;
- aArg <<= m_xController;
+ aArg <<= Reference< frame::XController >(m_xChartController.get());
fireStatusEventForURL( ".uno:ChartElementSelector", aArg, true, xSingleListener );
}
@@ -737,7 +736,7 @@ void ControllerCommandDispatch::fireStatusEvent(
// @todo: remove if Issue 68864 is fixed
if( rURL.isEmpty() || rURL == ".uno:StatusBarVisible" )
{
- bool bIsStatusBarVisible( lcl_isStatusBarVisible( m_xController ));
+ bool bIsStatusBarVisible( lcl_isStatusBarVisible( m_xChartController.get() ));
fireStatusEventForURL( ".uno:StatusBarVisible", uno::makeAny( bIsStatusBarVisible ), true, xSingleListener );
}
}
@@ -756,7 +755,7 @@ void SAL_CALL ControllerCommandDispatch::dispatch(
/// is called when this is disposed
void SAL_CALL ControllerCommandDispatch::disposing()
{
- m_xController.clear();
+ m_xChartController.clear();
m_xDispatch.clear();
m_xSelectionSupplier.clear();
}
@@ -765,7 +764,7 @@ void SAL_CALL ControllerCommandDispatch::disposing()
void SAL_CALL ControllerCommandDispatch::disposing( const lang::EventObject& /* Source */ )
throw (uno::RuntimeException, std::exception)
{
- m_xController.clear();
+ m_xChartController.clear();
m_xDispatch.clear();
m_xSelectionSupplier.clear();
}
@@ -777,16 +776,16 @@ void SAL_CALL ControllerCommandDispatch::modified( const lang::EventObject& aEve
bool bUpdateCommandAvailability = false;
// Update the "ModelState" Struct.
- if( m_apModelState.get() && m_xController.is())
+ if( m_apModelState.get() && m_xChartController.is())
{
- m_apModelState->update( m_xController->getModel());
+ m_apModelState->update( m_xChartController->getModel());
bUpdateCommandAvailability = true;
}
// Update the "ControllerState" Struct.
- if( m_apControllerState.get() && m_xController.is())
+ if( m_apControllerState.get() && m_xChartController.is())
{
- m_apControllerState->update( m_xController, m_xController->getModel());
+ m_apControllerState->update( m_xChartController.get(), m_xChartController->getModel());
bUpdateCommandAvailability = true;
}
@@ -801,9 +800,9 @@ void SAL_CALL ControllerCommandDispatch::selectionChanged( const lang::EventObje
throw (uno::RuntimeException, std::exception)
{
// Update the "ControllerState" Struct.
- if( m_apControllerState.get() && m_xController.is())
+ if( m_apControllerState.get() && m_xChartController.is())
{
- m_apControllerState->update( m_xController, m_xController->getModel());
+ m_apControllerState->update( m_xChartController.get(), m_xChartController->getModel());
updateCommandAvailability();
}
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.hxx b/chart2/source/controller/main/ControllerCommandDispatch.hxx
index 0c7fcfdf6e1b..8afbc619e68f 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.hxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/view/XSelectionSupplier.hpp>
#include <cppuhelper/implbase.hxx>
+#include <rtl/ref.hxx>
#include <memory>
@@ -104,8 +105,7 @@ private:
bool isShapeControllerCommandAvailable( const OUString& rCommand );
- ChartController* m_pChartController;
- css::uno::Reference< css::frame::XController > m_xController;
+ rtl::Reference<ChartController> m_xChartController;
css::uno::Reference< css::view::XSelectionSupplier > m_xSelectionSupplier;
css::uno::Reference< css::frame::XDispatch > m_xDispatch;