summaryrefslogtreecommitdiff
path: root/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/xsltdialog/xmlfiltersettingsdialog.cxx')
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.cxx71
1 files changed, 52 insertions, 19 deletions
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index ba832bfea60b..5865d812f555 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -103,7 +103,24 @@ XMLFilterSettingsDialog::XMLFilterSettingsDialog(vcl::Window* pParent,
}
}
+XMLFilterSettingsDialog::~XMLFilterSettingsDialog()
+{
+ disposeOnce();
+}
+void XMLFilterSettingsDialog::dispose()
+{
+ m_pFilterListBox.clear();
+ m_pCtrlFilterList.clear();
+ m_pPBNew.clear();
+ m_pPBEdit.clear();
+ m_pPBTest.clear();
+ m_pPBDelete.clear();
+ m_pPBSave.clear();
+ m_pPBOpen.clear();
+ m_pPBClose.clear();
+ ModelessDialog::dispose();
+}
IMPL_LINK(XMLFilterSettingsDialog, ClickHdl_Impl, PushButton *, pButton )
{
@@ -225,11 +242,11 @@ void XMLFilterSettingsDialog::onNew()
aTempInfo.maDocumentService = "com.sun.star.text.TextDocument";
// execute XML Filter Dialog
- XMLFilterTabDialog aDlg( this, *getXSLTDialogResMgr(), mxContext, &aTempInfo );
- if ( aDlg.Execute() == RET_OK )
+ ScopedVclPtrInstance< XMLFilterTabDialog > aDlg( this, *getXSLTDialogResMgr(), mxContext, &aTempInfo );
+ if ( aDlg->Execute() == RET_OK )
{
// insert the new filter
- insertOrEdit( aDlg.getNewFilterInfo() );
+ insertOrEdit( aDlg->getNewFilterInfo() );
}
}
@@ -246,10 +263,10 @@ void XMLFilterSettingsDialog::onEdit()
filter_info_impl* pOldInfo = static_cast<filter_info_impl*>(pEntry->GetUserData());
// execute XML Filter Dialog
- XMLFilterTabDialog aDlg( this, *getXSLTDialogResMgr(), mxContext, pOldInfo );
- if ( aDlg.Execute() == RET_OK )
+ ScopedVclPtrInstance< XMLFilterTabDialog > aDlg( this, *getXSLTDialogResMgr(), mxContext, pOldInfo );
+ if ( aDlg->Execute() == RET_OK )
{
- filter_info_impl* pNewInfo = aDlg.getNewFilterInfo();
+ filter_info_impl* pNewInfo = aDlg->getNewFilterInfo();
if( !(*pOldInfo == *pNewInfo) )
{
@@ -771,8 +788,8 @@ void XMLFilterSettingsDialog::onTest()
{
filter_info_impl* pInfo = static_cast<filter_info_impl*>(pEntry->GetUserData());
- XMLFilterTestDialog aDlg(this, mxContext);
- aDlg.test( *pInfo );
+ ScopedVclPtrInstance< XMLFilterTestDialog > aDlg(this, mxContext);
+ aDlg->test( *pInfo );
}
}
@@ -789,8 +806,8 @@ void XMLFilterSettingsDialog::onDelete()
OUString aMessage(RESIDSTR(STR_WARN_DELETE));
aMessage = aMessage.replaceFirst( aPlaceHolder, pInfo->maFilterName );
- WarningBox aWarnBox(this, (WinBits)(WB_YES_NO | WB_DEF_YES), aMessage );
- if( aWarnBox.Execute() == RET_YES )
+ ScopedVclPtrInstance< WarningBox > aWarnBox(this, (WinBits)(WB_YES_NO | WB_DEF_YES), aMessage );
+ if( aWarnBox->Execute() == RET_YES )
{
try
{
@@ -919,8 +936,8 @@ void XMLFilterSettingsDialog::onSave()
aMsg = aMsg.replaceFirst( sPlaceholder, aURL.GetName() );
}
- InfoBox aBox(this, aMsg );
- aBox.Execute();
+ ScopedVclPtrInstance< InfoBox > aBox(this, aMsg );
+ aBox->Execute();
}
}
@@ -985,8 +1002,8 @@ void XMLFilterSettingsDialog::onOpen()
aMsg = aMsg.replaceFirst( sPlaceholder, OUString::number( nFilters ) );
}
- InfoBox aBox(this, aMsg );
- aBox.Execute();
+ ScopedVclPtrInstance< InfoBox > aBox(this, aMsg );
+ aBox->Execute();
}
}
@@ -1339,12 +1356,12 @@ SvxPathControl::SvxPathControl(vcl::Window* pParent)
: Window(pParent, WB_HIDE | WB_CLIPCHILDREN | WB_TABSTOP | WB_DIALOGCONTROL | WB_BORDER)
, bHasBeenShown(false)
{
- m_pVBox = new VclVBox(this);
+ m_pVBox = VclPtr<VclVBox>::Create(this);
- m_pHeaderBar = new HeaderBar(m_pVBox, WB_BOTTOMBORDER);
+ m_pHeaderBar = VclPtr<HeaderBar>::Create(m_pVBox, WB_BOTTOMBORDER);
m_pHeaderBar->set_height_request(GetTextHeight() + 6);
- m_pFocusCtrl = new XMLFilterListBox(m_pVBox, this);
+ m_pFocusCtrl = VclPtr<XMLFilterListBox>::Create(m_pVBox, this);
m_pFocusCtrl->set_fill(true);
m_pFocusCtrl->set_expand(true);
@@ -1399,8 +1416,15 @@ Size SvxPathControl::GetOptimalSize() const
SvxPathControl::~SvxPathControl()
{
- delete m_pFocusCtrl;
- delete m_pHeaderBar;
+ disposeOnce();
+}
+
+void SvxPathControl::dispose()
+{
+ m_pFocusCtrl.disposeAndClear();
+ m_pHeaderBar.disposeAndClear();
+ m_pVBox.disposeAndClear();
+ vcl::Window::dispose();
}
extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvxPathControl(vcl::Window *pParent, VclBuilder::stringmap &)
@@ -1446,7 +1470,16 @@ XMLFilterListBox::XMLFilterListBox(Window* pParent, SvxPathControl* pPathControl
m_pHeaderBar->Show();
}
+XMLFilterListBox::~XMLFilterListBox()
+{
+ disposeOnce();
+}
+void XMLFilterListBox::dispose()
+{
+ m_pHeaderBar.clear();
+ SvTabListBox::dispose();
+}
void XMLFilterListBox::Paint( const Rectangle& rRect )
{