diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-03-20 11:56:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-03-22 14:21:02 +0100 |
commit | fbd79c6125fd302dde9af2d76171dd5ca794af4d (patch) | |
tree | dc5b94523c89d892c07544368643bad2eea4c3af /sw/source/ui/dialog | |
parent | 7d0bd54bad1782f74c156aa667e875c33efee0c1 (diff) |
weld SwFieldDlg
Change-Id: I324a581721e01c907113bb3ab1cc91a290bd71a7
Reviewed-on: https://gerrit.libreoffice.org/69475
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/ui/dialog')
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 49 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.hxx | 20 |
2 files changed, 41 insertions, 28 deletions
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index fb764f190916..7d36a5e527e1 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -196,7 +196,10 @@ short AbstractSwAutoFormatDlg_Impl::Execute() return m_xDlg->run(); } -IMPL_ABSTDLG_BASE(AbstractSwFieldDlg_Impl); +short AbstractSwFieldDlg_Impl::Execute() +{ + return m_xDlg->run(); +} short AbstractSwRenameXNamedDlg_Impl::Execute() { @@ -441,57 +444,62 @@ SwTableAutoFormat* AbstractSwAutoFormatDlg_Impl::FillAutoFormatOfIndex() const void AbstractSwFieldDlg_Impl::SetCurPageId( const OString &rName ) { - pDlg->SetCurPageId( rName ); + m_xDlg->SetCurPageId( rName ); } const SfxItemSet* AbstractSwFieldDlg_Impl::GetOutputItemSet() const { - return pDlg->GetOutputItemSet(); + return m_xDlg->GetOutputItemSet(); } const sal_uInt16* AbstractSwFieldDlg_Impl::GetInputRanges(const SfxItemPool& pItem ) { - return pDlg->GetInputRanges( pItem ); + return m_xDlg->GetInputRanges( pItem ); } void AbstractSwFieldDlg_Impl::SetInputSet( const SfxItemSet* pInSet ) { - pDlg->SetInputSet( pInSet ); + m_xDlg->SetInputSet( pInSet ); } void AbstractSwFieldDlg_Impl::SetText( const OUString& rStr ) { - pDlg->SetText( rStr ); + m_xDlg->set_title(rStr); } -void AbstractSwFieldDlg_Impl::Start() +bool AbstractSwFieldDlg_Impl::StartExecuteAsync(AsyncContext &rCtx) { - pDlg->Start(); + auto xDlg = m_xDlg; + return SfxTabDialogController::runAsync(m_xDlg, [=](sal_Int32 nResult){ + xDlg->Close(); + if (rCtx.isSet()) + rCtx.maEndDialogFn(nResult); + }); } void AbstractSwFieldDlg_Impl::Initialize(SfxChildWinInfo *pInfo) { - pDlg->Initialize( pInfo ); + m_xDlg->Initialize( pInfo ); } void AbstractSwFieldDlg_Impl::ReInitDlg() { - pDlg->ReInitDlg(); + m_xDlg->ReInitDlg(); } void AbstractSwFieldDlg_Impl::ActivateDatabasePage() { - pDlg->ActivateDatabasePage(); + m_xDlg->ActivateDatabasePage(); } -vcl::Window* AbstractSwFieldDlg_Impl::GetWindow() +void AbstractSwFieldDlg_Impl::ShowReferencePage() { - return static_cast<vcl::Window*>(pDlg); + m_xDlg->ShowReferencePage(); } -void AbstractSwFieldDlg_Impl::ShowReferencePage() +std::shared_ptr<SfxDialogController> AbstractSwFieldDlg_Impl::GetController() { - pDlg->ShowReferencePage(); + return m_xDlg; } void AbstractSwRenameXNamedDlg_Impl::SetForbiddenChars( const OUString& rSet ) @@ -835,13 +843,13 @@ VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwFootNoteOptio return VclPtr<AbstractTabController_Impl>::Create(std::make_unique<SwFootNoteOptionDlg>(pParent, rSh)); } -VclPtr<AbstractDropDownFieldDialog> SwAbstractDialogFactory_Impl::CreateDropDownFieldDialog(weld::Window *pParent, +VclPtr<AbstractDropDownFieldDialog> SwAbstractDialogFactory_Impl::CreateDropDownFieldDialog(weld::Widget *pParent, SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) { return VclPtr<AbstractDropDownFieldDialog_Impl>::Create(std::make_unique<sw::DropDownFieldDialog>(pParent, rSh, pField, bPrevButton, bNextButton)); } -VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateDropDownFormFieldDialog(weld::Window *pParent, sw::mark::IFieldmark* pDropDownField) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateDropDownFormFieldDialog(weld::Widget *pParent, sw::mark::IFieldmark* pDropDownField) { return VclPtr<AbstractDropDownFormFieldDialog_Impl>::Create(std::make_unique<sw::DropDownFormFieldDialog>(pParent, pDropDownField)); } @@ -931,10 +939,9 @@ VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwTableTabDlg(w return VclPtr<AbstractTabController_Impl>::Create(std::make_unique<SwTableTabDlg>(pParent, pItemSet, pSh)); } -VclPtr<AbstractSwFieldDlg> SwAbstractDialogFactory_Impl::CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) +VclPtr<AbstractSwFieldDlg> SwAbstractDialogFactory_Impl::CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, weld::Window *pParent) { - VclPtr<SwFieldDlg> pDlg = VclPtr<SwFieldDlg>::Create(pB, pCW, pParent); - return VclPtr<AbstractSwFieldDlg_Impl>::Create(pDlg); + return VclPtr<AbstractSwFieldDlg_Impl>::Create(std::make_unique<SwFieldDlg>(pB, pCW, pParent)); } VclPtr<SfxAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwFieldEditDlg(SwView& rVw) @@ -988,7 +995,7 @@ VclPtr<AbstractGlossaryDlg> SwAbstractDialogFactory_Impl::CreateGlossaryDlg(SfxV return VclPtr<AbstractGlossaryDlg_Impl>::Create( pDlg ); } -VclPtr<AbstractFieldInputDlg> SwAbstractDialogFactory_Impl::CreateFieldInputDlg(weld::Window *pParent, +VclPtr<AbstractFieldInputDlg> SwAbstractDialogFactory_Impl::CreateFieldInputDlg(weld::Widget *pParent, SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) { return VclPtr<AbstractFieldInputDlg_Impl>::Create(std::make_unique<SwFieldInputDlg>(pParent, rSh, pField, bPrevButton, bNextButton)); diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index d17ccab6a473..dfb5925b7a5e 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -349,19 +349,25 @@ public: class AbstractSwFieldDlg_Impl : public AbstractSwFieldDlg { - DECL_ABSTDLG_BASE(AbstractSwFieldDlg_Impl,SwFieldDlg ) + std::shared_ptr<SwFieldDlg> m_xDlg; +public: + explicit AbstractSwFieldDlg_Impl(std::unique_ptr<SwFieldDlg> p) + : m_xDlg(std::move(p)) + { + } + virtual short Execute() override; + virtual bool StartExecuteAsync(AsyncContext &rCtx) override; virtual void SetCurPageId( const OString &rName ) override; virtual const SfxItemSet* GetOutputItemSet() const override; virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; virtual void SetInputSet( const SfxItemSet* pInSet ) override; //From class Window. virtual void SetText( const OUString& rStr ) override; - virtual void Start() override; //this method from SfxTabDialog virtual void ShowReferencePage() override; virtual void Initialize(SfxChildWinInfo *pInfo) override; virtual void ReInitDlg() override; virtual void ActivateDatabasePage() override; - virtual vcl::Window * GetWindow() override; //this method is added for return a Window type pointer + virtual std::shared_ptr<SfxDialogController> GetController() override; }; class AbstractSwRenameXNamedDlg_Impl : public AbstractSwRenameXNamedDlg @@ -611,9 +617,9 @@ public: const SwDBData& rData) override; virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh) override; - virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(weld::Window* pParent, SwWrtShell &rSh, + virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(weld::Widget* pParent, SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) override; - virtual VclPtr<VclAbstractDialog> CreateDropDownFormFieldDialog(weld::Window* pParent, sw::mark::IFieldmark* pDropDownField) override; + virtual VclPtr<VclAbstractDialog> CreateDropDownFormFieldDialog(weld::Widget* pParent, sw::mark::IFieldmark* pDropDownField) override; virtual VclPtr<SfxAbstractTabDialog> CreateSwEnvDlg(weld::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert) override; virtual VclPtr<AbstractSwLabDlg> CreateSwLabDlg(weld::Window* pParent, const SfxItemSet& rSet, SwDBManager* pDBManager, bool bLabel) override; @@ -641,7 +647,7 @@ public: virtual VclPtr<VclAbstractDialog> CreateSwTableWidthDlg(weld::Window *pParent, SwTableFUNC &rFnc) override; virtual VclPtr<SfxAbstractTabDialog> CreateSwTableTabDlg(weld::Window* pParent, const SfxItemSet* pItemSet, SwWrtShell* pSh) override; - virtual VclPtr<AbstractSwFieldDlg> CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) override; + virtual VclPtr<AbstractSwFieldDlg> CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, weld::Window *pParent) override; virtual VclPtr<SfxAbstractDialog> CreateSwFieldEditDlg ( SwView& rVw ) override; virtual VclPtr<AbstractSwRenameXNamedDlg> CreateSwRenameXNamedDlg(weld::Window* pParent, css::uno::Reference< css::container::XNamed > & xNamed, @@ -664,7 +670,7 @@ public: virtual VclPtr<AbstractGlossaryDlg> CreateGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryHdl* pGlosHdl, SwWrtShell *pWrtShell) override; - virtual VclPtr<AbstractFieldInputDlg> CreateFieldInputDlg(weld::Window *pParent, + virtual VclPtr<AbstractFieldInputDlg> CreateFieldInputDlg(weld::Widget *pParent, SwWrtShell &rSh, SwField* pField, bool bPrevButton, bool bNextButton) override; virtual VclPtr<AbstractInsFootNoteDlg> CreateInsFootNoteDlg( weld::Window * pParent, SwWrtShell &rSh, bool bEd = false) override; |