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:
Vadim Zeitlin
2001-11-02 17:29:38 +00:00
parent a0a48a3f0d
commit f80bf90194
6 changed files with 43 additions and 4 deletions

View File

@@ -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:

View File

@@ -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}

View File

@@ -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.

View File

@@ -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;

View File

@@ -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_

View File

@@ -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