X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6aa89a22b8e47000c98bff05c6f545f331f1c353..740af654d1d20aaccad331e0eb73d113b5c0b02f:/samples/layout/layout.h diff --git a/samples/layout/layout.h b/samples/layout/layout.h index 0ee6ccc438..f66fbec37b 100644 --- a/samples/layout/layout.h +++ b/samples/layout/layout.h @@ -13,7 +13,7 @@ class MyApp: public wxApp { public: - MyApp(); + MyApp(){}; bool OnInit(); }; @@ -23,9 +23,10 @@ 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 OnAbout(wxCommandEvent& event); void OnQuit(wxCommandEvent& event); @@ -34,11 +35,20 @@ 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 @@ -48,9 +58,10 @@ public: MyFlexSizerFrame(const wxChar *title, int x, int y ); private: - void InitFlexSizer(wxFlexGridSizer *sizer); + void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent); }; + // a dialog using notebook sizer for layout class MySizerDialog : public wxDialog { @@ -58,13 +69,43 @@ public: MySizerDialog(wxWindow *parent, const wxChar *title); }; -// controls an menu constants + +// a frame using wxGridBagSizer for layout +class MyGridBagSizerFrame : public wxFrame +{ +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() +}; + + + + + +// controls and menu constants enum { - LAYOUT_QUIT = 100, - LAYOUT_ABOUT, - LAYOUT_TEST_CONSTRAINTS, - LAYOUT_TEST_SIZER, - LAYOUT_TEST_NB_SIZER + LAYOUT_TEST_SIZER = 101, + LAYOUT_TEST_NB_SIZER, + LAYOUT_TEST_GB_SIZER, + LAYOUT_TEST_PROPORTIONS, + LAYOUT_QUIT = wxID_EXIT, + LAYOUT_ABOUT = wxID_ABOUT };