]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dynamic/dynamic.cpp
Updated version to 2.5.5
[wxWidgets.git] / samples / dynamic / dynamic.cpp
index 308b391f82be748e4272851bbadfb77d3742e3a1..55b3b400a7e17bba422ef17a81ebe9364d7af4cf 100644 (file)
@@ -1,11 +1,11 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        dynamic.cpp
-// Purpose:     Dynamic events wxWindows sample
+// Purpose:     Dynamic events wxWidgets sample
 // Author:      Julian Smart
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// Copyright:   (c) Julian Smart
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
@@ -25,7 +25,7 @@
 #include "wx/wx.h"
 #endif
 
-#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__)
+#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXCOCOA__)
 #include "mondrian.xpm"
 #endif
 
@@ -38,7 +38,7 @@ class MyApp: public wxApp
 // Define a new frame type
 class MyFrame: public wxFrame
 { public:
-    MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
+    MyFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h);
 
  public:
     void OnQuit(wxCommandEvent& event);
@@ -57,18 +57,17 @@ IMPLEMENT_APP  (MyApp)
 bool MyApp::OnInit(void)
 {
   // Create the main frame window
-  MyFrame *frame = new MyFrame(NULL, "Dynamic wxWindows App", 50, 50, 450, 340);
+  MyFrame *frame = new MyFrame(NULL, _T("Dynamic wxWidgets App"), 50, 50, 450, 340);
 
-  frame->Connect( DYNAMIC_QUIT,  -1, wxEVT_COMMAND_MENU_SELECTED,
-                  (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
-                  &MyFrame::OnQuit );
-  frame->Connect( DYNAMIC_ABOUT, -1, wxEVT_COMMAND_MENU_SELECTED,
-                  (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction)
-                  &MyFrame::OnAbout );
+  // You used to have to do some casting for param 4, but now there are type-safe handlers
+  frame->Connect( DYNAMIC_QUIT,  wxID_ANY, 
+                    wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyFrame::OnQuit) );
+  frame->Connect( DYNAMIC_ABOUT, wxID_ANY, 
+                    wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyFrame::OnAbout) );
 
   // Give it an icon
 #ifdef __WXMSW__
-  frame->SetIcon(wxIcon("mondrian"));
+  frame->SetIcon(wxIcon(_T("mondrian")));
 #else
   frame->SetIcon(wxIcon(mondrian_xpm));
 #endif
@@ -76,39 +75,39 @@ bool MyApp::OnInit(void)
   // Make a menubar
   wxMenu *file_menu = new wxMenu;
 
-  file_menu->Append(DYNAMIC_ABOUT, "&About");
-  file_menu->Append(DYNAMIC_QUIT, "E&xit");
+  file_menu->Append(DYNAMIC_ABOUT, _T("&About"));
+  file_menu->Append(DYNAMIC_QUIT, _T("E&xit"));
   wxMenuBar *menu_bar = new wxMenuBar;
-  menu_bar->Append(file_menu, "&File");
+  menu_bar->Append(file_menu, _T("&File"));
   frame->SetMenuBar(menu_bar);
 
   // Make a panel with a message
-  wxPanel *panel = new wxPanel(frame, -1, wxPoint(0, 0), wxSize(400, 200), wxTAB_TRAVERSAL);
+  wxPanel *panel = new wxPanel(frame, wxID_ANY, wxPoint(0, 0), wxSize(400, 200), wxTAB_TRAVERSAL);
 
-  (void)new wxStaticText(panel, 311, "Hello!", wxPoint(10, 10), wxSize(-1, -1), 0);
+  (void)new wxStaticText(panel, 311, _T("Hello!"), wxPoint(10, 10), wxDefaultSize, 0);
 
   // Show the frame
-  frame->Show(TRUE);
+  frame->Show(true);
 
   SetTopWindow(frame);
 
-  return TRUE;
+  return true;
 }
 
 // My frame constructor
-MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
-  wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
+MyFrame::MyFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h):
+  wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h))
 {}
 
 void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )
 {
-  Close(TRUE);
+  Close(true);
 }
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 {
-  wxMessageDialog dialog(this, "This demonstrates dynamic event handling",
-    "About Dynamic", wxYES_NO|wxCANCEL);
+  wxMessageDialog dialog(this, _T("This demonstrates dynamic event handling"),
+    _T("About Dynamic"), wxYES_NO|wxCANCEL);
 
   dialog.ShowModal();
 }