Kaydet (Commit) 94d4764a authored tarafından August Sodora's avatar August Sodora

SV_DECL_PTRARR->std::vector

üst 00081bb2
...@@ -28,8 +28,6 @@ ...@@ -28,8 +28,6 @@
#ifndef _SFXVIRTMENU_HXX #ifndef _SFXVIRTMENU_HXX
#define _SFXVIRTMENU_HXX #define _SFXVIRTMENU_HXX
#include <svl/svarray.hxx>
#include <sfx2/mnuitem.hxx> #include <sfx2/mnuitem.hxx>
#include "mnucfga.hxx" #include "mnucfga.hxx"
...@@ -37,7 +35,7 @@ class SfxBindings; ...@@ -37,7 +35,7 @@ class SfxBindings;
class Timer; class Timer;
class SfxMenuImageControl_Impl; class SfxMenuImageControl_Impl;
SV_DECL_PTRARR_DEL( SfxMenuCtrlArr_Impl, SfxMenuControl*, 2, 2 ) typedef std::vector<SfxMenuControl*> SfxMenuCtrlArr_Impl;
class SAL_DLLPUBLIC_EXPORT SfxVirtualMenu class SAL_DLLPUBLIC_EXPORT SfxVirtualMenu
{ {
......
...@@ -66,14 +66,9 @@ using namespace ::com::sun::star::container; ...@@ -66,14 +66,9 @@ using namespace ::com::sun::star::container;
using namespace ::com::sun::star::frame; using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::uno; using namespace ::com::sun::star::uno;
//=========================================================================
DBG_NAME(SfxVirtualMenu) DBG_NAME(SfxVirtualMenu)
//=========================================================================
typedef SfxMenuControl* SfxMenuControlPtr; typedef SfxMenuControl* SfxMenuControlPtr;
SV_IMPL_PTRARR(SfxMenuCtrlArr_Impl, SfxMenuControlPtr);
class SfxMenuImageControl_Impl : public SfxControllerItem class SfxMenuImageControl_Impl : public SfxControllerItem
{ {
...@@ -401,7 +396,7 @@ void SfxVirtualMenu::CreateFromSVMenu() ...@@ -401,7 +396,7 @@ void SfxVirtualMenu::CreateFromSVMenu()
pPopup = 0; pPopup = 0;
SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl(); SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl();
rCtrlArr.C40_INSERT( SfxMenuControl, pMnuCtrl, rCtrlArr.Count() ); rCtrlArr.push_back(pMnuCtrl);
(pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings); (pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings);
pMnuCtrl->Bind( this, nSlotId, sItemText, *pBindings); pMnuCtrl->Bind( this, nSlotId, sItemText, *pBindings);
...@@ -444,7 +439,7 @@ void SfxVirtualMenu::CreateFromSVMenu() ...@@ -444,7 +439,7 @@ void SfxVirtualMenu::CreateFromSVMenu()
if ( pMnuCtrl ) if ( pMnuCtrl )
{ {
SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl(); SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl();
rCtrlArr.C40_INSERT( SfxMenuControl, pMnuCtrl, rCtrlArr.Count()); rCtrlArr.push_back(pMnuCtrl);
(pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings); (pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings);
} }
} }
...@@ -456,7 +451,7 @@ void SfxVirtualMenu::CreateFromSVMenu() ...@@ -456,7 +451,7 @@ void SfxVirtualMenu::CreateFromSVMenu()
if ( pMnuCtrl ) if ( pMnuCtrl )
{ {
SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl(); SfxMenuCtrlArr_Impl &rCtrlArr = GetAppCtrl_Impl();
rCtrlArr.C40_INSERT( SfxMenuControl, pMnuCtrl, rCtrlArr.Count()); rCtrlArr.push_back(pMnuCtrl);
(pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings); (pItems+nPos)->Bind( 0, nSlotId, sItemText, *pBindings);
} }
else else
...@@ -736,12 +731,11 @@ void SfxVirtualMenu::BindControllers() ...@@ -736,12 +731,11 @@ void SfxVirtualMenu::BindControllers()
} }
SfxMenuCtrlArr_Impl& rCtrlArr = GetAppCtrl_Impl(); SfxMenuCtrlArr_Impl& rCtrlArr = GetAppCtrl_Impl();
for ( nPos=0; nPos<rCtrlArr.Count(); nPos++ ) for(SfxMenuCtrlArr_Impl::const_iterator i = rCtrlArr.begin(); i != rCtrlArr.end(); ++i)
{ {
SfxMenuControl* pCtrl = rCtrlArr[nPos]; sal_uInt16 nSlotId = (*i)->GetId();
sal_uInt16 nSlotId = pCtrl->GetId();
if ( !pSVMenu->GetItemCommand(nSlotId).Len() ) if ( !pSVMenu->GetItemCommand(nSlotId).Len() )
pCtrl->ReBind(); (*i)->ReBind();
} }
pBindings->LEAVEREGISTRATIONS(); pBindings->LEAVEREGISTRATIONS();
...@@ -761,12 +755,11 @@ void SfxVirtualMenu::UnbindControllers() ...@@ -761,12 +755,11 @@ void SfxVirtualMenu::UnbindControllers()
} }
SfxMenuCtrlArr_Impl& rCtrlArr = GetAppCtrl_Impl(); SfxMenuCtrlArr_Impl& rCtrlArr = GetAppCtrl_Impl();
for ( nPos=0; nPos<rCtrlArr.Count(); nPos++ ) for(SfxMenuCtrlArr_Impl::const_iterator i = rCtrlArr.begin(); i != rCtrlArr.end(); ++i)
{ {
SfxMenuControl* pCtrl = rCtrlArr[nPos]; if((*i)->IsBound())
if ( pCtrl->IsBound() )
// UnoController is not binded! // UnoController is not binded!
pCtrl->UnBind(); (*i)->UnBind();
} }
pBindings->LEAVEREGISTRATIONS(); pBindings->LEAVEREGISTRATIONS();
......
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