X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..c437b3f4e47b74715a2f2385d4862972babd7802:/samples/layout/layout.h diff --git a/samples/layout/layout.h b/samples/layout/layout.h index e70addbe1a..d7a8f8ef72 100644 --- a/samples/layout/layout.h +++ b/samples/layout/layout.h @@ -5,7 +5,7 @@ // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -13,62 +13,139 @@ class MyApp: public wxApp { public: - MyApp(); + MyApp(){}; bool OnInit(); }; -// Define a new frame -class MyTextWindow; -class MyWindow; - -class MyFrame: public wxFrame +// the main frame class +class MyFrame : public wxFrame { public: - MyFrame(wxFrame *frame, const char *title, int x, int y, int w, int h); - - void OnQuit(wxCommandEvent& event); + MyFrame(); - void TestSizers(wxCommandEvent& event); + void TestProportions(wxCommandEvent& event); + void TestFlexSizers(wxCommandEvent& event); void TestNotebookSizers(wxCommandEvent& event); - void About(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); private: DECLARE_EVENT_TABLE() }; -// Define a new text subwindow that can respond to drag-and-drop -class MyTextWindow: public wxTextCtrl +// 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: - 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) - { - } + MyFlexSizerFrame(const wxString &title, int x, int y ); + +private: + void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent); +}; + +// a dialog using notebook sizer for layout +class MySizerDialog : public wxDialog +{ +public: + MySizerDialog(wxWindow *parent, const wxString &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 OnPaint(wxPaintEvent& event); + MyGridBagSizerFrame(const wxString &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() +}; + + +// a frame for testing simple setting of "default size" +class MySimpleSizerFrame : public wxFrame +{ +public: + MySimpleSizerFrame(const wxString &title, int x, int y ); + + void OnSetSmallSize( wxCommandEvent &event); + void OnSetBigSize( wxCommandEvent &event); + +private: + wxTextCtrl *m_target; + DECLARE_EVENT_TABLE() }; -class MySizerFrame: public wxFrame + +// 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(const wxString &title, int x, int y ); + + +private: + wxTextCtrl *m_target; +}; + +// a frame with several wrapping sizers + +class MyWrapSizerFrame: public wxFrame { public: - wxPanel *panel; - MySizerFrame(wxFrame *frame, char *title, int x, int y ); + MyWrapSizerFrame(const wxString &title, int x, int y ); +}; + +// controls and menu constants +enum +{ + LAYOUT_TEST_SIZER = 101, + LAYOUT_TEST_NB_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 }; -#define LAYOUT_QUIT 100 -#define LAYOUT_TEST 101 -#define LAYOUT_ABOUT 102 -#define LAYOUT_TEST_SIZER 104 -#define LAYOUT_TEST_NB 105