class MyApp: public wxApp
{
public:
- MyApp();
+ MyApp(){};
bool OnInit();
};
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);
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);
};
+
// a dialog using notebook sizer for layout
class MySizerDialog : public wxDialog
{
public:
- MySizerDialog(wxWindow *parent, const wxChar *title);
+ MySizerDialog(wxWindow *parent, const wxString &title );
+};
+
+
+// a frame using wxGridBagSizer for layout
+class MyGridBagSizerFrame : public wxFrame
+{
+public:
+ 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()
+};
+
+
+// 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 an menu constants
+// 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_TEST_SET_MINIMAL,
+ LAYOUT_TEST_NESTED,
+ LAYOUT_TEST_WRAP,
+ LAYOUT_QUIT = wxID_EXIT,
+ LAYOUT_ABOUT = wxID_ABOUT
};