From fc7e6d8445af39ffc6a753d7104167ee8f376b9c Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Fri, 10 Jun 2016 09:06:54 +0200 Subject: loplugin:mergeclasses SdrItemBrowser Change-Id: I90c6006be05f182fd442ce8d3641f4f17cdb6793 --- svx/inc/svdibrow.hxx | 25 ++++++++----------------- svx/source/svdraw/svdibrow.cxx | 36 ++++++++++++++---------------------- 2 files changed, 22 insertions(+), 39 deletions(-) (limited to 'svx') diff --git a/svx/inc/svdibrow.hxx b/svx/inc/svdibrow.hxx index ff0bee4f3278..c64a5e26708c 100644 --- a/svx/inc/svdibrow.hxx +++ b/svx/inc/svdibrow.hxx @@ -94,37 +94,28 @@ public: void SetSetDirtyHdl(const Link& rLink) { aSetDirtyHdl=rLink; } }; -#define WB_STDSIZEABLEDOCKWIN (WB_STDDOCKWIN|WB_3DLOOK|WB_CLOSEABLE|WB_SIZEMOVE) -#define WB_STDSIZEABLEFLOATWIN (WB_STDFLOATWIN|WB_3DLOOK|WB_CLOSEABLE|WB_SIZEMOVE) - -class SdrItemBrowserWindow: public FloatingWindow { - VclPtr aBrowse; -public: - SdrItemBrowserWindow(vcl::Window* pParent, WinBits nBits=WB_STDSIZEABLEDOCKWIN); - virtual ~SdrItemBrowserWindow(); - virtual void dispose() override; - virtual void Resize() override; - virtual void GetFocus() override; - void SetAttributes(const SfxItemSet* pAttr, const SfxItemSet* p2ndSet=nullptr) { aBrowse->SetAttributes(pAttr,p2ndSet); } - SdrItemBrowserControl *GetBrowserControl() { return aBrowse.get(); } -}; - class SdrView; -class SdrItemBrowser: public SdrItemBrowserWindow { +class SdrItemBrowser: public FloatingWindow { + VclPtr aBrowse; Idle aIdle; SdrView* pView; bool bDirty; -private: static vcl::Window* ImpGetViewWin(SdrView& rView); DECL_LINK_TYPED(IdleHdl, Idle *, void); DECL_LINK_TYPED(ChangedHdl, SdrItemBrowserControl&, void); DECL_LINK_TYPED(SetDirtyHdl, SdrItemBrowserControl&, void); public: SdrItemBrowser(SdrView& rView); + virtual ~SdrItemBrowser(); void ForceParent(); void SetDirty(); void Undirty(); + virtual void dispose() override; + virtual void Resize() override; + virtual void GetFocus() override; + void SetAttributes(const SfxItemSet* pAttr, const SfxItemSet* p2ndSet=nullptr) { aBrowse->SetAttributes(pAttr,p2ndSet); } + SdrItemBrowserControl *GetBrowserControl() { return aBrowse.get(); } }; #endif // INCLUDED_SVX_INC_SVDIBROW_HXX diff --git a/svx/source/svdraw/svdibrow.cxx b/svx/source/svdraw/svdibrow.cxx index 2826441b2fbb..45ab770115ac 100644 --- a/svx/source/svdraw/svdibrow.cxx +++ b/svx/source/svdraw/svdibrow.cxx @@ -1037,51 +1037,43 @@ void SdrItemBrowserControl::SetAttributes(const SfxItemSet* pSet, const SfxItemS SetMode(MYBROWSEMODE); } -// - SdrItemBrowserWindow - - -SdrItemBrowserWindow::SdrItemBrowserWindow(vcl::Window* pParent, WinBits nBits): - FloatingWindow(pParent,nBits), - aBrowse(VclPtr::Create(this)) +SdrItemBrowser::SdrItemBrowser(SdrView& rView): + FloatingWindow(ImpGetViewWin(rView), WB_STDDOCKWIN|WB_3DLOOK|WB_CLOSEABLE|WB_SIZEMOVE), + aBrowse(VclPtr::Create(this)), + aIdle("svx svdraw SdrItemBrowser"), + pView(&rView), + bDirty(false) { SetOutputSizePixel(aBrowse->GetSizePixel()); SetText("Joe's ItemBrowser"); aBrowse->Show(); + aIdle.SetIdleHdl(LINK(this,SdrItemBrowser,IdleHdl)); + GetBrowserControl()->SetEntryChangedHdl(LINK(this,SdrItemBrowser,ChangedHdl)); + GetBrowserControl()->SetSetDirtyHdl(LINK(this,SdrItemBrowser,SetDirtyHdl)); + SetDirty(); } -SdrItemBrowserWindow::~SdrItemBrowserWindow() +SdrItemBrowser::~SdrItemBrowser() { disposeOnce(); } -void SdrItemBrowserWindow::dispose() +void SdrItemBrowser::dispose() { aBrowse.disposeAndClear(); FloatingWindow::dispose(); } -void SdrItemBrowserWindow::Resize() +void SdrItemBrowser::Resize() { aBrowse->SetSizePixel(GetOutputSizePixel()); } -void SdrItemBrowserWindow::GetFocus() +void SdrItemBrowser::GetFocus() { aBrowse->GrabFocus(); } - -SdrItemBrowser::SdrItemBrowser(SdrView& rView): - SdrItemBrowserWindow(ImpGetViewWin(rView)), - aIdle("svx svdraw SdrItemBrowser"), - pView(&rView), - bDirty(false) -{ - aIdle.SetIdleHdl(LINK(this,SdrItemBrowser,IdleHdl)); - GetBrowserControl()->SetEntryChangedHdl(LINK(this,SdrItemBrowser,ChangedHdl)); - GetBrowserControl()->SetSetDirtyHdl(LINK(this,SdrItemBrowser,SetDirtyHdl)); - SetDirty(); -} - vcl::Window* SdrItemBrowser::ImpGetViewWin(SdrView& rView) { const sal_uInt32 nWinCount(rView.PaintWindowCount()); -- cgit