]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/layout/layout.h
The UseAntiAliasing is off by default on wxMac. Add a menu item to
[wxWidgets.git] / samples / layout / layout.h
index 7aad45fd8244a232e5dd5c06a8c230d203f78014..50901164762824b85b33c9365a8a5b5e1c81cb60 100644 (file)
@@ -5,72 +5,98 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 // Define a new application
 class MyApp: public wxApp
 {
-  public:
-    MyApp(void) ;
-    bool OnInit(void);
+public:
+    MyApp();
+    bool OnInit();
 };
 
-// Define a new frame
-class MyTextWindow;
-class MyWindow;
+// the main frame class
+class MyFrame : public wxFrame
+{
+public:
+    MyFrame();
+
+    void TestConstraints(wxCommandEvent& event);
+    void TestFlexSizers(wxCommandEvent& event);
+    void TestNotebookSizers(wxCommandEvent& event);
+    void TestGridBagSizer(wxCommandEvent& event);
+    
+    void OnAbout(wxCommandEvent& event);
+    void OnQuit(wxCommandEvent& event);
+
+private:
+    DECLARE_EVENT_TABLE()
+};
 
-class MyFrame: public wxFrame
+// a frame using constraints for layout
+class MyConstraintsFrame : public wxFrame
 {
-  public:
-    wxPanel *panel;
-    MyTextWindow *text_window;
-    MyWindow *canvas;
-    MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
-    void OnSize(wxSizeEvent& event);
-    void Draw(wxDC& dc, bool draw_bitmaps = TRUE);
-
-    void LoadFile(wxCommandEvent& event);
-    void Quit(wxCommandEvent& event);
-    void TestNewSizers(wxCommandEvent& event);
-    void About(wxCommandEvent& event);
-
-  DECLARE_EVENT_TABLE()
+public:
+    MyConstraintsFrame(const wxChar *title, int x, int y );
+};
+
+// a frame using flex sizers for layout
+class MyFlexSizerFrame : public wxFrame
+{
+public:
+    MyFlexSizerFrame(const wxChar *title, int x, int y );
+
+private:
+    void InitFlexSizer(wxFlexGridSizer *sizer);
 };
 
-// Define a new text subwindow that can respond to drag-and-drop
-class MyTextWindow: public wxTextCtrl
+
+// a dialog using notebook sizer for layout
+class MySizerDialog : public wxDialog
 {
-  public:
-  MyTextWindow(wxFrame *frame, int x=-1, int y=-1, int width=-1, int height=-1,
-               long style=wxTE_MULTILINE):
-    wxTextCtrl(frame, -1, "", wxPoint(x, y), wxSize(width, height), style)
-  {
-  }
+public:
+    MySizerDialog(wxWindow *parent, const wxChar *title);
 };
 
-// Define a new canvas which can receive some events
-class MyWindow: public wxWindow
+
+// a frame using wxGridBagSizer for layout
+class MyGridBagSizerFrame : public wxFrame
 {
-  public:
-    MyWindow(wxFrame *frame, int x, int y, int w, int h, long style = wxRETAINED);
-    ~MyWindow(void) ;
-    void OnPaint(wxPaintEvent& event);
+public:
+    MyGridBagSizerFrame(const wxChar *title, int x, int y );
+
+    void OnHideBtn(wxCommandEvent&);
+    void OnShowBtn(wxCommandEvent&);
+    void OnMoveBtn(wxCommandEvent&);
+    
+private:
+    wxGridBagSizer*     m_gbs;
+    wxPanel*            m_panel;
+    wxButton*           m_hideBtn;
+    wxButton*           m_showBtn;
+    wxTextCtrl*         m_hideTxt;
+
+    wxButton*           m_moveBtn1;
+    wxButton*           m_moveBtn2;
+    wxGBPosition        m_lastPos;
     
     DECLARE_EVENT_TABLE()
 };
 
-class NewSizerFrame: public wxFrame
+
+
+
+
+// controls and menu constants
+enum
 {
-  public:
-    wxPanel *panel;
-    NewSizerFrame(wxFrame *frame, char *title, int x, int y );
-    
+    LAYOUT_QUIT = 100,
+    LAYOUT_ABOUT,
+    LAYOUT_TEST_CONSTRAINTS,
+    LAYOUT_TEST_SIZER,
+    LAYOUT_TEST_NB_SIZER,
+    LAYOUT_TEST_GB_SIZER
 };
 
-#define LAYOUT_QUIT       100
-#define LAYOUT_TEST       101
-#define LAYOUT_ABOUT      102
-#define LAYOUT_LOAD_FILE  103
-#define LAYOUT_TEST_NEW   104