X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d90443b8a2099cf0e8e5fec31571d0ba1c0818a9..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/generic/wizard.cpp diff --git a/src/generic/wizard.cpp b/src/generic/wizard.cpp index ecd387555f..d87d766a07 100644 --- a/src/generic/wizard.cpp +++ b/src/generic/wizard.cpp @@ -86,6 +86,7 @@ wxDEFINE_EVENT( wxEVT_WIZARD_PAGE_CHANGING, wxWizardEvent ); wxDEFINE_EVENT( wxEVT_WIZARD_CANCEL, wxWizardEvent ); wxDEFINE_EVENT( wxEVT_WIZARD_FINISHED, wxWizardEvent ); wxDEFINE_EVENT( wxEVT_WIZARD_HELP, wxWizardEvent ); +wxDEFINE_EVENT( wxEVT_WIZARD_PAGE_SHOWN, wxWizardEvent ); BEGIN_EVENT_TABLE(wxWizard, wxDialog) EVT_BUTTON(wxID_CANCEL, wxWizard::OnCancel) @@ -315,7 +316,7 @@ void wxWizard::AddBitmapRow(wxBoxSizer *mainColumn) mainColumn->Add( m_sizerBmpAndPage, 1, // Vertically stretchable - wxEXPAND // Horizonal stretching, no border + wxEXPAND // Horizontal stretching, no border ); mainColumn->Add(0,5, 0, // No vertical stretching @@ -323,7 +324,7 @@ void wxWizard::AddBitmapRow(wxBoxSizer *mainColumn) ); #if wxUSE_STATBMP - if ( m_bitmap.Ok() ) + if ( m_bitmap.IsOk() ) { wxSize bitmapSize(wxDefaultSize); if (GetBitmapPlacement()) @@ -372,13 +373,6 @@ void wxWizard::AddBackNextPair(wxBoxSizer *buttonRow) wxT("You must create the buttons before calling ") wxT("wxWizard::AddBackNextPair") ); - // margin between Back and Next buttons -#ifdef __WXMAC__ - static const int BACKNEXT_MARGIN = 10; -#else - static const int BACKNEXT_MARGIN = 0; -#endif - wxBoxSizer *backNextPair = new wxBoxSizer(wxHORIZONTAL); buttonRow->Add( backNextPair, @@ -388,7 +382,7 @@ void wxWizard::AddBackNextPair(wxBoxSizer *buttonRow) ); backNextPair->Add(m_btnPrev); - backNextPair->Add(BACKNEXT_MARGIN,0, + backNextPair->Add(10, 0, 0, // No horizontal stretching wxEXPAND // No border, (mostly useless) vertical stretching ); @@ -562,11 +556,8 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) m_sizerBmpAndPage->Detach(m_page); } - // set the new page - m_page = page; - // is this the end? - if ( !m_page ) + if ( !page ) { // terminate successfully if ( IsModal() ) @@ -581,12 +572,18 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) // and notify the user code (this is especially useful for modeless // wizards) - wxWizardEvent event(wxEVT_WIZARD_FINISHED, GetId(), false, 0); + wxWizardEvent event(wxEVT_WIZARD_FINISHED, GetId(), false, m_page); (void)GetEventHandler()->ProcessEvent(event); + m_page = NULL; + return true; } + // notice that we change m_page only here so that wxEVT_WIZARD_FINISHED + // event above could still use the correct (i.e. old) value of m_page + m_page = page; + // position and show the new page (void)m_page->TransferDataToWindow(); @@ -607,10 +604,10 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) if ( m_statbmp ) { bmp = m_page->GetBitmap(); - if ( !bmp.Ok() ) + if ( !bmp.IsOk() ) bmp = m_bitmap; - if ( !bmpPrev.Ok() ) + if ( !bmpPrev.IsOk() ) bmpPrev = m_bitmap; if (!GetBitmapPlacement()) @@ -662,6 +659,10 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) m_sizerPage->RecalcSizes(); } + wxWizardEvent pageShownEvent(wxEVT_WIZARD_PAGE_SHOWN, GetId(), + goingForward, m_page); + m_page->GetEventHandler()->ProcessEvent(pageShownEvent); + return true; } @@ -927,7 +928,7 @@ bool wxWizard::ResizeBitmap(wxBitmap& bmp) if (!GetBitmapPlacement()) return false; - if (bmp.Ok()) + if (bmp.IsOk()) { wxSize pageSize = m_sizerPage->GetSize(); if (pageSize == wxSize(0,0)) @@ -935,7 +936,7 @@ bool wxWizard::ResizeBitmap(wxBitmap& bmp) int bitmapWidth = wxMax(bmp.GetWidth(), GetMinimumBitmapWidth()); int bitmapHeight = pageSize.y; - if (!m_statbmp->GetBitmap().Ok() || m_statbmp->GetBitmap().GetHeight() != bitmapHeight) + if (!m_statbmp->GetBitmap().IsOk() || m_statbmp->GetBitmap().GetHeight() != bitmapHeight) { wxBitmap bitmap(bitmapWidth, bitmapHeight); {