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:
parent
a0a48a3f0d
commit
f80bf90194
@ -46,7 +46,7 @@ All (GUI):
|
||||
- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
|
||||
- fixed bug with using wxExecute() to capture huge amounts of output
|
||||
- new wxCalendarCtrl styles added (Søren Erland Vestø)
|
||||
- wxWizardPage can be loaded from WXR (Robert Cavanaugh)
|
||||
- wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
|
||||
- wxDirSelector() added (Paul A. Thiessen)
|
||||
|
||||
wxHTML:
|
||||
|
@ -53,6 +53,7 @@ changed (this event can not be vetoed).}
|
||||
changed (this event can be vetoed).}
|
||||
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
||||
the wizard (this event may also be vetoed).}
|
||||
\twocolitem{{\bf EVT\_WIZARD\_HELP(id, func)}}{The wizard help button was pressed.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{Extended styles}
|
||||
|
@ -39,6 +39,7 @@ changed (this event can not be vetoed).}
|
||||
changed (this event can be vetoed).}
|
||||
\twocolitem{{\bf EVT\_WIZARD\_CANCEL(id, func)}}{The user attempted to cancel
|
||||
the wizard (this event may also be vetoed).}
|
||||
\twocolitem{{\bf EVT\_WIZARD\_HELP(id, func)}}{The wizard help button was pressed.}
|
||||
\end{twocollist}%
|
||||
|
||||
\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
|
||||
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
|
||||
void OnCancel(wxCommandEvent& event);
|
||||
void OnBackOrNext(wxCommandEvent& event);
|
||||
void OnHelp(wxCommandEvent& event);
|
||||
|
||||
// the page size requested by user
|
||||
wxSize m_sizePage;
|
||||
|
@ -169,7 +169,8 @@ class WXDLLEXPORT wxWizardEvent : public wxNotifyEvent
|
||||
public:
|
||||
wxWizardEvent(wxEventType type = wxEVT_NULL,
|
||||
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
|
||||
// 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)
|
||||
bool GetDirection() const { return m_direction; }
|
||||
|
||||
wxWizardPage* GetPage() const { return m_page; }
|
||||
|
||||
private:
|
||||
bool m_direction;
|
||||
wxWizardPage* m_page;
|
||||
|
||||
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_CHANGING, 901)
|
||||
DECLARE_EVENT_TYPE(wxEVT_WIZARD_CANCEL, 902)
|
||||
DECLARE_EVENT_TYPE(wxEVT_WIZARD_HELP, 903)
|
||||
END_DECLARE_EVENT_TYPES()
|
||||
|
||||
typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
|
||||
@ -206,6 +211,9 @@ typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);
|
||||
// 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),
|
||||
|
||||
// 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 // _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_CHANGING)
|
||||
DEFINE_EVENT_TYPE(wxEVT_WIZARD_CANCEL)
|
||||
DEFINE_EVENT_TYPE(wxEVT_WIZARD_HELP)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxWizard, wxDialog)
|
||||
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()
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxWizard, wxDialog)
|
||||
@ -410,6 +413,21 @@ void wxWizard::OnBackOrNext(wxCommandEvent& event)
|
||||
(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
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -429,10 +447,13 @@ wxWizard *wxWizardBase::Create(wxWindow *parent,
|
||||
// wxWizardEvent
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxWizardEvent::wxWizardEvent(wxEventType type, int id, bool direction)
|
||||
wxWizardEvent::wxWizardEvent(wxEventType type, int id, bool direction, wxWizardPage* page)
|
||||
: wxNotifyEvent(type, id)
|
||||
{
|
||||
// Modified 10-20-2001 Robert Cavanaugh
|
||||
// add the active page to the event data
|
||||
m_direction = direction;
|
||||
m_page = page;
|
||||
}
|
||||
|
||||
#endif // wxUSE_WIZARDDLG
|
||||
|
Loading…
Reference in New Issue
Block a user