vcl: VclPtr conversion in framework

Change-Id: I82df2d0ed6f40de40099537f982541480af16630
diff --git a/framework/inc/classes/fwktabwindow.hxx b/framework/inc/classes/fwktabwindow.hxx
index ebbac7f..f5e7375 100644
--- a/framework/inc/classes/fwktabwindow.hxx
+++ b/framework/inc/classes/fwktabwindow.hxx
@@ -68,6 +68,7 @@ public:
        const css::uno::Reference< css::awt::XContainerWindowProvider >& rProvider );

    virtual ~FwkTabPage();
    virtual void    dispose() SAL_OVERRIDE;

    virtual void    ActivatePage() SAL_OVERRIDE;
    virtual void    DeactivatePage() SAL_OVERRIDE;
@@ -95,8 +96,8 @@ typedef std::vector< TabEntry* > TabEntryList;
class FwkTabWindow : public vcl::Window
{
private:
    FwkTabControl   m_aTabCtrl;
    TabEntryList    m_TabList;
    VclPtr<FwkTabControl>  m_aTabCtrl;
    TabEntryList           m_TabList;

    css::uno::Reference< css::awt::XContainerWindowProvider >   m_xWinProvider;

@@ -110,6 +111,7 @@ private:
public:
    FwkTabWindow( vcl::Window* pParent );
    virtual ~FwkTabWindow();
    virtual void    dispose() SAL_OVERRIDE;

    void            AddEventListener( const Link& rEventListener );
    void            RemoveEventListener( const Link& rEventListener );
diff --git a/framework/inc/uielement/statusbar.hxx b/framework/inc/uielement/statusbar.hxx
index be957ea..c192d50b 100644
--- a/framework/inc/uielement/statusbar.hxx
+++ b/framework/inc/uielement/statusbar.hxx
@@ -33,7 +33,6 @@ class FrameworkStatusBar : public StatusBar

        FrameworkStatusBar( vcl::Window*           pParent,
                            WinBits           nWinBits );
        virtual ~FrameworkStatusBar();

        void         SetStatusBarManager( StatusBarManager* pStatusBarManager );

diff --git a/framework/source/classes/fwktabwindow.cxx b/framework/source/classes/fwktabwindow.cxx
index b01cf41..37e0c22 100644
--- a/framework/source/classes/fwktabwindow.cxx
+++ b/framework/source/classes/fwktabwindow.cxx
@@ -81,8 +81,14 @@ FwkTabPage::FwkTabPage(

FwkTabPage::~FwkTabPage()
{
    dispose();
}

void FwkTabPage::dispose()
{
    Hide();
    DeactivatePage();
    TabPage::dispose();
}

void FwkTabPage::CreateDialog()
@@ -174,20 +180,27 @@ void FwkTabPage::Resize()
// class FwkTabWindow ---------------------------------------------
FwkTabWindow::FwkTabWindow( vcl::Window* pParent )
    : Window(pParent)
    , m_aTabCtrl(this)
    , m_aTabCtrl(new FwkTabControl(this))
{
    m_xWinProvider = awt::ContainerWindowProvider::create( ::comphelper::getProcessComponentContext() );

    SetPaintTransparent(true);

    m_aTabCtrl.SetActivatePageHdl( LINK( this, FwkTabWindow, ActivatePageHdl ) );
    m_aTabCtrl.SetDeactivatePageHdl( LINK( this, FwkTabWindow, DeactivatePageHdl ) );
    m_aTabCtrl.Show();
    m_aTabCtrl->SetActivatePageHdl( LINK( this, FwkTabWindow, ActivatePageHdl ) );
    m_aTabCtrl->SetDeactivatePageHdl( LINK( this, FwkTabWindow, DeactivatePageHdl ) );
    m_aTabCtrl->Show();
}

FwkTabWindow::~FwkTabWindow()
{
    dispose();
}

void FwkTabWindow::dispose()
{
    ClearEntryList();
    m_aTabCtrl.disposeAndClear();
    vcl::Window::dispose();
}

void FwkTabWindow::ClearEntryList()
@@ -245,40 +258,40 @@ TabEntry* FwkTabWindow::FindEntry( sal_Int32 nIndex ) const

IMPL_LINK_NOARG(FwkTabWindow, ActivatePageHdl)
{
    const sal_uInt16 nId = m_aTabCtrl.GetCurPageId();
    FwkTabPage* pTabPage = static_cast< FwkTabPage* >( m_aTabCtrl.GetTabPage( nId ) );
    const sal_uInt16 nId = m_aTabCtrl->GetCurPageId();
    FwkTabPage* pTabPage = static_cast< FwkTabPage* >( m_aTabCtrl->GetTabPage( nId ) );
    if ( !pTabPage )
    {
        TabEntry* pEntry = FindEntry( nId );
        if ( pEntry )
        {
            pTabPage = new FwkTabPage( &m_aTabCtrl, pEntry->m_sPageURL, pEntry->m_xEventHdl, m_xWinProvider );
            pTabPage = new FwkTabPage( m_aTabCtrl.get(), pEntry->m_sPageURL, pEntry->m_xEventHdl, m_xWinProvider );
            pEntry->m_pPage = pTabPage;
            m_aTabCtrl.SetTabPage( nId, pTabPage );
            m_aTabCtrl->SetTabPage( nId, pTabPage );
            pTabPage->Show();
            pTabPage->ActivatePage();
        }
    } else {
        pTabPage->ActivatePage();
    }
    m_aTabCtrl.BroadcastEvent( VCLEVENT_TABPAGE_ACTIVATE );
    m_aTabCtrl->BroadcastEvent( VCLEVENT_TABPAGE_ACTIVATE );
    return 1;
}

IMPL_LINK_NOARG(FwkTabWindow, DeactivatePageHdl)
{
    m_aTabCtrl.BroadcastEvent( VCLEVENT_TABPAGE_DEACTIVATE );
    m_aTabCtrl->BroadcastEvent( VCLEVENT_TABPAGE_DEACTIVATE );
    return 1;
}

void FwkTabWindow::AddEventListener( const Link& rEventListener )
{
    m_aTabCtrl.AddEventListener( rEventListener );
    m_aTabCtrl->AddEventListener( rEventListener );
}

void FwkTabWindow::RemoveEventListener( const Link& rEventListener )
{
    m_aTabCtrl.RemoveEventListener( rEventListener );
    m_aTabCtrl->RemoveEventListener( rEventListener );
}

FwkTabPage* FwkTabWindow::AddTabPage( sal_Int32 nIndex, const uno::Sequence< beans::NamedValue >& rProperties )
@@ -311,20 +324,20 @@ FwkTabPage* FwkTabWindow::AddTabPage( sal_Int32 nIndex, const uno::Sequence< bea
    TabEntry* pEntry = new TabEntry( nIndex, sPageURL, xEventHdl );
    m_TabList.push_back( pEntry );
    sal_uInt16 nIdx = static_cast< sal_uInt16 >( nIndex );
    m_aTabCtrl.InsertPage( nIdx, sTitle );
    m_aTabCtrl->InsertPage( nIdx, sTitle );
    if ( !sToolTip.isEmpty() )
        m_aTabCtrl.SetHelpText( nIdx, sToolTip );
        m_aTabCtrl->SetHelpText( nIdx, sToolTip );
    if ( xImage.is() )
        m_aTabCtrl.SetPageImage( nIdx, Image( xImage ) );
        m_aTabCtrl->SetPageImage( nIdx, Image( xImage ) );
    if ( bDisabled )
        m_aTabCtrl.EnablePage( nIdx, false );
        m_aTabCtrl->EnablePage( nIdx, false );

    return pEntry->m_pPage;
}

void FwkTabWindow::ActivatePage( sal_Int32 nIndex )
{
    m_aTabCtrl.SetCurPageId( static_cast< sal_uInt16 >( nIndex ) );
    m_aTabCtrl->SetCurPageId( static_cast< sal_uInt16 >( nIndex ) );
    ActivatePageHdl( &m_aTabCtrl );
}

@@ -333,7 +346,7 @@ void FwkTabWindow::RemovePage( sal_Int32 nIndex )
    TabEntry* pEntry = FindEntry(nIndex);
    if ( pEntry )
    {
        m_aTabCtrl.RemovePage( static_cast< sal_uInt16 >( nIndex ) );
        m_aTabCtrl->RemovePage( static_cast< sal_uInt16 >( nIndex ) );
        if (RemoveEntry(nIndex))
            delete pEntry;
    }
@@ -342,7 +355,7 @@ void FwkTabWindow::RemovePage( sal_Int32 nIndex )
void FwkTabWindow::Resize()
{
    Size aPageSize = GetSizePixel();
    m_aTabCtrl.SetTabPageSizePixel( aPageSize );
    m_aTabCtrl->SetTabPageSizePixel( aPageSize );
}

} // namespace framework
diff --git a/framework/source/uielement/comboboxtoolbarcontroller.cxx b/framework/source/uielement/comboboxtoolbarcontroller.cxx
index 2f3cefb..8f65095 100644
--- a/framework/source/uielement/comboboxtoolbarcontroller.cxx
+++ b/framework/source/uielement/comboboxtoolbarcontroller.cxx
@@ -55,6 +55,7 @@ class ComboBoxControl : public ComboBox
    public:
        ComboBoxControl( vcl::Window* pParent, WinBits nStyle, IComboBoxListener* pComboBoxListener );
        virtual ~ComboBoxControl();
        virtual void dispose() SAL_OVERRIDE;

        virtual void Select() SAL_OVERRIDE;
        virtual void DoubleClick() SAL_OVERRIDE;
@@ -76,7 +77,13 @@ ComboBoxControl::ComboBoxControl( vcl::Window* pParent, WinBits nStyle, IComboBo

ComboBoxControl::~ComboBoxControl()
{
    dispose();
}

void ComboBoxControl::dispose()
{
    m_pComboBoxListener = 0;
    ComboBox::dispose();
}

void ComboBoxControl::Select()
diff --git a/framework/source/uielement/dropdownboxtoolbarcontroller.cxx b/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
index 5eb3392..78f2415 100644
--- a/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
+++ b/framework/source/uielement/dropdownboxtoolbarcontroller.cxx
@@ -54,6 +54,7 @@ class ListBoxControl : public ListBox
    public:
        ListBoxControl( vcl::Window* pParent, WinBits nStyle, IListBoxListener* pListBoxListener );
        virtual ~ListBoxControl();
        virtual void dispose() SAL_OVERRIDE;

        virtual void Select() SAL_OVERRIDE;
        virtual void DoubleClick() SAL_OVERRIDE;
@@ -73,7 +74,13 @@ ListBoxControl::ListBoxControl( vcl::Window* pParent, WinBits nStyle, IListBoxLi

ListBoxControl::~ListBoxControl()
{
    dispose();
}

void ListBoxControl::dispose()
{
    m_pListBoxListener = 0;
    ListBox::dispose();
}

void ListBoxControl::Select()
diff --git a/framework/source/uielement/edittoolbarcontroller.cxx b/framework/source/uielement/edittoolbarcontroller.cxx
index 67cdcb1..e48c572f 100644
--- a/framework/source/uielement/edittoolbarcontroller.cxx
+++ b/framework/source/uielement/edittoolbarcontroller.cxx
@@ -53,6 +53,7 @@ class EditControl : public Edit
    public:
        EditControl( vcl::Window* pParent, WinBits nStyle, IEditListener* pEditListener );
        virtual ~EditControl();
        virtual void dispose() SAL_OVERRIDE;

        virtual void Modify() SAL_OVERRIDE;
        virtual void KeyInput( const ::KeyEvent& rKEvt ) SAL_OVERRIDE;
@@ -72,7 +73,13 @@ EditControl::EditControl( vcl::Window* pParent, WinBits nStyle, IEditListener* p

EditControl::~EditControl()
{
    dispose();
}

void EditControl::dispose()
{
    m_pEditListener = 0;
    Edit::dispose();
}

void EditControl::Modify()
diff --git a/framework/source/uielement/spinfieldtoolbarcontroller.cxx b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
index efe6a71..4aeb87b 100644
--- a/framework/source/uielement/spinfieldtoolbarcontroller.cxx
+++ b/framework/source/uielement/spinfieldtoolbarcontroller.cxx
@@ -59,6 +59,7 @@ class SpinfieldControl : public SpinField
    public:
        SpinfieldControl( vcl::Window* pParent, WinBits nStyle, ISpinfieldListener* pSpinFieldListener );
        virtual ~SpinfieldControl();
        virtual void dispose() SAL_OVERRIDE;

        virtual void Up() SAL_OVERRIDE;
        virtual void Down() SAL_OVERRIDE;
@@ -84,7 +85,13 @@ SpinfieldControl::SpinfieldControl( vcl::Window* pParent, WinBits nStyle, ISpinf

SpinfieldControl::~SpinfieldControl()
{
    dispose();
}

void SpinfieldControl::dispose()
{
    m_pSpinFieldListener = 0;
    SpinField::dispose();
}

void SpinfieldControl::Up()
diff --git a/framework/source/uielement/statusbar.cxx b/framework/source/uielement/statusbar.cxx
index 9358efe..2f520ec 100644
--- a/framework/source/uielement/statusbar.cxx
+++ b/framework/source/uielement/statusbar.cxx
@@ -34,10 +34,6 @@ FrameworkStatusBar::FrameworkStatusBar(
    SetOutputSizePixel( CalcWindowSizePixel() );
}

FrameworkStatusBar::~FrameworkStatusBar()
{
}

void FrameworkStatusBar::SetStatusBarManager( StatusBarManager* pStatusBarManager )
{
    SolarMutexGuard aSolarMutexGuard;