X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a6328131cd431ccecb931ba98cb8f4567576683a..04bf2fb51514e3ec8631a1d8ea1f610fca851005:/src/generic/wizard.cpp diff --git a/src/generic/wizard.cpp b/src/generic/wizard.cpp index 5656355235..bc07fcce14 100644 --- a/src/generic/wizard.cpp +++ b/src/generic/wizard.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: generic/wizard.cpp +// Name: src/generic/wizard.cpp // Purpose: generic implementation of wxWizard class // Author: Vadim Zeitlin // Modified by: Robert Cavanaugh @@ -21,10 +21,6 @@ // 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" @@ -278,6 +274,7 @@ void wxWizard::Init() m_calledSetBorder = false; m_border = 0; m_started = false; + m_wasModal = false; } bool wxWizard::Create(wxWindow *parent, @@ -392,7 +389,7 @@ void wxWizard::AddButtonRow(wxBoxSizer *mainColumn) // 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__ @@ -457,10 +454,10 @@ void wxWizard::DoCreateControls() 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); @@ -473,10 +470,10 @@ void wxWizard::DoCreateControls() ); AddBitmapRow(mainColumn); - + if (!isPda) AddStaticLine(mainColumn); - + AddButtonRow(mainColumn); // wxWindow::SetSizer should be followed by wxWindow::Fit, but @@ -493,7 +490,7 @@ void wxWizard::SetPageSize(const wxSize& size) void wxWizard::FinishLayout() { bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); - + // Set to enable wxWizardSizer::GetMaxChildSize m_started = true; @@ -660,6 +657,8 @@ bool wxWizard::RunWizard(wxWizardPage *firstPage) // can't return false here because there is no old page (void)ShowPage(firstPage, true /* forward */); + m_wasModal = true; + return ShowModal() == wxID_OK; } @@ -700,7 +699,7 @@ wxSize wxWizard::GetManualPageSize() const 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); @@ -802,7 +801,7 @@ void wxWizard::OnWizEvent(wxWizardEvent& event) } } - if ( !IsModal() && + if ( ( !m_wasModal ) && event.IsAllowed() && ( event.GetEventType() == wxEVT_WIZARD_FINISHED || event.GetEventType() == wxEVT_WIZARD_CANCEL @@ -813,25 +812,6 @@ void wxWizard::OnWizEvent(wxWizardEvent& event) } } -// ---------------------------------------------------------------------------- -// 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); -} - -#endif // WXWIN_COMPATIBILITY_2_2 - // ---------------------------------------------------------------------------- // wxWizardEvent // ----------------------------------------------------------------------------