]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/layout/layout.cpp
a simpler fix of textctrl key doubling bug
[wxWidgets.git] / samples / layout / layout.cpp
index c5318f1abd544b021dadd6b13b8fb9844cd85213..23209958d2c2d893b3275a89960b2c2181a902ba 100644 (file)
 #include "wx/wx.h"
 #endif
 
-#if !USE_CONSTRAINTS
-#error You must set USE_CONSTRAINTS to 1 in wx_setup.h!
+#if !wxUSE_CONSTRAINTS
+#error You must set wxUSE_CONSTRAINTS to 1 in setup.h!
 #endif
 
 #include <ctype.h>
 #include "layout.h"
 
 // Declare two frames
-MyFrame   *frame = NULL;
-wxMenuBar *menu_bar = NULL;
+MyFrame   *frame = (MyFrame *) NULL;
+wxMenuBar *menu_bar = (wxMenuBar *) NULL;
 
 IMPLEMENT_APP(MyApp)
 
-#ifdef __X__
-#include "aiai.xbm"
-#endif
-
 MyApp::MyApp()
 {
 }
@@ -44,21 +40,13 @@ MyApp::MyApp()
 bool MyApp::OnInit(void)
 {
   // Create the main frame window
-  frame = new MyFrame(NULL, "wxWindows Layout Demo", 0, 0, 550, 500);
+  frame = new MyFrame((MyFrame *) NULL, (char *) "wxWindows Layout Demo", 0, 0, 550, 500);
 
   frame->SetAutoLayout(TRUE);
 
   // Give it a status line
   frame->CreateStatusBar(2);
 
-  // Load icon and bitmap
-#ifdef __WXMSW__
-  frame->SetIcon(wxIcon("aiai_icn"));
-#endif
-#ifdef __X__
-  frame->SetIcon(wxIcon(aiai_bits, aiai_width, aiai_height));
-#endif
-
   // Make a menubar
   wxMenu *file_menu = new wxMenu;
 
@@ -168,9 +156,9 @@ bool MyApp::OnInit(void)
 MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
   wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
 {
-  panel = NULL;
-  text_window = NULL;
-  canvas = NULL;
+  panel = (wxPanel *) NULL;
+  text_window = (MyTextWindow *) NULL;
+  canvas = (MyWindow *) NULL;
 }
 
 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
@@ -181,10 +169,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
   EVT_SIZE(MyFrame::OnSize)
 END_EVENT_TABLE()
 
-void MyFrame::LoadFile(wxCommandEvent& event)
+void MyFrame::LoadFile(wxCommandEvent& WXUNUSED(event) )
 {
-      char *s = wxFileSelector("Load text file", NULL, NULL, NULL, "*.txt");
-      if (s)
+      wxString s = wxFileSelector("Load text file", (const char *) NULL, (const char *) NULL, (const char *) NULL, "*.txt");
+      if (s != "")
       {
 #ifdef __WXMSW__
         frame->text_window->LoadFile(s);
@@ -192,47 +180,47 @@ void MyFrame::LoadFile(wxCommandEvent& event)
       }
 }
 
-void MyFrame::Quit(wxCommandEvent& event)
+void MyFrame::Quit(wxCommandEvent& WXUNUSED(event) )
 {
       this->Close(TRUE);
 }
 
-void MyFrame::TestSizers(wxCommandEvent& event)
+void MyFrame::TestSizers(wxCommandEvent& WXUNUSED(event) )
 {
-  SizerFrame *newFrame = new SizerFrame(NULL, "Sizer Test Frame", 50, 50, 500, 500);
+  SizerFrame *newFrame = new SizerFrame((MyFrame *) NULL, (char *) "Sizer Test Frame", 50, 50, 500, 500);
   newFrame->Show(TRUE);
 }
 
-void MyFrame::About(wxCommandEvent& event)
+void MyFrame::About(wxCommandEvent& WXUNUSED(event) )
 {
       (void)wxMessageBox("wxWindows GUI library layout demo\n",
             "About Layout Demo", wxOK|wxCENTRE);
 }
 
 // Size the subwindows when the frame is resized
-void MyFrame::OnSize(wxSizeEvent& event)
+void MyFrame::OnSize(wxSizeEvent& WXUNUSED(event) )
 {
     Layout();
 }
 
-void MyFrame::Draw(wxDC& dc, bool draw_bitmaps)
+void MyFrame::Draw(wxDC& dc, bool WXUNUSED(draw_bitmaps) )
 {
-  dc.SetPen(wxGREEN_PEN);
-  dc.DrawLine(0.0, 0.0, 200.0, 200.0);
-  dc.DrawLine(200.0, 0.0, 0.0, 200.0);
+  dc.SetPen(wxGREEN_PEN);
+  dc.DrawLine(0, 0, 200, 200);
+  dc.DrawLine(200, 0, 0, 200);
 
-  dc.SetBrush(wxCYAN_BRUSH);
-  dc.SetPen(wxRED_PEN);
+  dc.SetBrush(wxCYAN_BRUSH);
+  dc.SetPen(wxRED_PEN);
 
-  dc.DrawRectangle(100.0, 100.0, 100.0, 50.0);
-  dc.DrawRoundedRectangle(150.0, 150.0, 100.0, 50.0,20.0);
+  dc.DrawRectangle(100, 100, 100, 50);
+  dc.DrawRoundedRectangle(150, 150, 100, 50, 20);
 
-  dc.DrawEllipse(250.0, 250.0, 100.0, 50.0);
-  dc.DrawSpline(50.0, 200.0, 50.0, 100.0, 200.0, 10.0);
-  dc.DrawLine(50.0, 230.0, 200.0, 230.0);
+  dc.DrawEllipse(250, 250, 100, 50);
+  dc.DrawSpline(50, 200, 50, 100, 200, 10);
+  dc.DrawLine(50, 230, 200, 230);
 
-  dc.SetPen(wxBLACK_PEN);
-  dc.DrawArc(50.0, 300.0, 100.0, 250.0, 100.0, 300.0);
+  dc.SetPen(wxBLACK_PEN);
+  dc.DrawArc(50, 300, 100, 250, 100, 300 );
 }
 
 BEGIN_EVENT_TABLE(MyWindow, wxWindow)
@@ -250,20 +238,12 @@ MyWindow::~MyWindow(void)
 }
 
 // Define the repainting behaviour
-void MyWindow::OnPaint(wxPaintEvent& event)
+void MyWindow::OnPaint(wxPaintEvent& WXUNUSED(event) )
 {
   wxPaintDC dc(this);
   frame->Draw(dc,TRUE);
 }
 
-// Define the behaviour for the frame closing
-// - must delete all frames except for the main one.
-bool MyFrame::OnClose(void)
-{
-  Show(FALSE);
-
-  return TRUE;
-}
 
 SizerFrame::SizerFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
   wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
@@ -358,10 +338,3 @@ void SizerFrame::OnSize(wxSizeEvent& event)
   panel->Layout();
 }
 
-bool SizerFrame::OnClose(void)
-{
-  Show(FALSE);
-
-  return TRUE;
-}
-