summaryrefslogtreecommitdiff
path: root/svtools/source/dialogs/wizardmachine.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/dialogs/wizardmachine.cxx')
-rw-r--r--svtools/source/dialogs/wizardmachine.cxx34
1 files changed, 23 insertions, 11 deletions
diff --git a/svtools/source/dialogs/wizardmachine.cxx b/svtools/source/dialogs/wizardmachine.cxx
index 6cc223397b54..8864376ed343 100644
--- a/svtools/source/dialogs/wizardmachine.cxx
+++ b/svtools/source/dialogs/wizardmachine.cxx
@@ -49,7 +49,13 @@ namespace svt
OWizardPage::~OWizardPage()
{
+ disposeOnce();
+ }
+
+ void OWizardPage::dispose()
+ {
delete m_pImpl;
+ TabPage::dispose();
}
void OWizardPage::initializePage()
@@ -133,7 +139,7 @@ namespace svt
// the help button
if (_nButtonFlags & WZB_HELP)
{
- m_pHelp= new HelpButton(this, WB_TABSTOP);
+ m_pHelp= VclPtr<HelpButton>::Create(this, WB_TABSTOP);
m_pHelp->SetSizePixel( LogicToPixel( Size( 50, 14 ), MAP_APPFONT ) );
m_pHelp->Show();
AddButton( m_pHelp, WIZARDDIALOG_BUTTON_STDOFFSET_X);
@@ -142,7 +148,7 @@ namespace svt
// the previous button
if (_nButtonFlags & WZB_PREVIOUS)
{
- m_pPrevPage = new PushButton(this, WB_TABSTOP);
+ m_pPrevPage = VclPtr<PushButton>::Create(this, WB_TABSTOP);
m_pPrevPage->SetHelpId( HID_WIZARD_PREVIOUS );
m_pPrevPage->SetSizePixel( LogicToPixel( Size( 50, 14 ), MAP_APPFONT ) );
m_pPrevPage->SetText(SVT_RESSTR(STR_WIZDLG_PREVIOUS));
@@ -159,7 +165,7 @@ namespace svt
// the next button
if (_nButtonFlags & WZB_NEXT)
{
- m_pNextPage = new PushButton(this, WB_TABSTOP);
+ m_pNextPage = VclPtr<PushButton>::Create(this, WB_TABSTOP);
m_pNextPage->SetHelpId( HID_WIZARD_NEXT );
m_pNextPage->SetSizePixel( LogicToPixel( Size( 50, 14 ), MAP_APPFONT ) );
m_pNextPage->SetText(OUString(SVT_RESSTR(STR_WIZDLG_NEXT)));
@@ -173,7 +179,7 @@ namespace svt
// the finish button
if (_nButtonFlags & WZB_FINISH)
{
- m_pFinish = new OKButton(this, WB_TABSTOP);
+ m_pFinish = VclPtr<OKButton>::Create(this, WB_TABSTOP);
m_pFinish->SetSizePixel( LogicToPixel( Size( 50, 14 ), MAP_APPFONT ) );
m_pFinish->SetText(SVT_RESSTR(STR_WIZDLG_FINISH));
m_pFinish->Show();
@@ -185,7 +191,7 @@ namespace svt
// the cancel button
if (_nButtonFlags & WZB_CANCEL)
{
- m_pCancel = new CancelButton(this, WB_TABSTOP);
+ m_pCancel = VclPtr<CancelButton>::Create(this, WB_TABSTOP);
m_pCancel->SetSizePixel( LogicToPixel( Size( 50, 14 ), MAP_APPFONT ) );
m_pCancel->Show();
@@ -196,16 +202,22 @@ namespace svt
OWizardMachine::~OWizardMachine()
{
- delete m_pFinish;
- delete m_pCancel;
- delete m_pNextPage;
- delete m_pPrevPage;
- delete m_pHelp;
+ disposeOnce();
+ }
+
+ void OWizardMachine::dispose()
+ {
+ m_pFinish.disposeAndClear();
+ m_pCancel.disposeAndClear();
+ m_pNextPage.disposeAndClear();
+ m_pPrevPage.disposeAndClear();
+ m_pHelp.disposeAndClear();
for (WizardState i=0; i<m_pImpl->nFirstUnknownPage; ++i)
- delete GetPage(i);
+ GetPage(i)->disposeOnce();
delete m_pImpl;
+ WizardDialog::dispose();
}