+// the main frame class
+class MyFrame : public wxFrame
+{
+public:
+ MyFrame();
+
+ 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);
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+// 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:
+ MyFlexSizerFrame(const wxString &title, int x, int y );
+
+private:
+ void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent);
+};