]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/widgets.cpp
Fixed the code to actually work.
[wxWidgets.git] / samples / widgets / widgets.cpp
index d8994358665d9e3d3fb8e43e0ecaa85f639fc414..3be389590501c7fca34ebe1e327ffe320c66aee7 100644 (file)
@@ -28,7 +28,6 @@
 #ifndef WX_PRECOMP
     #include "wx/app.h"
     #include "wx/log.h"
-    #include "wx/panel.h"
     #include "wx/frame.h"
     #include "wx/button.h"
     #include "wx/checkbox.h"
@@ -143,7 +142,7 @@ private:
         }
     }
 
-    virtual void DoLogString(const wxChar *szString, time_t t)
+    virtual void DoLogString(const wxChar *szString, time_t WXUNUSED(t))
     {
         wxString msg;
         TimeStamp(&msg);
@@ -165,7 +164,7 @@ private:
 };
 
 // array of pages
-WX_DEFINE_ARRAY(WidgetsPage *, ArrayWidgetsPage);
+WX_DEFINE_ARRAY_PTR(WidgetsPage *, ArrayWidgetsPage);
 
 // ----------------------------------------------------------------------------
 // misc macros
@@ -192,17 +191,24 @@ END_EVENT_TABLE()
 
 bool WidgetsApp::OnInit()
 {
+    if ( !wxApp::OnInit() )
+        return FALSE;
+
     // the reason for having these ifdef's is that I often run two copies of
     // this sample side by side and it is useful to see which one is which
     wxString title;
 #if defined(__WXUNIVERSAL__)
-    title = _T("wxUniv/")
+    title = _T("wxUniv/");
 #endif
 
 #if defined(__WXMSW__)
     title += _T("wxMSW");
 #elif defined(__WXGTK__)
     title += _T("wxGTK");
+#elif defined(__WXMAC__)
+    title += _T("wxMAC");
+#elif defined(__WXMOTIF__)
+    title += _T("wxMOTIF");
 #else
     title += _T("wxWindows");
 #endif
@@ -212,6 +218,7 @@ bool WidgetsApp::OnInit()
 
     //wxLog::AddTraceMask(_T("listbox"));
     //wxLog::AddTraceMask(_T("scrollbar"));
+    //wxLog::AddTraceMask(_T("focus"));
 
     return TRUE;
 }
@@ -221,7 +228,12 @@ bool WidgetsApp::OnInit()
 // ----------------------------------------------------------------------------
 
 WidgetsFrame::WidgetsFrame(const wxString& title)
-            : wxFrame(NULL, -1, title, wxPoint(0, 50))
+            : wxFrame(NULL, -1, title,
+                      wxPoint(0, 50), wxDefaultSize,
+                      wxDEFAULT_FRAME_STYLE |
+                      wxNO_FULL_REPAINT_ON_RESIZE |
+                      wxCLIP_CHILDREN |
+                      wxTAB_TRAVERSAL)
 {
     // init everything
     m_lboxLog = (wxListBox *)NULL;
@@ -230,14 +242,14 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
     m_imaglist = (wxImageList *)NULL;
 
     // create controls
-    m_panel = new wxPanel(this, -1);
+    m_panel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN);
 
     wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
 
     // we have 2 panes: notebook which pages demonstrating the controls in the
     // upper one and the log window with some buttons in the lower
 
-    m_notebook = new wxNotebook(m_panel, -1);
+    m_notebook = new wxNotebook(m_panel, -1, wxDefaultPosition, wxDefaultSize, wxNO_FULL_REPAINT_ON_RESIZE|wxCLIP_CHILDREN);
     InitNotebook();
     wxSizer *sizerUp = new wxNotebookSizer(m_notebook);
 
@@ -249,6 +261,8 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
                              );
     m_lboxLog = new wxListBox(m_panel, -1);
     sizerDown->Add(m_lboxLog, 1, wxGROW | wxALL, 5);
+    sizerDown->SetMinSize(100, 150);
+
     wxBoxSizer *sizerBtns = new wxBoxSizer(wxHORIZONTAL);
     wxButton *btn = new wxButton(m_panel, Widgets_ClearLog, _T("Clear &log"));
     sizerBtns->Add(btn);
@@ -324,7 +338,7 @@ void WidgetsFrame::OnButtonQuit(wxCommandEvent& WXUNUSED(event))
     Close();
 }
 
-void WidgetsFrame::OnButtonClearLog(wxCommandEvent& event)
+void WidgetsFrame::OnButtonClearLog(wxCommandEvent& WXUNUSED(event))
 {
     m_lboxLog->Clear();
 }
@@ -349,7 +363,11 @@ WidgetsPageInfo::WidgetsPageInfo(Constructor ctor, const wxChar *label)
 // ----------------------------------------------------------------------------
 
 WidgetsPage::WidgetsPage(wxNotebook *notebook)
-           : wxPanel(notebook, -1)
+           : wxPanel(notebook, -1,
+                     wxDefaultPosition, wxDefaultSize,
+                     wxNO_FULL_REPAINT_ON_RESIZE |
+                     wxCLIP_CHILDREN |
+                     wxTAB_TRAVERSAL)
 {
 }
 
@@ -358,7 +376,8 @@ wxSizer *WidgetsPage::CreateSizerWithText(wxControl *control,
                                           wxTextCtrl **ppText)
 {
     wxSizer *sizerRow = new wxBoxSizer(wxHORIZONTAL);
-    wxTextCtrl *text = new wxTextCtrl(this, id, _T(""));
+    wxTextCtrl *text = new wxTextCtrl(this, id, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
+
     sizerRow->Add(control, 0, wxRIGHT | wxALIGN_CENTRE_VERTICAL, 5);
     sizerRow->Add(text, 1, wxLEFT | wxALIGN_CENTRE_VERTICAL, 5);