X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/749bfe9a6de1187def2b26c0cbbb249c1548c1ac..5c3a7f71a6a9d40a64af96b587161adfb54f90af:/samples/event/event.cpp diff --git a/samples/event/event.cpp b/samples/event/event.cpp index 5f1426e4ef..4b07cd06e4 100644 --- a/samples/event/event.cpp +++ b/samples/event/event.cpp @@ -17,13 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(__APPLE__) - // DO NOT use event.cpp here, it breaks statics initialization in - // src/common/event.cpp and nothing works at all then! - #pragma implementation "eventsample.cpp" - #pragma interface "eventsample.cpp" -#endif - // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" @@ -37,30 +30,23 @@ #include "wx/wx.h" #endif +#ifndef __WXMSW__ + #include "../sample.xpm" +#endif + // ---------------------------------------------------------------------------- // event constants // ---------------------------------------------------------------------------- -// declare a custom event type -// -// note that in wxWin 2.3+ these macros expand simply into the following code: -// -// extern const wxEventType wxEVT_MY_CUSTOM_COMMAND; -// -// const wxEventType wxEVT_MY_CUSTOM_COMMAND = wxNewEventType(); -// -// and you may use this code directly if you don't care about 2.2 compatibility -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EVENT_TYPE(wxEVT_MY_CUSTOM_COMMAND, 7777) -END_DECLARE_EVENT_TYPES() - -DEFINE_EVENT_TYPE(wxEVT_MY_CUSTOM_COMMAND) +// define a custom event type (we don't need a separate declaration here but +// usually you would use a matching wxDECLARE_EVENT in a header) +wxDEFINE_EVENT(wxEVT_MY_CUSTOM_COMMAND, wxCommandEvent); // it may also be convenient to define an event table macro for this event type #define EVT_MY_CUSTOM_COMMAND(id, fn) \ DECLARE_EVENT_TABLE_ENTRY( \ wxEVT_MY_CUSTOM_COMMAND, id, wxID_ANY, \ - (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxCommandEventFunction, &fn ), \ + wxCommandEventHandler(fn), \ (wxObject *) NULL \ ), @@ -104,7 +90,7 @@ public: protected: // number of pushed event handlers - size_t m_nPush; + unsigned m_nPush; private: // any class wishing to process wxWidgets events must use this macro @@ -127,7 +113,7 @@ public: } private: - size_t m_level; + unsigned m_level; DECLARE_EVENT_TABLE() }; @@ -207,6 +193,9 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // create the main application window MyFrame *frame = new MyFrame(_T("Event wxWidgets Sample"), wxPoint(50, 50), wxSize(600, 340)); @@ -229,6 +218,8 @@ bool MyApp::OnInit() MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size) { + SetIcon(wxICON(sample)); + // init members m_nPush = 0; @@ -317,20 +308,18 @@ void MyFrame::OnConnect(wxCommandEvent& event) { if ( event.IsChecked() ) { - // disconnect - Connect(Event_Dynamic, wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, - (wxObjectEventFunction) - (wxEventFunction) - (wxCommandEventFunction)&MyFrame::OnDynamic); + Connect(Event_Dynamic, wxEVT_COMMAND_MENU_SELECTED, + wxCommandEventHandler(MyFrame::OnDynamic)); #if wxUSE_STATUSBAR SetStatusText(_T("You can now use \"Dynamic\" item in the menu")); SetStatusText(_T("Dynamic: on"), Status_Dynamic); #endif // wxUSE_STATUSBAR } - else // connect + else // disconnect { - Disconnect(Event_Dynamic, wxID_ANY, wxEVT_COMMAND_MENU_SELECTED); + Disconnect(Event_Dynamic, wxEVT_COMMAND_MENU_SELECTED, + wxCommandEventHandler(MyFrame::OnDynamic)); #if wxUSE_STATUSBAR SetStatusText(_T("You can no more use \"Dynamic\" item in the menu"));