///////////////////////////////////////////////////////////////////////////////
-// Name: generic/wizard.cpp
+// Name: src/generic/wizard.cpp
// Purpose: generic implementation of wxWizard class
// Author: Vadim Zeitlin
// Modified by: Robert Cavanaugh
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "wizardg.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
m_calledSetBorder = false;
m_border = 0;
m_started = false;
+ m_wasModal = false;
}
bool wxWizard::Create(wxWindow *parent,
// was created before the 'next' button.
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
- int buttonStyle = isPda ? wxBU_EXACTFIT : 0;
+ int buttonStyle = isPda ? wxBU_EXACTFIT : 0;
wxBoxSizer *buttonRow = new wxBoxSizer(wxHORIZONTAL);
#ifdef __WXMAC__
return;
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
-
+
// Horizontal stretching, and if not PDA, border all around
int mainColumnSizerFlags = isPda ? wxEXPAND : wxALL|wxEXPAND ;
-
+
// wxWindow::SetSizer will be called at end
wxBoxSizer *windowSizer = new wxBoxSizer(wxVERTICAL);
);
AddBitmapRow(mainColumn);
-
+
if (!isPda)
AddStaticLine(mainColumn);
-
+
AddButtonRow(mainColumn);
// wxWindow::SetSizer should be followed by wxWindow::Fit, but
void wxWizard::FinishLayout()
{
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
-
+
// Set to enable wxWizardSizer::GetMaxChildSize
m_started = true;
// can't return false here because there is no old page
(void)ShowPage(firstPage, true /* forward */);
+ m_wasModal = true;
+
return ShowModal() == wxID_OK;
}
DEFAULT_PAGE_WIDTH = wxSystemSettings::GetMetric(wxSYS_SCREEN_X) / 2;
DEFAULT_PAGE_HEIGHT = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y) / 2;
}
-
+
wxSize totalPageSize(DEFAULT_PAGE_WIDTH,DEFAULT_PAGE_HEIGHT);
totalPageSize.IncTo(m_sizePage);
event.Skip();
}
}
-}
-
-// ----------------------------------------------------------------------------
-// our public interface
-// ----------------------------------------------------------------------------
-
-#if WXWIN_COMPATIBILITY_2_2
-/* static */
-wxWizard *wxWizardBase::Create(wxWindow *parent,
- int id,
- const wxString& title,
- const wxBitmap& bitmap,
- const wxPoint& pos,
- const wxSize& WXUNUSED(size))
-{
- return new wxWizard(parent, id, title, bitmap, pos);
+ if ( ( !m_wasModal ) &&
+ event.IsAllowed() &&
+ ( event.GetEventType() == wxEVT_WIZARD_FINISHED ||
+ event.GetEventType() == wxEVT_WIZARD_CANCEL
+ )
+ )
+ {
+ Destroy();
+ }
}
-#endif // WXWIN_COMPATIBILITY_2_2
-
// ----------------------------------------------------------------------------
// wxWizardEvent
// ----------------------------------------------------------------------------