]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/layout/layout.h
Include <fcntl.h> from a header using fcntl().
[wxWidgets.git] / samples / layout / layout.h
index 9b91dbd74e933b3be79010ee9ac3532a82db306d..fc1d1b64cfee9651c4e58bdfff934d10627a5331 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Define a new application
@@ -23,9 +23,13 @@ class MyFrame : public wxFrame
 public:
     MyFrame();
 
+    void TestProportions(wxCommandEvent& event);
     void TestFlexSizers(wxCommandEvent& event);
     void TestNotebookSizers(wxCommandEvent& event);
     void TestGridBagSizer(wxCommandEvent& event);
+    void TestNested(wxCommandEvent& event);
+    void TestSetMinimal(wxCommandEvent& event);
+    void TestWrap(wxCommandEvent& event);
 
     void OnAbout(wxCommandEvent& event);
     void OnQuit(wxCommandEvent& event);
@@ -34,11 +38,27 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
+// a frame showing the box sizer proportions
+class MyProportionsFrame : public wxFrame
+{
+public:
+    MyProportionsFrame(wxFrame *parent);
+
+protected:
+    void UpdateProportions();
+
+    void OnProportionChanged(wxSpinEvent& event);
+    void OnProportionUpdated(wxCommandEvent& event);
+
+    wxSpinCtrl *m_spins[3]; // size can be changed without changing anything else
+    wxSizer *m_sizer;
+};
+
 // a frame using flex sizers for layout
 class MyFlexSizerFrame : public wxFrame
 {
 public:
-    MyFlexSizerFrame(const wxChar *title, int x, int y );
+    MyFlexSizerFrame(wxFrame* parent);
 
 private:
     void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent);
@@ -49,7 +69,7 @@ private:
 class MySizerDialog : public wxDialog
 {
 public:
-    MySizerDialog(wxWindow *parent, const wxChar *title);
+    MySizerDialog(wxWindow *parent, const wxString &title );
 };
 
 
@@ -57,7 +77,7 @@ public:
 class MyGridBagSizerFrame : public wxFrame
 {
 public:
-    MyGridBagSizerFrame(const wxChar *title, int x, int y );
+    MyGridBagSizerFrame(wxFrame* parent);
 
     void OnHideBtn(wxCommandEvent&);
     void OnShowBtn(wxCommandEvent&);
@@ -78,16 +98,65 @@ private:
 };
 
 
+// a frame for testing simple setting of "default size"
+class MySimpleSizerFrame : public wxFrame
+{
+public:
+    MySimpleSizerFrame(wxFrame* parent);
+
+    void OnSetSmallSize( wxCommandEvent &event);
+    void OnSetBigSize( wxCommandEvent &event);
+
+private:
+    wxTextCtrl  *m_target;
+
+    DECLARE_EVENT_TABLE()
+};
+
+
+// a frame for testing simple setting of a frame containing
+// a sizer containing a panel containing a sizer containing
+// controls
+class MyNestedSizerFrame : public wxFrame
+{
+public:
+    MyNestedSizerFrame(wxFrame* parent);
+
+
+private:
+    wxTextCtrl  *m_target;
+};
+
+// a frame with several wrapping sizers
+
+class MyWrapSizerFrame: public wxFrame
+{
+public:
+    MyWrapSizerFrame(wxFrame* parent);
+
+private:
+    void OnAddCheckbox(wxCommandEvent& event);
+    void OnRemoveCheckbox(wxCommandEvent& event);
+
+    void DoAddCheckbox();
 
+    wxWindow* m_checkboxParent;
+    wxSizer* m_wrapSizer;
 
+    DECLARE_EVENT_TABLE()
+};
 
 // controls and menu constants
 enum
 {
-    LAYOUT_QUIT = 100,
-    LAYOUT_ABOUT,
-    LAYOUT_TEST_SIZER,
+    LAYOUT_TEST_SIZER = 101,
     LAYOUT_TEST_NB_SIZER,
-    LAYOUT_TEST_GB_SIZER
+    LAYOUT_TEST_GB_SIZER,
+    LAYOUT_TEST_PROPORTIONS,
+    LAYOUT_TEST_SET_MINIMAL,
+    LAYOUT_TEST_NESTED,
+    LAYOUT_TEST_WRAP,
+    LAYOUT_QUIT = wxID_EXIT,
+    LAYOUT_ABOUT = wxID_ABOUT
 };