Kaydet (Commit) 509e87d0 authored tarafından Noel Grandin's avatar Noel Grandin Kaydeden (comit) Michael Stahl

Convert SV_DECL_PTR_ARR_DEL(XStatusListenerArr_Impl) to ptr_vector

Change-Id: I2375831167dff55b7906cc7ae8c8a1b53fc88125
üst 480f8494
......@@ -35,6 +35,7 @@
#include <svl/lstner.hxx>
#include <svl/svarray.hxx>
#include "global.hxx" // ScImportParam
#include <boost/ptr_container/ptr_vector.hpp>
namespace com { namespace sun { namespace star { namespace frame {
......@@ -45,8 +46,8 @@ class ScTabViewShell;
typedef ::com::sun::star::uno::Reference<
::com::sun::star::frame::XStatusListener >* XStatusListenerPtr;
SV_DECL_PTRARR_DEL( XStatusListenerArr_Impl, XStatusListenerPtr, 4 )
::com::sun::star::frame::XStatusListener > XStatusListenerRef;
typedef boost::ptr_vector<XStatusListenerRef> XStatusListenerArr_Impl;
class ScDispatchProviderInterceptor : public cppu::WeakImplHelper2<
......
......@@ -50,10 +50,6 @@ const char* cURLDocDataSource = ".uno:DataSourceBrowser/DocumentDataSource";
//------------------------------------------------------------------------
SV_IMPL_PTRARR( XStatusListenerArr_Impl, XStatusListenerPtr );
//------------------------------------------------------------------------
uno::Reference<view::XSelectionSupplier> lcl_GetSelectionSupplier( SfxViewShell* pViewShell )
{
if ( pViewShell )
......@@ -307,7 +303,7 @@ void SAL_CALL ScDispatch::addStatusListener(
{
uno::Reference<frame::XStatusListener>* pObj =
new uno::Reference<frame::XStatusListener>( xListener );
aDataSourceListeners.Insert( pObj, aDataSourceListeners.Count() );
aDataSourceListeners.push_back( pObj );
if (!bListeningToView)
{
......@@ -336,18 +332,18 @@ void SAL_CALL ScDispatch::removeStatusListener(
if ( !aURL.Complete.compareToAscii(cURLDocDataSource) )
{
sal_uInt16 nCount = aDataSourceListeners.Count();
sal_uInt16 nCount = aDataSourceListeners.size();
for ( sal_uInt16 n=nCount; n--; )
{
uno::Reference<frame::XStatusListener> *pObj = aDataSourceListeners[n];
if ( *pObj == xListener )
uno::Reference<frame::XStatusListener>& rObj = aDataSourceListeners[n];
if ( rObj == xListener )
{
aDataSourceListeners.DeleteAndDestroy( n );
aDataSourceListeners.erase( aDataSourceListeners.begin() + n );
break;
}
}
if ( aDataSourceListeners.Count() == 0 && pViewShell )
if ( aDataSourceListeners.empty() && pViewShell )
{
uno::Reference<view::XSelectionSupplier> xSupplier(lcl_GetSelectionSupplier( pViewShell ));
if ( xSupplier.is() )
......@@ -384,8 +380,8 @@ void SAL_CALL ScDispatch::selectionChanged( const ::com::sun::star::lang::EventO
lcl_FillDataSource( aEvent, aNewImport ); // modifies State, IsEnabled
for ( sal_uInt16 n=0; n<aDataSourceListeners.Count(); n++ )
(*aDataSourceListeners[n])->statusChanged( aEvent );
for ( sal_uInt16 n=0; n<aDataSourceListeners.size(); n++ )
aDataSourceListeners[n]->statusChanged( aEvent );
aLastImport = aNewImport;
}
......@@ -403,8 +399,8 @@ void SAL_CALL ScDispatch::disposing( const ::com::sun::star::lang::EventObject&
lang::EventObject aEvent;
aEvent.Source.set(static_cast<cppu::OWeakObject*>(this));
for ( sal_uInt16 n=0; n<aDataSourceListeners.Count(); n++ )
(*aDataSourceListeners[n])->disposing( aEvent );
for ( sal_uInt16 n=0; n<aDataSourceListeners.size(); n++ )
aDataSourceListeners[n]->disposing( aEvent );
pViewShell = NULL;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment