// margin between "Next >" and "Cancel" buttons
static const int BUTTON_MARGIN = 10;
+ // margin between Back and Next buttons
+#ifdef __WXMAC__
+ static const int BACKNEXT_MARGIN = 10;
+#else
+ static const int BACKNEXT_MARGIN = 0;
+#endif
+
// default width and height of the page
static const int DEFAULT_PAGE_WIDTH = 270;
static const int DEFAULT_PAGE_HEIGHT = 290;
wxSize(m_x + m_width - x, 2));
#endif // wxUSE_STATLINE
- x = m_x + m_width - 3*sizeBtn.x - BUTTON_MARGIN;
+ x = m_x + m_width - 3*sizeBtn.x - BUTTON_MARGIN - BACKNEXT_MARGIN;
y += SEPARATOR_LINE_MARGIN;
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
m_btnPrev = new wxButton(this, wxID_BACKWARD, _("< &Back"), wxPoint(x, y), sizeBtn);
x += sizeBtn.x;
+ x += BACKNEXT_MARGIN;
+
m_btnNext = new wxButton(this, wxID_FORWARD, _("&Next >"), wxPoint(x, y), sizeBtn);
x += sizeBtn.x + BUTTON_MARGIN;
m_sizePage = size;
}
-void wxWizard::Fit(const wxWizardPage *page)
+void wxWizard::FitToPage(const wxWizardPage *page)
{
// otherwise it will have no effect now as it's too late...
wxASSERT_MSG( !WasCreated(), _T("should be called before RunWizard()!") );
if ( m_page )
{
// send the event to the old page
- wxWizardEvent event(wxEVT_WIZARD_PAGE_CHANGING, GetId(), goingForward);
+ wxWizardEvent event(wxEVT_WIZARD_PAGE_CHANGING, GetId(), goingForward, m_page);
if ( m_page->GetEventHandler()->ProcessEvent(event) &&
!event.IsAllowed() )
{
m_page->Hide();
- btnLabelWasNext = m_page->GetNext() != (wxWizardPage *)NULL;
+ btnLabelWasNext = HasNextPage(m_page);
// Get the bitmap of the previous page (if it exists)
if ( m_page->GetBitmap().Ok() )
}
// and update the buttons state
- m_btnPrev->Enable(m_page->GetPrev() != (wxWizardPage *)NULL);
+ m_btnPrev->Enable(HasPrevPage(m_page));
- bool hasNext = m_page->GetNext() != (wxWizardPage *)NULL;
+ bool hasNext = HasNextPage(m_page);
if ( btnLabelWasNext != hasNext )
{
// need to update
// nothing to do: the label was already correct
// send the change event to the new page now
- wxWizardEvent event(wxEVT_WIZARD_PAGE_CHANGED, GetId(), goingForward);
+ wxWizardEvent event(wxEVT_WIZARD_PAGE_CHANGED, GetId(), goingForward, m_page);
(void)m_page->GetEventHandler()->ProcessEvent(event);
// and finally show it
// page, but a small extra check won't hurt
wxWindow *win = m_page ? (wxWindow *)m_page : (wxWindow *)this;
- wxWizardEvent event(wxEVT_WIZARD_CANCEL, GetId());
+ wxWizardEvent event(wxEVT_WIZARD_CANCEL, GetId(), FALSE, m_page);
if ( !win->GetEventHandler()->ProcessEvent(event) || event.IsAllowed() )
{
// no objections - close the dialog
// our public interface
// ----------------------------------------------------------------------------
+#ifdef WXWIN_COMPATIBILITY_2_2
+
/* static */
wxWizard *wxWizardBase::Create(wxWindow *parent,
int id,
return new wxWizard(parent, id, title, bitmap, pos);
}
+#endif // WXWIN_COMPATIBILITY_2_2
+
// ----------------------------------------------------------------------------
// wxWizardEvent
// ----------------------------------------------------------------------------