wxWizard help patch (474974)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -46,7 +46,7 @@ All (GUI):
|
|||||||
- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
|
- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
|
||||||
- fixed bug with using wxExecute() to capture huge amounts of output
|
- fixed bug with using wxExecute() to capture huge amounts of output
|
||||||
- new wxCalendarCtrl styles added (S<>ren Erland Vest<73>)
|
- new wxCalendarCtrl styles added (S<>ren Erland Vest<73>)
|
||||||
- wxWizardPage can be loaded from WXR (Robert Cavanaugh)
|
- wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
|
||||||
- wxDirSelector() added (Paul A. Thiessen)
|
- wxDirSelector() added (Paul A. Thiessen)
|
||||||
|
|
||||||
wxHTML:
|
wxHTML:
|
||||||
|
@@ -53,6 +53,7 @@ changed (this event can not be vetoed).}
|
|||||||
changed (this event can be vetoed).}
|
changed (this event can be vetoed).}
|
||||||
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
||||||
the wizard (this event may also be vetoed).}
|
the wizard (this event may also be vetoed).}
|
||||||
|
\twocolitem{{\bf EVT\_WIZARD\_HELP(id, func)}}{The wizard help button was pressed.}
|
||||||
\end{twocollist}%
|
\end{twocollist}%
|
||||||
|
|
||||||
\wxheading{Extended styles}
|
\wxheading{Extended styles}
|
||||||
|
@@ -39,6 +39,7 @@ changed (this event can not be vetoed).}
|
|||||||
changed (this event can be vetoed).}
|
changed (this event can be vetoed).}
|
||||||
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
||||||
the wizard (this event may also be vetoed).}
|
the wizard (this event may also be vetoed).}
|
||||||
|
\twocolitem{{\bf EVT\_WIZARD\_HELP(id, func)}}{The wizard help button was pressed.}
|
||||||
\end{twocollist}%
|
\end{twocollist}%
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
@@ -64,3 +65,10 @@ FALSE otherwise and for {\tt EVT\_WIZARD\_PAGE\_CHANGED} return {\tt TRUE} if
|
|||||||
we came from the previous page and {\tt FALSE} if we returned from the next
|
we came from the previous page and {\tt FALSE} if we returned from the next
|
||||||
one.
|
one.
|
||||||
|
|
||||||
|
\membersection{wxWizardEvent::GetPage}\label{wxwizardeventgetpage}
|
||||||
|
|
||||||
|
\constfunc{wxWizardPage}{GetPage}{\void}
|
||||||
|
|
||||||
|
Returns the \helpref{wxWizardPage}{wxwizardpage} which was active when this
|
||||||
|
event was generated.
|
||||||
|
|
||||||
|
@@ -65,6 +65,7 @@ private:
|
|||||||
// event handlers
|
// event handlers
|
||||||
void OnCancel(wxCommandEvent& event);
|
void OnCancel(wxCommandEvent& event);
|
||||||
void OnBackOrNext(wxCommandEvent& event);
|
void OnBackOrNext(wxCommandEvent& event);
|
||||||
|
void OnHelp(wxCommandEvent& event);
|
||||||
|
|
||||||
// the page size requested by user
|
// the page size requested by user
|
||||||
wxSize m_sizePage;
|
wxSize m_sizePage;
|
||||||
|
@@ -169,7 +169,8 @@ class WXDLLEXPORT wxWizardEvent : public wxNotifyEvent
|
|||||||
public:
|
public:
|
||||||
wxWizardEvent(wxEventType type = wxEVT_NULL,
|
wxWizardEvent(wxEventType type = wxEVT_NULL,
|
||||||
int id = -1,
|
int id = -1,
|
||||||
bool direction = TRUE);
|
bool direction = TRUE,
|
||||||
|
wxWizardPage* page = NULL);
|
||||||
|
|
||||||
// for EVT_WIZARD_PAGE_CHANGING, return TRUE if we're going forward or
|
// for EVT_WIZARD_PAGE_CHANGING, return TRUE if we're going forward or
|
||||||
// FALSE otherwise and for EVT_WIZARD_PAGE_CHANGED return TRUE if we came
|
// FALSE otherwise and for EVT_WIZARD_PAGE_CHANGED return TRUE if we came
|
||||||
@@ -177,8 +178,11 @@ public:
|
|||||||
// (this function doesn't make sense for CANCEL events)
|
// (this function doesn't make sense for CANCEL events)
|
||||||
bool GetDirection() const { return m_direction; }
|
bool GetDirection() const { return m_direction; }
|
||||||
|
|
||||||
|
wxWizardPage* GetPage() const { return m_page; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_direction;
|
bool m_direction;
|
||||||
|
wxWizardPage* m_page;
|
||||||
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxWizardEvent)
|
DECLARE_DYNAMIC_CLASS(wxWizardEvent)
|
||||||
};
|
};
|
||||||
@@ -191,6 +195,7 @@ BEGIN_DECLARE_EVENT_TYPES()
|
|||||||
DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED, 900)
|
DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED, 900)
|
||||||
DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING, 901)
|
DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING, 901)
|
||||||
DECLARE_EVENT_TYPE(wxEVT_WIZARD_CANCEL, 902)
|
DECLARE_EVENT_TYPE(wxEVT_WIZARD_CANCEL, 902)
|
||||||
|
DECLARE_EVENT_TYPE(wxEVT_WIZARD_HELP, 903)
|
||||||
END_DECLARE_EVENT_TYPES()
|
END_DECLARE_EVENT_TYPES()
|
||||||
|
|
||||||
typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
|
typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
|
||||||
@@ -206,6 +211,9 @@ typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
|
|||||||
// unless the event handler vetoes the event
|
// unless the event handler vetoes the event
|
||||||
#define EVT_WIZARD_CANCEL(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_CANCEL, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxWizardEventFunction) & fn, (wxObject *)NULL),
|
#define EVT_WIZARD_CANCEL(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_CANCEL, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxWizardEventFunction) & fn, (wxObject *)NULL),
|
||||||
|
|
||||||
|
// the user pressed "Help" button
|
||||||
|
#define EVT_WIZARD_HELP(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_HELP, id, -1, (wxObjectEventFunction) (wxEventFunction) wxWizardEventFunction) & fn, (wxObject *)NULL),
|
||||||
|
|
||||||
#endif // wxUSE_WIZARDDLG
|
#endif // wxUSE_WIZARDDLG
|
||||||
|
|
||||||
#endif // _WX_WIZARD_H_
|
#endif // _WX_WIZARD_H_
|
||||||
|
@@ -57,10 +57,13 @@ WX_DEFINE_ARRAY(wxPanel *, wxArrayPages);
|
|||||||
DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED)
|
DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING)
|
DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_WIZARD_CANCEL)
|
DEFINE_EVENT_TYPE(wxEVT_WIZARD_CANCEL)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_WIZARD_HELP)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxWizard, wxDialog)
|
BEGIN_EVENT_TABLE(wxWizard, wxDialog)
|
||||||
EVT_BUTTON(wxID_CANCEL, wxWizard::OnCancel)
|
EVT_BUTTON(wxID_CANCEL, wxWizard::OnCancel)
|
||||||
EVT_BUTTON(-1, wxWizard::OnBackOrNext)
|
EVT_BUTTON(wxID_BACKWARD, wxWizard::OnBackOrNext)
|
||||||
|
EVT_BUTTON(wxID_FORWARD, wxWizard::OnBackOrNext)
|
||||||
|
EVT_BUTTON(wxID_HELP, wxWizard::OnHelp)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxWizard, wxDialog)
|
IMPLEMENT_DYNAMIC_CLASS(wxWizard, wxDialog)
|
||||||
@@ -410,6 +413,21 @@ void wxWizard::OnBackOrNext(wxCommandEvent& event)
|
|||||||
(void)ShowPage(page, forward);
|
(void)ShowPage(page, forward);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxWizard::OnHelp(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
// this function probably can never be called when we don't have an active
|
||||||
|
// page, but a small extra check won't hurt
|
||||||
|
if(m_page != NULL)
|
||||||
|
{
|
||||||
|
// Create and send the help event to the specific page handler
|
||||||
|
// event data contains the active page so that context-sensitive
|
||||||
|
// help is possible
|
||||||
|
wxWizardEvent eventHelp(wxEVT_WIZARD_HELP, GetId(), TRUE, m_page);
|
||||||
|
(void)m_page->GetEventHandler()->ProcessEvent(eventHelp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// our public interface
|
// our public interface
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -429,10 +447,13 @@ wxWizard *wxWizardBase::Create(wxWindow *parent,
|
|||||||
// wxWizardEvent
|
// wxWizardEvent
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxWizardEvent::wxWizardEvent(wxEventType type, int id, bool direction)
|
wxWizardEvent::wxWizardEvent(wxEventType type, int id, bool direction, wxWizardPage* page)
|
||||||
: wxNotifyEvent(type, id)
|
: wxNotifyEvent(type, id)
|
||||||
{
|
{
|
||||||
|
// Modified 10-20-2001 Robert Cavanaugh
|
||||||
|
// add the active page to the event data
|
||||||
m_direction = direction;
|
m_direction = direction;
|
||||||
|
m_page = page;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // wxUSE_WIZARDDLG
|
#endif // wxUSE_WIZARDDLG
|
||||||
|
Reference in New Issue
Block a user