X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20b35a6916b9b54af4bbfe4227393c08cd9a2724..e1efca652844273c3e8d32c7e5f442b87e455ca7:/samples/layout/layout.h diff --git a/samples/layout/layout.h b/samples/layout/layout.h index 5090116476..4b9edcad45 100644 --- a/samples/layout/layout.h +++ b/samples/layout/layout.h @@ -6,14 +6,14 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // Define a new application class MyApp: public wxApp { public: - MyApp(); + MyApp(){}; bool OnInit(); }; @@ -23,11 +23,14 @@ class MyFrame : public wxFrame public: MyFrame(); - void TestConstraints(wxCommandEvent& event); + 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); @@ -35,21 +38,30 @@ private: DECLARE_EVENT_TABLE() }; -// a frame using constraints for layout -class MyConstraintsFrame : public wxFrame +// a frame showing the box sizer proportions +class MyProportionsFrame : public wxFrame { public: - MyConstraintsFrame(const wxChar *title, int x, int y ); + 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(const wxString &title, int x, int y ); private: - void InitFlexSizer(wxFlexGridSizer *sizer); + void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent); }; @@ -57,7 +69,7 @@ private: class MySizerDialog : public wxDialog { public: - MySizerDialog(wxWindow *parent, const wxChar *title); + MySizerDialog(wxWindow *parent, const wxString &title ); }; @@ -65,12 +77,12 @@ public: class MyGridBagSizerFrame : public wxFrame { public: - MyGridBagSizerFrame(const wxChar *title, int x, int y ); + MyGridBagSizerFrame(const wxString &title, int x, int y ); void OnHideBtn(wxCommandEvent&); void OnShowBtn(wxCommandEvent&); void OnMoveBtn(wxCommandEvent&); - + private: wxGridBagSizer* m_gbs; wxPanel* m_panel; @@ -81,22 +93,59 @@ private: 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() +}; +// 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: + MyWrapSizerFrame(const wxString &title, int x, int y ); +}; + // controls and menu constants enum { - LAYOUT_QUIT = 100, - LAYOUT_ABOUT, - LAYOUT_TEST_CONSTRAINTS, - 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 };