diff options
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.cxx | 206 | ||||
-rw-r--r-- | sw/source/ui/dialog/swdlgfact.hxx | 101 | ||||
-rw-r--r-- | sw/source/uibase/app/apphdl.cxx | 11 | ||||
-rw-r--r-- | sw/source/uibase/app/docsh2.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/app/docst.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/dbui/dbmgr.cxx | 8 | ||||
-rw-r--r-- | sw/source/uibase/dialog/wordcountwrapper.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/inc/fldwrap.hxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/inc/idxmrk.hxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/inc/wordcountdialog.hxx | 4 | ||||
-rw-r--r-- | sw/source/uibase/wrtsh/wrtsh2.cxx | 2 |
11 files changed, 182 insertions, 170 deletions
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index 5efee1fc9985..d19b2e7d7d8c 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -590,7 +590,13 @@ void AbstractSwWordCountFloatDlg_Impl::SetCounts(const SwDocStat &rCurrCnt, cons AbstractMailMergeWizard_Impl::~AbstractMailMergeWizard_Impl() { + disposeOnce(); +} + +void AbstractMailMergeWizard_Impl::dispose() +{ pDlg.disposeAndClear(); + AbstractMailMergeWizard::dispose(); } void AbstractMailMergeWizard_Impl::StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) @@ -629,13 +635,13 @@ sal_uInt16 AbstractMailMergeWizard_Impl::GetRestartPage() const return pDlg->GetRestartPage(); } -AbstractSwInsertAbstractDlg * SwAbstractDialogFactory_Impl::CreateSwInsertAbstractDlg() +VclPtr<AbstractSwInsertAbstractDlg> SwAbstractDialogFactory_Impl::CreateSwInsertAbstractDlg() { VclPtr<SwInsertAbstractDlg> pDlg = VclPtr<SwInsertAbstractDlg>::Create(nullptr); - return new AbstractSwInsertAbstractDlg_Impl(pDlg); + return VclPtr<AbstractSwInsertAbstractDlg_Impl>::Create(pDlg); } -SfxAbstractDialog* SwAbstractDialogFactory_Impl::CreateSfxDialog( vcl::Window* pParent, +VclPtr<SfxAbstractDialog> SwAbstractDialogFactory_Impl::CreateSfxDialog( vcl::Window* pParent, const SfxItemSet& rSet, const css::uno::Reference< css::frame::XFrame >&, sal_uInt32 nResId @@ -661,92 +667,92 @@ SfxAbstractDialog* SwAbstractDialogFactory_Impl::CreateSfxDialog( vcl::Window* p } if ( pDlg ) - return new SwAbstractSfxDialog_Impl( pDlg ); + VclPtr<SwAbstractSfxDialog_Impl>::Create( pDlg ); return nullptr; } -AbstractSwAsciiFilterDlg* SwAbstractDialogFactory_Impl::CreateSwAsciiFilterDlg( SwDocShell& rDocSh, +VclPtr<AbstractSwAsciiFilterDlg> SwAbstractDialogFactory_Impl::CreateSwAsciiFilterDlg( SwDocShell& rDocSh, SvStream* pStream ) { VclPtr<SwAsciiFilterDlg> pDlg = VclPtr<SwAsciiFilterDlg>::Create( nullptr, rDocSh, pStream ); - return new AbstractSwAsciiFilterDlg_Impl( pDlg ); + return VclPtr<AbstractSwAsciiFilterDlg_Impl>::Create( pDlg ); } -VclAbstractDialog* SwAbstractDialogFactory_Impl::CreateSwInsertBookmarkDlg( vcl::Window *pParent, +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwInsertBookmarkDlg( vcl::Window *pParent, SwWrtShell &rSh, SfxRequest& rReq ) { VclPtr<SwInsertBookmarkDlg> pDlg = VclPtr<SwInsertBookmarkDlg>::Create( pParent, rSh, rReq ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -AbstractSwBreakDlg * SwAbstractDialogFactory_Impl::CreateSwBreakDlg(vcl::Window *pParent, +VclPtr<AbstractSwBreakDlg> SwAbstractDialogFactory_Impl::CreateSwBreakDlg(vcl::Window *pParent, SwWrtShell &rSh) { VclPtr<SwBreakDlg> pDlg = VclPtr<SwBreakDlg>::Create(pParent, rSh); - return new AbstractSwBreakDlg_Impl(pDlg); + return VclPtr<AbstractSwBreakDlg_Impl>::Create(pDlg); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateSwChangeDBDlg(SwView& rVw) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwChangeDBDlg(SwView& rVw) { VclPtr<Dialog> pDlg = VclPtr<SwChangeDBDlg>::Create(rVw); - return new VclAbstractDialog_Impl(pDlg); + return VclPtr<VclAbstractDialog_Impl>::Create(pDlg); } -SfxAbstractTabDialog * SwAbstractDialogFactory_Impl::CreateSwCharDlg(vcl::Window* pParent, SwView& pVw, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwCharDlg(vcl::Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, SwCharDlgMode nDialogMode, const OUString* pFormatStr) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwCharDlg>::Create(pParent, pVw, rCoreSet, nDialogMode, pFormatStr); - return new AbstractTabDialog_Impl(pDlg); + return VclPtr<AbstractTabDialog_Impl>::Create(pDlg); } -AbstractSwConvertTableDlg* SwAbstractDialogFactory_Impl::CreateSwConvertTableDlg(SwView& rView, bool bToTable) +VclPtr<AbstractSwConvertTableDlg> SwAbstractDialogFactory_Impl::CreateSwConvertTableDlg(SwView& rView, bool bToTable) { VclPtr<SwConvertTableDlg> pDlg = VclPtr<SwConvertTableDlg>::Create(rView, bToTable); - return new AbstractSwConvertTableDlg_Impl(pDlg); + return VclPtr<AbstractSwConvertTableDlg_Impl>::Create(pDlg); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateSwCaptionDialog ( vcl::Window *pParent, SwView &rV) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwCaptionDialog ( vcl::Window *pParent, SwView &rV) { VclPtr<Dialog> pDlg = VclPtr<SwCaptionDialog>::Create( pParent, rV ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -AbstractSwInsertDBColAutoPilot* SwAbstractDialogFactory_Impl::CreateSwInsertDBColAutoPilot( SwView& rView, +VclPtr<AbstractSwInsertDBColAutoPilot> SwAbstractDialogFactory_Impl::CreateSwInsertDBColAutoPilot( SwView& rView, uno::Reference< sdbc::XDataSource> rxSource, uno::Reference<sdbcx::XColumnsSupplier> xColSupp, const SwDBData& rData) { VclPtr<SwInsertDBColAutoPilot> pDlg = VclPtr<SwInsertDBColAutoPilot>::Create( rView, rxSource, xColSupp, rData ); - return new AbstractSwInsertDBColAutoPilot_Impl( pDlg ); + return VclPtr<AbstractSwInsertDBColAutoPilot_Impl>::Create( pDlg ); } -SfxAbstractTabDialog * SwAbstractDialogFactory_Impl::CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwFootNoteOptionDlg>::Create( pParent, rSh ); - return new AbstractTabDialog_Impl( pDlg ); + return VclPtr<AbstractTabDialog_Impl>::Create( pDlg ); } -AbstractDropDownFieldDialog * SwAbstractDialogFactory_Impl::CreateDropDownFieldDialog( +VclPtr<AbstractDropDownFieldDialog> SwAbstractDialogFactory_Impl::CreateDropDownFieldDialog( SwWrtShell &rSh, SwField* pField, bool bNextButton) { VclPtr<sw::DropDownFieldDialog> pDlg = VclPtr<sw::DropDownFieldDialog>::Create(nullptr, rSh, pField, bNextButton); - return new AbstractDropDownFieldDialog_Impl( pDlg ); + return VclPtr<AbstractDropDownFieldDialog_Impl>::Create( pDlg ); } -SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwEnvDlg>::Create( pParent, rSet, pWrtSh,pPrt, bInsert ); - return new AbstractTabDialog_Impl( pDlg ); + return VclPtr<AbstractTabDialog_Impl>::Create( pDlg ); } -AbstractSwLabDlg* SwAbstractDialogFactory_Impl::CreateSwLabDlg(const SfxItemSet& rSet, +VclPtr<AbstractSwLabDlg> SwAbstractDialogFactory_Impl::CreateSwLabDlg(const SfxItemSet& rSet, SwDBManager* pDBManager, bool bLabel) { VclPtr<SwLabDlg> pDlg = VclPtr<SwLabDlg>::Create(nullptr, rSet, pDBManager, bLabel); - return new AbstractSwLabDlg_Impl(pDlg); + return VclPtr<AbstractSwLabDlg_Impl>::Create(pDlg); } SwLabDlgMethod SwAbstractDialogFactory_Impl::GetSwLabDlgStaticMethod () @@ -754,16 +760,16 @@ SwLabDlgMethod SwAbstractDialogFactory_Impl::GetSwLabDlgStaticMethod () return SwLabDlg::UpdateFieldInformation; } -SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwParaDlg ( vcl::Window *pParent, SwView& rVw, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwParaDlg ( vcl::Window *pParent, SwView& rVw, const SfxItemSet& rCoreSet , bool bDraw , const OString& sDefPage) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwParaDlg>::Create( pParent, rVw, rCoreSet, DLG_STD, nullptr, bDraw, sDefPage ); - return new AbstractTabDialog_Impl( pDlg ); + return VclPtr<AbstractTabDialog_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateVclAbstractDialog ( vcl::Window *pParent, SwWrtShell &rSh, int nResId ) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateVclAbstractDialog ( vcl::Window *pParent, SwWrtShell &rSh, int nResId ) { VclPtr<Dialog> pDlg; switch ( nResId ) @@ -785,96 +791,96 @@ VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateVclAbstractDialog ( vcl: } if ( pDlg.get() ) - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); return nullptr; } -AbstractSplitTableDialog * SwAbstractDialogFactory_Impl::CreateSplitTableDialog ( vcl::Window *pParent, SwWrtShell &rSh ) +VclPtr<AbstractSplitTableDialog> SwAbstractDialogFactory_Impl::CreateSplitTableDialog ( vcl::Window *pParent, SwWrtShell &rSh ) { - return new AbstractSplitTableDialog_Impl( VclPtr<SwSplitTableDlg>::Create( pParent, rSh) ); + return VclPtr<AbstractSplitTableDialog_Impl>::Create( VclPtr<SwSplitTableDlg>::Create( pParent, rSh) ); } -AbstractSwSelGlossaryDlg * SwAbstractDialogFactory_Impl::CreateSwSelGlossaryDlg(const OUString &rShortName) +VclPtr<AbstractSwSelGlossaryDlg> SwAbstractDialogFactory_Impl::CreateSwSelGlossaryDlg(const OUString &rShortName) { VclPtr<SwSelGlossaryDlg> pDlg = VclPtr<SwSelGlossaryDlg>::Create(nullptr, rShortName); - return new AbstractSwSelGlossaryDlg_Impl(pDlg); + return VclPtr<AbstractSwSelGlossaryDlg_Impl>::Create(pDlg); } -AbstractSwAutoFormatDlg * SwAbstractDialogFactory_Impl::CreateSwAutoFormatDlg(vcl::Window* pParent, +VclPtr<AbstractSwAutoFormatDlg> SwAbstractDialogFactory_Impl::CreateSwAutoFormatDlg(vcl::Window* pParent, SwWrtShell* pShell, bool bSetAutoFormat, const SwTableAutoFormat* pSelFormat) { VclPtr<SwAutoFormatDlg> pDlg = VclPtr<SwAutoFormatDlg>::Create(pParent, pShell, bSetAutoFormat, pSelFormat); - return new AbstractSwAutoFormatDlg_Impl(pDlg); + return VclPtr<AbstractSwAutoFormatDlg_Impl>::Create(pDlg); } -SfxAbstractDialog * SwAbstractDialogFactory_Impl::CreateSwBorderDlg(vcl::Window* pParent, SfxItemSet& rSet, SwBorderModes nType ) +VclPtr<SfxAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwBorderDlg(vcl::Window* pParent, SfxItemSet& rSet, SwBorderModes nType ) { VclPtr<SfxModalDialog> pDlg = VclPtr<SwBorderDlg>::Create( pParent, rSet, nType ); - return new SwAbstractSfxDialog_Impl( pDlg ); + return VclPtr<SwAbstractSfxDialog_Impl>::Create( pDlg ); } -SfxAbstractDialog* SwAbstractDialogFactory_Impl::CreateSwWrapDlg ( vcl::Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh ) +VclPtr<SfxAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwWrapDlg ( vcl::Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh ) { VclPtr<SfxModalDialog> pDlg = VclPtr<SwWrapDlg>::Create( pParent, rSet, pSh, true/*bDrawMode*/ ); - return new SwAbstractSfxDialog_Impl( pDlg ); + return VclPtr<SwAbstractSfxDialog_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateSwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rFnc) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rFnc) { VclPtr<Dialog> pDlg = VclPtr<SwTableWidthDlg>::Create(pParent, rFnc); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwTableTabDlg(vcl::Window* pParent, SfxItemPool& Pool, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwTableTabDlg(vcl::Window* pParent, SfxItemPool& Pool, const SfxItemSet* pItemSet, SwWrtShell* pSh) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwTableTabDlg>::Create(pParent, Pool, pItemSet, pSh); - return new AbstractTabDialog_Impl(pDlg); + return VclPtr<AbstractTabDialog_Impl>::Create(pDlg); } -AbstractSwFieldDlg * SwAbstractDialogFactory_Impl::CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) +VclPtr<AbstractSwFieldDlg> SwAbstractDialogFactory_Impl::CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) { VclPtr<SwFieldDlg> pDlg = VclPtr<SwFieldDlg>::Create(pB, pCW, pParent); - return new AbstractSwFieldDlg_Impl(pDlg); + return VclPtr<AbstractSwFieldDlg_Impl>::Create(pDlg); } -SfxAbstractDialog* SwAbstractDialogFactory_Impl::CreateSwFieldEditDlg ( SwView& rVw ) +VclPtr<SfxAbstractDialog> SwAbstractDialogFactory_Impl::CreateSwFieldEditDlg ( SwView& rVw ) { VclPtr<SfxModalDialog> pDlg = VclPtr<SwFieldEditDlg>::Create( rVw ); - return new SwAbstractSfxDialog_Impl( pDlg ); + return VclPtr<SwAbstractSfxDialog_Impl>::Create( pDlg ); } -AbstractSwRenameXNamedDlg * SwAbstractDialogFactory_Impl::CreateSwRenameXNamedDlg(vcl::Window* pParent, +VclPtr<AbstractSwRenameXNamedDlg> SwAbstractDialogFactory_Impl::CreateSwRenameXNamedDlg(vcl::Window* pParent, css::uno::Reference< css::container::XNamed > & xNamed, css::uno::Reference< css::container::XNameAccess > & xNameAccess) { VclPtr<SwRenameXNamedDlg> pDlg = VclPtr<SwRenameXNamedDlg>::Create( pParent,xNamed, xNameAccess); - return new AbstractSwRenameXNamedDlg_Impl( pDlg ); + return VclPtr<AbstractSwRenameXNamedDlg_Impl>::Create( pDlg ); } -AbstractSwModalRedlineAcceptDlg * SwAbstractDialogFactory_Impl::CreateSwModalRedlineAcceptDlg(vcl::Window *pParent) +VclPtr<AbstractSwModalRedlineAcceptDlg> SwAbstractDialogFactory_Impl::CreateSwModalRedlineAcceptDlg(vcl::Window *pParent) { VclPtr<SwModalRedlineAcceptDlg> pDlg = VclPtr<SwModalRedlineAcceptDlg>::Create( pParent ); - return new AbstractSwModalRedlineAcceptDlg_Impl( pDlg ); + return VclPtr<AbstractSwModalRedlineAcceptDlg_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateTableMergeDialog(vcl::Window* pParent, bool& rWithPrev) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateTableMergeDialog(vcl::Window* pParent, bool& rWithPrev) { VclPtr<Dialog> pDlg = VclPtr<SwMergeTableDlg>::Create( pParent, rWithPrev ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateFrameTabDialog(const OUString &rDialogType, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateFrameTabDialog(const OUString &rDialogType, SfxViewFrame *pFrame, vcl::Window *pParent, const SfxItemSet& rCoreSet, bool bNewFrame, const OString& sDefPage ) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwFrameDlg>::Create(pFrame, pParent, rCoreSet, bNewFrame, rDialogType, false/*bFormat*/, sDefPage, nullptr); - return new AbstractTabDialog_Impl(pDlg); + return VclPtr<AbstractTabDialog_Impl>::Create(pDlg); } -SfxAbstractApplyTabDialog* SwAbstractDialogFactory_Impl::CreateTemplateDialog( +VclPtr<SfxAbstractApplyTabDialog> SwAbstractDialogFactory_Impl::CreateTemplateDialog( vcl::Window *pParent, SfxStyleSheetBase& rBase, SfxStyleFamily nRegion, @@ -883,57 +889,57 @@ SfxAbstractApplyTabDialog* SwAbstractDialogFactory_Impl::CreateTemplateDialog( bool bNew ) { VclPtr<SfxTabDialog> pDlg = VclPtr<SwTemplateDlg>::Create(pParent, rBase, nRegion, sPage, pActShell, bNew); - return new AbstractApplyTabDialog_Impl(pDlg); + return VclPtr<AbstractApplyTabDialog_Impl>::Create(pDlg); } -AbstractGlossaryDlg* SwAbstractDialogFactory_Impl::CreateGlossaryDlg(SfxViewFrame* pViewFrame, +VclPtr<AbstractGlossaryDlg> SwAbstractDialogFactory_Impl::CreateGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryHdl* pGlosHdl, SwWrtShell *pWrtShell) { VclPtr<SwGlossaryDlg> pDlg = VclPtr<SwGlossaryDlg>::Create(pViewFrame, pGlosHdl, pWrtShell); - return new AbstractGlossaryDlg_Impl( pDlg ); + return VclPtr<AbstractGlossaryDlg_Impl>::Create( pDlg ); } -AbstractFieldInputDlg* SwAbstractDialogFactory_Impl::CreateFieldInputDlg(vcl::Window *pParent, +VclPtr<AbstractFieldInputDlg> SwAbstractDialogFactory_Impl::CreateFieldInputDlg(vcl::Window *pParent, SwWrtShell &rSh, SwField* pField, bool bNextButton) { VclPtr<SwFieldInputDlg> pDlg = VclPtr<SwFieldInputDlg>::Create( pParent, rSh, pField, bNextButton ); - return new AbstractFieldInputDlg_Impl( pDlg ); + return VclPtr<AbstractFieldInputDlg_Impl>::Create( pDlg ); } -AbstractInsFootNoteDlg* SwAbstractDialogFactory_Impl::CreateInsFootNoteDlg( +VclPtr<AbstractInsFootNoteDlg> SwAbstractDialogFactory_Impl::CreateInsFootNoteDlg( vcl::Window * pParent, SwWrtShell &rSh, bool bEd ) { VclPtr<SwInsFootNoteDlg> pDlg = VclPtr<SwInsFootNoteDlg>::Create(pParent, rSh, bEd); - return new AbstractInsFootNoteDlg_Impl( pDlg ); + return VclPtr<AbstractInsFootNoteDlg_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateTitlePageDlg ( vcl::Window *pParent ) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateTitlePageDlg ( vcl::Window *pParent ) { VclPtr<Dialog> pDlg = VclPtr<SwTitlePageDlg>::Create( pParent ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateVclSwViewDialog(SwView& rView) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateVclSwViewDialog(SwView& rView) { VclPtr<Dialog> pDlg = VclPtr<SwLineNumberingDlg>::Create( &rView ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -AbstractInsTableDlg * SwAbstractDialogFactory_Impl::CreateInsTableDlg(SwView& rView) +VclPtr<AbstractInsTableDlg> SwAbstractDialogFactory_Impl::CreateInsTableDlg(SwView& rView) { VclPtr<SwInsTableDlg> pDlg = VclPtr<SwInsTableDlg>::Create(rView); - return new AbstractInsTableDlg_Impl( pDlg ); + return VclPtr<AbstractInsTableDlg_Impl>::Create( pDlg ); } -AbstractJavaEditDialog * SwAbstractDialogFactory_Impl::CreateJavaEditDialog( +VclPtr<AbstractJavaEditDialog> SwAbstractDialogFactory_Impl::CreateJavaEditDialog( vcl::Window* pParent, SwWrtShell* pWrtSh) { VclPtr<SwJavaEditDialog> pDlg = VclPtr<SwJavaEditDialog>::Create(pParent, pWrtSh); - return new AbstractJavaEditDialog_Impl( pDlg ); + return VclPtr<AbstractJavaEditDialog_Impl>::Create( pDlg ); } -AbstractMailMergeDlg * SwAbstractDialogFactory_Impl::CreateMailMergeDlg( +VclPtr<AbstractMailMergeDlg> SwAbstractDialogFactory_Impl::CreateMailMergeDlg( vcl::Window* pParent, SwWrtShell& rSh, const OUString& rSourceName, const OUString& rTableName, @@ -941,28 +947,28 @@ AbstractMailMergeDlg * SwAbstractDialogFactory_Impl::CreateMailMergeDlg( const uno::Reference< sdbc::XConnection>& xConnection ) { VclPtr<SwMailMergeDlg> pDlg = VclPtr<SwMailMergeDlg>::Create( pParent, rSh, rSourceName, rTableName, nCommandType, xConnection, nullptr ); - return new AbstractMailMergeDlg_Impl( pDlg ); + return VclPtr<AbstractMailMergeDlg_Impl>::Create( pDlg ); } -AbstractMailMergeCreateFromDlg * SwAbstractDialogFactory_Impl::CreateMailMergeCreateFromDlg(vcl::Window* pParent) +VclPtr<AbstractMailMergeCreateFromDlg> SwAbstractDialogFactory_Impl::CreateMailMergeCreateFromDlg(vcl::Window* pParent) { VclPtr<SwMailMergeCreateFromDlg> pDlg = VclPtr<SwMailMergeCreateFromDlg>::Create(pParent); - return new AbstractMailMergeCreateFromDlg_Impl(pDlg); + return VclPtr<AbstractMailMergeCreateFromDlg_Impl>::Create(pDlg); } -AbstractMailMergeFieldConnectionsDlg * SwAbstractDialogFactory_Impl::CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) +VclPtr<AbstractMailMergeFieldConnectionsDlg> SwAbstractDialogFactory_Impl::CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) { VclPtr<SwMailMergeFieldConnectionsDlg> pDlg = VclPtr<SwMailMergeFieldConnectionsDlg>::Create( pParent ); - return new AbstractMailMergeFieldConnectionsDlg_Impl( pDlg ); + return VclPtr<AbstractMailMergeFieldConnectionsDlg_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateMultiTOXMarkDlg(vcl::Window* pParent, SwTOXMgr &rTOXMgr) +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateMultiTOXMarkDlg(vcl::Window* pParent, SwTOXMgr &rTOXMgr) { VclPtr<Dialog> pDlg = VclPtr<SwMultiTOXMarkDlg>::Create(pParent, rTOXMgr); - return new VclAbstractDialog_Impl(pDlg); + return VclPtr<VclAbstractDialog_Impl>::Create(pDlg); } -SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwTabDialog( int nResId, +VclPtr<SfxAbstractTabDialog> SwAbstractDialogFactory_Impl::CreateSwTabDialog( int nResId, vcl::Window* pParent, const SfxItemSet* pSwItemSet, SwWrtShell & rWrtSh ) @@ -981,74 +987,74 @@ SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateSwTabDialog( int nResI break; } if ( pDlg.get() ) - return new AbstractTabDialog_Impl( pDlg ); + return VclPtr<AbstractTabDialog_Impl>::Create( pDlg ); return nullptr; } -AbstractMultiTOXTabDialog * SwAbstractDialogFactory_Impl::CreateMultiTOXTabDialog( +VclPtr<AbstractMultiTOXTabDialog> SwAbstractDialogFactory_Impl::CreateMultiTOXTabDialog( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell &rShell, SwTOXBase* pCurTOX, bool bGlobal) { VclPtr<SwMultiTOXTabDialog> pDlg = VclPtr<SwMultiTOXTabDialog>::Create( pParent, rSet, rShell, pCurTOX, USHRT_MAX, bGlobal ); - return new AbstractMultiTOXTabDialog_Impl( pDlg ); + return VclPtr<AbstractMultiTOXTabDialog_Impl>::Create( pDlg ); } -AbstractEditRegionDlg * SwAbstractDialogFactory_Impl::CreateEditRegionDlg(vcl::Window* pParent, SwWrtShell& rWrtSh) +VclPtr<AbstractEditRegionDlg> SwAbstractDialogFactory_Impl::CreateEditRegionDlg(vcl::Window* pParent, SwWrtShell& rWrtSh) { VclPtr<SwEditRegionDlg> pDlg = VclPtr<SwEditRegionDlg>::Create( pParent, rWrtSh ); - return new AbstractEditRegionDlg_Impl( pDlg ); + return VclPtr<AbstractEditRegionDlg_Impl>::Create( pDlg ); } -AbstractInsertSectionTabDialog * SwAbstractDialogFactory_Impl::CreateInsertSectionTabDialog( +VclPtr<AbstractInsertSectionTabDialog> SwAbstractDialogFactory_Impl::CreateInsertSectionTabDialog( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh) { VclPtr<SwInsertSectionTabDialog> pDlg = VclPtr<SwInsertSectionTabDialog>::Create(pParent, rSet, rSh); - return new AbstractInsertSectionTabDialog_Impl(pDlg); + return VclPtr<AbstractInsertSectionTabDialog_Impl>::Create(pDlg); } -AbstractMarkFloatDlg * SwAbstractDialogFactory_Impl::CreateIndexMarkFloatDlg( +VclPtr<AbstractMarkFloatDlg> SwAbstractDialogFactory_Impl::CreateIndexMarkFloatDlg( SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo ) { VclPtr<SwIndexMarkFloatDlg> pDlg = VclPtr<SwIndexMarkFloatDlg>::Create(pBindings, pChild, pParent, pInfo, true/*bNew*/); - return new AbstractIndexMarkFloatDlg_Impl(pDlg); + return VclPtr<AbstractIndexMarkFloatDlg_Impl>::Create(pDlg); } -AbstractMarkFloatDlg * SwAbstractDialogFactory_Impl::CreateAuthMarkFloatDlg( +VclPtr<AbstractMarkFloatDlg> SwAbstractDialogFactory_Impl::CreateAuthMarkFloatDlg( SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo) { VclPtr<SwAuthMarkFloatDlg> pDlg = VclPtr<SwAuthMarkFloatDlg>::Create( pBindings, pChild, pParent, pInfo, true/*bNew*/ ); - return new AbstractAuthMarkFloatDlg_Impl( pDlg ); + return VclPtr<AbstractAuthMarkFloatDlg_Impl>::Create( pDlg ); } -AbstractSwWordCountFloatDlg * SwAbstractDialogFactory_Impl::CreateSwWordCountDialog( +VclPtr<AbstractSwWordCountFloatDlg> SwAbstractDialogFactory_Impl::CreateSwWordCountDialog( SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo) { VclPtr<SwWordCountFloatDlg> pDlg = VclPtr<SwWordCountFloatDlg>::Create( pBindings, pChild, pParent, pInfo ); - return new AbstractSwWordCountFloatDlg_Impl( pDlg ); + return VclPtr<AbstractSwWordCountFloatDlg_Impl>::Create( pDlg ); } -VclAbstractDialog * SwAbstractDialogFactory_Impl::CreateIndexMarkModalDlg( +VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateIndexMarkModalDlg( vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ) { VclPtr<Dialog> pDlg = VclPtr<SwIndexMarkModalDlg>::Create( pParent, rSh, pCurTOXMark ); - return new VclAbstractDialog_Impl( pDlg ); + return VclPtr<VclAbstractDialog_Impl>::Create( pDlg ); } -AbstractMailMergeWizard* SwAbstractDialogFactory_Impl::CreateMailMergeWizard( +VclPtr<AbstractMailMergeWizard> SwAbstractDialogFactory_Impl::CreateMailMergeWizard( SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) { - return new AbstractMailMergeWizard_Impl( VclPtr<SwMailMergeWizard>::Create(rView, rConfigItem)); + return VclPtr<AbstractMailMergeWizard_Impl>::Create( VclPtr<SwMailMergeWizard>::Create(rView, rConfigItem)); } GlossaryGetCurrGroup SwAbstractDialogFactory_Impl::GetGlossaryCurrGroupFunc() diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index e3cc72cf7e24..63d82b707c4e 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -353,6 +353,7 @@ public: : pDlg(p) {} virtual ~AbstractMailMergeWizard_Impl() override; + virtual void dispose() override; virtual void StartExecuteModal( const Link<Dialog&,void>& rEndDialogHdl ) override; virtual long GetResult() override; @@ -368,123 +369,123 @@ class SwAbstractDialogFactory_Impl : public SwAbstractDialogFactory public: virtual ~SwAbstractDialogFactory_Impl() {} - virtual SfxAbstractDialog* CreateSfxDialog( vcl::Window* pParent, + virtual VclPtr<SfxAbstractDialog> CreateSfxDialog( vcl::Window* pParent, const SfxItemSet& rAttr, const css::uno::Reference< css::frame::XFrame >& _rxFrame, sal_uInt32 nResId ) override; - virtual AbstractSwWordCountFloatDlg* CreateSwWordCountDialog(SfxBindings* pBindings, + virtual VclPtr<AbstractSwWordCountFloatDlg> CreateSwWordCountDialog(SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo) override; - virtual AbstractSwInsertAbstractDlg * CreateSwInsertAbstractDlg() override; - virtual AbstractSwAsciiFilterDlg* CreateSwAsciiFilterDlg ( SwDocShell& rDocSh, + virtual VclPtr<AbstractSwInsertAbstractDlg> CreateSwInsertAbstractDlg() override; + virtual VclPtr<AbstractSwAsciiFilterDlg> CreateSwAsciiFilterDlg ( SwDocShell& rDocSh, SvStream* pStream ) override; - virtual VclAbstractDialog * CreateSwInsertBookmarkDlg( vcl::Window *pParent, SwWrtShell &rSh, SfxRequest& rReq ) override; - virtual AbstractSwBreakDlg * CreateSwBreakDlg(vcl::Window *pParent, SwWrtShell &rSh) override; - virtual VclAbstractDialog * CreateSwChangeDBDlg(SwView& rVw) override; - virtual SfxAbstractTabDialog * CreateSwCharDlg(vcl::Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, + virtual VclPtr<VclAbstractDialog> CreateSwInsertBookmarkDlg( vcl::Window *pParent, SwWrtShell &rSh, SfxRequest& rReq ) override; + virtual VclPtr<AbstractSwBreakDlg> CreateSwBreakDlg(vcl::Window *pParent, SwWrtShell &rSh) override; + virtual VclPtr<VclAbstractDialog> CreateSwChangeDBDlg(SwView& rVw) override; + virtual VclPtr<SfxAbstractTabDialog> CreateSwCharDlg(vcl::Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, SwCharDlgMode nDialogMode, const OUString* pFormatStr = nullptr) override; - virtual AbstractSwConvertTableDlg* CreateSwConvertTableDlg(SwView& rView, bool bToTable) override; - virtual VclAbstractDialog * CreateSwCaptionDialog ( vcl::Window *pParent, SwView &rV) override; + virtual VclPtr<AbstractSwConvertTableDlg> CreateSwConvertTableDlg(SwView& rView, bool bToTable) override; + virtual VclPtr<VclAbstractDialog> CreateSwCaptionDialog ( vcl::Window *pParent, SwView &rV) override; - virtual AbstractSwInsertDBColAutoPilot* CreateSwInsertDBColAutoPilot(SwView& rView, + virtual VclPtr<AbstractSwInsertDBColAutoPilot> CreateSwInsertDBColAutoPilot(SwView& rView, css::uno::Reference< css::sdbc::XDataSource> rxSource, css::uno::Reference<css::sdbcx::XColumnsSupplier> xColSupp, const SwDBData& rData) override; - virtual SfxAbstractTabDialog * CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) override; + virtual VclPtr<SfxAbstractTabDialog> CreateSwFootNoteOptionDlg(vcl::Window *pParent, SwWrtShell &rSh) override; - virtual AbstractDropDownFieldDialog * CreateDropDownFieldDialog(SwWrtShell &rSh, + virtual VclPtr<AbstractDropDownFieldDialog> CreateDropDownFieldDialog(SwWrtShell &rSh, SwField* pField, bool bNextButton) override; - virtual SfxAbstractTabDialog* CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) override; - virtual AbstractSwLabDlg* CreateSwLabDlg(const SfxItemSet& rSet, + virtual VclPtr<SfxAbstractTabDialog> CreateSwEnvDlg ( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, bool bInsert ) override; + virtual VclPtr<AbstractSwLabDlg> CreateSwLabDlg(const SfxItemSet& rSet, SwDBManager* pDBManager, bool bLabel) override; virtual SwLabDlgMethod GetSwLabDlgStaticMethod () override; - virtual SfxAbstractTabDialog* CreateSwParaDlg ( vcl::Window *pParent, + virtual VclPtr<SfxAbstractTabDialog> CreateSwParaDlg ( vcl::Window *pParent, SwView& rVw, const SfxItemSet& rCoreSet, bool bDraw, const OString& sDefPage = OString() ) override; - virtual AbstractSwSelGlossaryDlg * CreateSwSelGlossaryDlg(const OUString &rShortName) override; - virtual VclAbstractDialog * CreateVclAbstractDialog ( vcl::Window * pParent, SwWrtShell &rSh, int nResId ) override; - virtual AbstractSplitTableDialog * CreateSplitTableDialog ( vcl::Window * pParent, SwWrtShell &rSh ) override; + virtual VclPtr<AbstractSwSelGlossaryDlg> CreateSwSelGlossaryDlg(const OUString &rShortName) override; + virtual VclPtr<VclAbstractDialog> CreateVclAbstractDialog ( vcl::Window * pParent, SwWrtShell &rSh, int nResId ) override; + virtual VclPtr<AbstractSplitTableDialog> CreateSplitTableDialog ( vcl::Window * pParent, SwWrtShell &rSh ) override; - virtual AbstractSwAutoFormatDlg * CreateSwAutoFormatDlg( vcl::Window* pParent, SwWrtShell* pShell, + virtual VclPtr<AbstractSwAutoFormatDlg> CreateSwAutoFormatDlg( vcl::Window* pParent, SwWrtShell* pShell, bool bSetAutoFormat = true, const SwTableAutoFormat* pSelFormat = nullptr ) override; - virtual SfxAbstractDialog * CreateSwBorderDlg (vcl::Window* pParent, SfxItemSet& rSet, SwBorderModes nType ) override; + virtual VclPtr<SfxAbstractDialog> CreateSwBorderDlg (vcl::Window* pParent, SfxItemSet& rSet, SwBorderModes nType ) override; - virtual SfxAbstractDialog * CreateSwWrapDlg ( vcl::Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh ) override; - virtual VclAbstractDialog * CreateSwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rFnc) override; - virtual SfxAbstractTabDialog* CreateSwTableTabDlg(vcl::Window* pParent, SfxItemPool& Pool, + virtual VclPtr<SfxAbstractDialog> CreateSwWrapDlg ( vcl::Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh ) override; + virtual VclPtr<VclAbstractDialog> CreateSwTableWidthDlg(vcl::Window *pParent, SwTableFUNC &rFnc) override; + virtual VclPtr<SfxAbstractTabDialog> CreateSwTableTabDlg(vcl::Window* pParent, SfxItemPool& Pool, const SfxItemSet* pItemSet, SwWrtShell* pSh) override; - virtual AbstractSwFieldDlg * CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) override; - virtual SfxAbstractDialog* CreateSwFieldEditDlg ( SwView& rVw ) override; - virtual AbstractSwRenameXNamedDlg * CreateSwRenameXNamedDlg(vcl::Window* pParent, + virtual VclPtr<AbstractSwFieldDlg> CreateSwFieldDlg(SfxBindings* pB, SwChildWinWrapper* pCW, vcl::Window *pParent) override; + virtual VclPtr<SfxAbstractDialog> CreateSwFieldEditDlg ( SwView& rVw ) override; + virtual VclPtr<AbstractSwRenameXNamedDlg> CreateSwRenameXNamedDlg(vcl::Window* pParent, css::uno::Reference< css::container::XNamed > & xNamed, css::uno::Reference< css::container::XNameAccess > & xNameAccess) override; - virtual AbstractSwModalRedlineAcceptDlg * CreateSwModalRedlineAcceptDlg(vcl::Window *pParent) override; + virtual VclPtr<AbstractSwModalRedlineAcceptDlg> CreateSwModalRedlineAcceptDlg(vcl::Window *pParent) override; - virtual VclAbstractDialog* CreateTableMergeDialog(vcl::Window* pParent, bool& rWithPrev) override; - virtual SfxAbstractTabDialog* CreateFrameTabDialog( const OUString &rDialogType, + virtual VclPtr<VclAbstractDialog> CreateTableMergeDialog(vcl::Window* pParent, bool& rWithPrev) override; + virtual VclPtr<SfxAbstractTabDialog> CreateFrameTabDialog( const OUString &rDialogType, SfxViewFrame *pFrame, vcl::Window *pParent, const SfxItemSet& rCoreSet, bool bNewFrame = true, const OString& sDefPage = OString()) override; - virtual SfxAbstractApplyTabDialog* CreateTemplateDialog( + virtual VclPtr<SfxAbstractApplyTabDialog> CreateTemplateDialog( vcl::Window *pParent, SfxStyleSheetBase& rBase, SfxStyleFamily nRegion, const OString& sPage, SwWrtShell* pActShell, bool bNew = false) override; - virtual AbstractGlossaryDlg* CreateGlossaryDlg(SfxViewFrame* pViewFrame, + virtual VclPtr<AbstractGlossaryDlg> CreateGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryHdl* pGlosHdl, SwWrtShell *pWrtShell) override; - virtual AbstractFieldInputDlg* CreateFieldInputDlg(vcl::Window *pParent, + virtual VclPtr<AbstractFieldInputDlg> CreateFieldInputDlg(vcl::Window *pParent, SwWrtShell &rSh, SwField* pField, bool bNextButton) override; - virtual AbstractInsFootNoteDlg* CreateInsFootNoteDlg( + virtual VclPtr<AbstractInsFootNoteDlg> CreateInsFootNoteDlg( vcl::Window * pParent, SwWrtShell &rSh, bool bEd = false) override; - virtual VclAbstractDialog * CreateTitlePageDlg ( vcl::Window * pParent ) override; - virtual VclAbstractDialog * CreateVclSwViewDialog(SwView& rView) override; - virtual AbstractInsTableDlg* CreateInsTableDlg(SwView& rView) override; - virtual AbstractJavaEditDialog* CreateJavaEditDialog(vcl::Window* pParent, + virtual VclPtr<VclAbstractDialog> CreateTitlePageDlg ( vcl::Window * pParent ) override; + virtual VclPtr<VclAbstractDialog> CreateVclSwViewDialog(SwView& rView) override; + virtual VclPtr<AbstractInsTableDlg> CreateInsTableDlg(SwView& rView) override; + virtual VclPtr<AbstractJavaEditDialog> CreateJavaEditDialog(vcl::Window* pParent, SwWrtShell* pWrtSh) override; - virtual AbstractMailMergeDlg* CreateMailMergeDlg( + virtual VclPtr<AbstractMailMergeDlg> CreateMailMergeDlg( vcl::Window* pParent, SwWrtShell& rSh, const OUString& rSourceName, const OUString& rTableName, sal_Int32 nCommandType, const css::uno::Reference< css::sdbc::XConnection>& xConnection ) override; - virtual AbstractMailMergeCreateFromDlg* CreateMailMergeCreateFromDlg(vcl::Window* pParent) override; - virtual AbstractMailMergeFieldConnectionsDlg* CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) override; - virtual VclAbstractDialog* CreateMultiTOXMarkDlg(vcl::Window* pParent, SwTOXMgr &rTOXMgr) override; - virtual SfxAbstractTabDialog* CreateSwTabDialog( int nResId, + virtual VclPtr<AbstractMailMergeCreateFromDlg> CreateMailMergeCreateFromDlg(vcl::Window* pParent) override; + virtual VclPtr<AbstractMailMergeFieldConnectionsDlg> CreateMailMergeFieldConnectionsDlg(vcl::Window* pParent) override; + virtual VclPtr<VclAbstractDialog> CreateMultiTOXMarkDlg(vcl::Window* pParent, SwTOXMgr &rTOXMgr) override; + virtual VclPtr<SfxAbstractTabDialog> CreateSwTabDialog( int nResId, vcl::Window* pParent, const SfxItemSet* pSwItemSet, SwWrtShell &) override; - virtual AbstractMultiTOXTabDialog* CreateMultiTOXTabDialog( + virtual VclPtr<AbstractMultiTOXTabDialog> CreateMultiTOXTabDialog( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell &rShell, SwTOXBase* pCurTOX, bool bGlobal) override; - virtual AbstractEditRegionDlg* CreateEditRegionDlg(vcl::Window* pParent, SwWrtShell& rWrtSh) override; - virtual AbstractInsertSectionTabDialog* CreateInsertSectionTabDialog( + virtual VclPtr<AbstractEditRegionDlg> CreateEditRegionDlg(vcl::Window* pParent, SwWrtShell& rWrtSh) override; + virtual VclPtr<AbstractInsertSectionTabDialog> CreateInsertSectionTabDialog( vcl::Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh) override; - virtual AbstractMarkFloatDlg* CreateIndexMarkFloatDlg( + virtual VclPtr<AbstractMarkFloatDlg> CreateIndexMarkFloatDlg( SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo) override; - virtual AbstractMarkFloatDlg* CreateAuthMarkFloatDlg( + virtual VclPtr<AbstractMarkFloatDlg> CreateAuthMarkFloatDlg( SfxBindings* pBindings, SfxChildWindow* pChild, vcl::Window *pParent, SfxChildWinInfo* pInfo) override; - virtual VclAbstractDialog * CreateIndexMarkModalDlg( + virtual VclPtr<VclAbstractDialog> CreateIndexMarkModalDlg( vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ) override; - virtual AbstractMailMergeWizard* CreateMailMergeWizard(SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) override; + virtual VclPtr<AbstractMailMergeWizard> CreateMailMergeWizard(SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) override; virtual GlossaryGetCurrGroup GetGlossaryCurrGroupFunc() override; virtual GlossarySetActGroup SetGlossaryActGroupFunc() override; diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx index 8d575cc80672..00a9f81b9718 100644 --- a/sw/source/uibase/app/apphdl.cxx +++ b/sw/source/uibase/app/apphdl.cxx @@ -382,7 +382,7 @@ class SwMailMergeWizardExecutor : public salhelper::SimpleReferenceObject { SwView* m_pView; // never owner SwView* m_pView2Close; // never owner - AbstractMailMergeWizard* m_pWizard; // always owner + VclPtr<AbstractMailMergeWizard> m_pWizard; // always owner bool m_bDestroyMMToolbarOnCancel; DECL_LINK( EndDialogHdl, Dialog&, void ); @@ -611,15 +611,15 @@ IMPL_LINK_NOARG( SwMailMergeWizardExecutor, EndDialogHdl, Dialog&, void ) IMPL_LINK_NOARG(SwMailMergeWizardExecutor, DestroyDialogHdl, void*, void) { - delete m_pWizard; - m_pWizard = nullptr; + m_pWizard.disposeAndClear(); release(); } IMPL_STATIC_LINK(SwMailMergeWizardExecutor, DestroyWizardHdl, void*, pDialog, void ) { - delete static_cast<AbstractMailMergeWizard*>(pDialog); + VclPtr<AbstractMailMergeWizard> p = static_cast<AbstractMailMergeWizard*>(pDialog); + p.disposeAndClear(); } IMPL_LINK_NOARG(SwMailMergeWizardExecutor, CancelHdl, void*, void) @@ -653,8 +653,7 @@ IMPL_LINK_NOARG(SwMailMergeWizardExecutor, CancelHdl, void*, void) xMMConfig->Commit(); } - delete m_pWizard; - m_pWizard = nullptr; + m_pWizard.disposeAndClear(); release(); } diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx index 8b5a6d95f704..28553126d76d 100644 --- a/sw/source/uibase/app/docsh2.cxx +++ b/sw/source/uibase/app/docsh2.cxx @@ -372,9 +372,10 @@ void SwDocShell::Execute(SfxRequest& rReq) aSet.Put( *static_cast<const SfxBoolItem*>(pOpenSmartTagOptionsItem) ); SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create(); - SfxAbstractTabDialog* pDlg = pFact->CreateAutoCorrTabDialog( &aSet ); + VclPtr<SfxAbstractTabDialog> pDlg = pFact->CreateAutoCorrTabDialog( &aSet ); pDlg->Execute(); - delete pDlg; + pDlg.disposeAndClear(); + rACW.SetLockWordLstLocked( bOldLocked ); diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx index bd551ffdc74b..cd5745715e36 100644 --- a/sw/source/uibase/app/docst.cxx +++ b/sw/source/uibase/app/docst.cxx @@ -554,7 +554,7 @@ private: sal_uInt16 m_nRet; rtl::Reference< SwDocStyleSheet > m_xTmp; SfxStyleFamily m_nFamily; - SfxAbstractApplyTabDialog *m_pDlg; + VclPtr<SfxAbstractApplyTabDialog> m_pDlg; rtl::Reference< SfxStyleSheetBasePool > m_xBasePool; bool m_bModified; }; diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx index 55e0bcf233c0..4315cdda37d7 100644 --- a/sw/source/uibase/dbui/dbmgr.cxx +++ b/sw/source/uibase/dbui/dbmgr.cxx @@ -307,14 +307,14 @@ void SwDataSourceRemovedListener::Dispose() struct SwDBManager_Impl { - SwDSParam* pMergeData; - AbstractMailMergeDlg* pMergeDialog; + SwDSParam* pMergeData; + VclPtr<AbstractMailMergeDlg> pMergeDialog; ::rtl::Reference<SwConnectionDisposedListener_Impl> m_xDisposeListener; rtl::Reference<SwDataSourceRemovedListener> m_xDataSourceRemovedListener; explicit SwDBManager_Impl(SwDBManager& rDBManager) :pMergeData(nullptr) - ,pMergeDialog(nullptr) + ,pMergeDialog() , m_xDisposeListener(new SwConnectionDisposedListener_Impl(rDBManager)) {} @@ -2910,7 +2910,7 @@ void SwDBManager::ExecuteFormLetter( SwWrtShell& rSh, //this has been done by the SwConnectionDisposedListener_Impl already } } - DELETEZ(pImpl->pMergeDialog); + pImpl->pMergeDialog.disposeAndClear(); } void SwDBManager::InsertText(SwWrtShell& rSh, diff --git a/sw/source/uibase/dialog/wordcountwrapper.cxx b/sw/source/uibase/dialog/wordcountwrapper.cxx index 2b5e963484f7..031d034e26bb 100644 --- a/sw/source/uibase/dialog/wordcountwrapper.cxx +++ b/sw/source/uibase/dialog/wordcountwrapper.cxx @@ -28,6 +28,11 @@ SwWordCountWrapper::SwWordCountWrapper( vcl::Window *pParentWindow, SetWindow(xAbstDlg->GetWindow()); } +SwWordCountWrapper::~SwWordCountWrapper() +{ + xAbstDlg.disposeAndClear(); +} + SfxChildWinInfo SwWordCountWrapper::GetInfo() const { SfxChildWinInfo aInfo = SfxChildWindow::GetInfo(); diff --git a/sw/source/uibase/inc/fldwrap.hxx b/sw/source/uibase/inc/fldwrap.hxx index d7abe750b8e6..0ebd58b45a45 100644 --- a/sw/source/uibase/inc/fldwrap.hxx +++ b/sw/source/uibase/inc/fldwrap.hxx @@ -25,7 +25,7 @@ class AbstractSwFieldDlg; class SwFieldDlgWrapper : public SwChildWinWrapper { public: - AbstractSwFieldDlg * pDlgInterface; + VclPtr<AbstractSwFieldDlg> pDlgInterface; SwFieldDlgWrapper( vcl::Window* pParent, sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo ); @@ -39,7 +39,7 @@ public: class SwFieldDataOnlyDlgWrapper : public SwChildWinWrapper { public: - AbstractSwFieldDlg * pDlgInterface; + VclPtr<AbstractSwFieldDlg> pDlgInterface; SwFieldDataOnlyDlgWrapper( vcl::Window* pParent, sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo ); diff --git a/sw/source/uibase/inc/idxmrk.hxx b/sw/source/uibase/inc/idxmrk.hxx index 99e5cbf8a32b..c29252121c09 100644 --- a/sw/source/uibase/inc/idxmrk.hxx +++ b/sw/source/uibase/inc/idxmrk.hxx @@ -27,7 +27,7 @@ class SwWrtShell; class SwInsertIdxMarkWrapper : public SfxChildWindow { - AbstractMarkFloatDlg* pAbstDlg; + VclPtr<AbstractMarkFloatDlg> pAbstDlg; protected: SwInsertIdxMarkWrapper( vcl::Window *pParentWindow, sal_uInt16 nId, @@ -42,7 +42,7 @@ public: class SwInsertAuthMarkWrapper : public SfxChildWindow { - AbstractMarkFloatDlg* pAbstDlg; + VclPtr<AbstractMarkFloatDlg> pAbstDlg; protected: SwInsertAuthMarkWrapper( vcl::Window *pParentWindow, sal_uInt16 nId, diff --git a/sw/source/uibase/inc/wordcountdialog.hxx b/sw/source/uibase/inc/wordcountdialog.hxx index 6a2bdd66333a..b8ebc2344db4 100644 --- a/sw/source/uibase/inc/wordcountdialog.hxx +++ b/sw/source/uibase/inc/wordcountdialog.hxx @@ -63,16 +63,16 @@ public: class SwWordCountWrapper : public SfxChildWindow { - std::unique_ptr<AbstractSwWordCountFloatDlg> xAbstDlg; + VclPtr<AbstractSwWordCountFloatDlg> xAbstDlg; protected: SwWordCountWrapper( vcl::Window *pParentWindow, sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo ); - SFX_DECL_CHILDWINDOW_WITHID(SwWordCountWrapper); public: + virtual ~SwWordCountWrapper() override; void UpdateCounts(); void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat); }; diff --git a/sw/source/uibase/wrtsh/wrtsh2.cxx b/sw/source/uibase/wrtsh/wrtsh2.cxx index cb9b7d3862ef..c9690a44af7e 100644 --- a/sw/source/uibase/wrtsh/wrtsh2.cxx +++ b/sw/source/uibase/wrtsh/wrtsh2.cxx @@ -222,7 +222,7 @@ class FieldDeletionModify : public SwModify } } private: - AbstractFieldInputDlg* mpInputFieldDlg; + VclPtr<AbstractFieldInputDlg> mpInputFieldDlg; SwFormatField* mpFormatField; }; |