X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3417c2cd3d5cb05451270b5a09fe2355406158a3..9513c5b609740c15322f2284e5e8b9609eeaa069:/samples/layout/layout.h diff --git a/samples/layout/layout.h b/samples/layout/layout.h index 7aad45fd82..5090116476 100644 --- a/samples/layout/layout.h +++ b/samples/layout/layout.h @@ -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