]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't create multiple parent-less top level frames in layout sample.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 31 May 2013 23:21:21 +0000 (23:21 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 31 May 2013 23:21:21 +0000 (23:21 +0000)
This resulted in unexpected behaviour if the main frame was closed while the
other ones were still shown as they remained shown and had to be hunted and
closed one by one to make the application exit.

Fix this simply by creating all the other frames as children of the main one.
This also results in better UI when minimizing and restoring the main frame.

Also get rid of unused position parameters in child frame constructors and get
rid of the title parameter which is not really needed as it's always the same
too.

See #11923.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/layout/layout.cpp
samples/layout/layout.h

index d0684e9c209383b92b743bc9ce723236ff6dd6da..7cff4c878d31d678dc39f8f413ba2ac92d6b9d56 100644 (file)
@@ -203,8 +203,7 @@ void MyFrame::TestProportions(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::TestFlexSizers(wxCommandEvent& WXUNUSED(event) )
 {
-    MyFlexSizerFrame *newFrame = new MyFlexSizerFrame(wxT("Flex Sizer Test Frame"), 50, 50);
-    newFrame->Show(true);
+    (new MyFlexSizerFrame(this))->Show();
 }
 
 void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
@@ -216,20 +215,17 @@ void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
 
 void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
 {
-    MySimpleSizerFrame *newFrame = new MySimpleSizerFrame(wxT("Simple Sizer Test Frame"), 50, 50);
-    newFrame->Show(true);
+    (new MySimpleSizerFrame(this))->Show();
 }
 
 void MyFrame::TestNested(wxCommandEvent& WXUNUSED(event) )
 {
-    MyNestedSizerFrame *newFrame = new MyNestedSizerFrame(wxT("Nested Sizer Test Frame"), 50, 50);
-    newFrame->Show(true);
+    (new MyNestedSizerFrame(this))->Show();
 }
 
 void MyFrame::TestWrap(wxCommandEvent& WXUNUSED(event) )
 {
-    MyWrapSizerFrame *newFrame = new MyWrapSizerFrame(wxT("Wrap Sizer Test Frame"), 50, 50);
-    newFrame->Show(true);
+    (new MyWrapSizerFrame(this))->Show();
 }
 
 
@@ -241,9 +237,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 
 void MyFrame::TestGridBagSizer(wxCommandEvent& WXUNUSED(event) )
 {
-    MyGridBagSizerFrame *newFrame = new
-        MyGridBagSizerFrame(wxT("wxGridBagSizer Test Frame"), 50, 50);
-    newFrame->Show(true);
+    (new MyGridBagSizerFrame(this))->Show();
 }
 
 // ----------------------------------------------------------------------------
@@ -327,8 +321,8 @@ void MyFlexSizerFrame::InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent)
     }
 }
 
-MyFlexSizerFrame::MyFlexSizerFrame(const wxString &title, int x, int y )
-            : wxFrame(NULL, wxID_ANY, title, wxPoint(x, y) )
+MyFlexSizerFrame::MyFlexSizerFrame(wxFrame* parent)
+            : wxFrame(parent, wxID_ANY, "Flex Sizer Test Frame")
 {
     wxFlexGridSizer *sizerFlex;
     wxPanel* p = new wxPanel(this, wxID_ANY);
@@ -480,8 +474,8 @@ BEGIN_EVENT_TABLE(MyGridBagSizerFrame, wxFrame)
 END_EVENT_TABLE()
 
 
-MyGridBagSizerFrame::MyGridBagSizerFrame(const wxString &title, int x, int y )
-    : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
+MyGridBagSizerFrame::MyGridBagSizerFrame(wxFrame* parent)
+    : wxFrame(parent, wxID_ANY, "wxGridBagSizer Test Frame")
 {
     wxPanel* p = new wxPanel(this, wxID_ANY);
     m_panel = p;
@@ -594,8 +588,8 @@ BEGIN_EVENT_TABLE(MySimpleSizerFrame, wxFrame)
     EVT_MENU( ID_SET_BIG, MySimpleSizerFrame::OnSetBigSize)
 END_EVENT_TABLE()
 
-MySimpleSizerFrame::MySimpleSizerFrame(const wxString &title, int x, int y )
-    : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
+MySimpleSizerFrame::MySimpleSizerFrame(wxFrame* parent)
+    : wxFrame(parent, wxID_ANY, "Simple Sizer Test Frame")
 {
     wxMenu *menu = new wxMenu;
 
@@ -640,8 +634,8 @@ void MySimpleSizerFrame::OnSetBigSize( wxCommandEvent& WXUNUSED(event))
 // ----------------------------------------------------------------------------
 
 
-MyNestedSizerFrame::MyNestedSizerFrame(const wxString &title, int x, int y )
-    : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
+MyNestedSizerFrame::MyNestedSizerFrame(wxFrame* parent)
+    : wxFrame(parent, wxID_ANY, "Nested Sizer Test Frame")
 {
     wxMenu *menu = new wxMenu;
 
@@ -686,8 +680,9 @@ BEGIN_EVENT_TABLE(MyWrapSizerFrame, wxFrame)
     EVT_MENU(wxID_REMOVE, MyWrapSizerFrame::OnRemoveCheckbox)
 END_EVENT_TABLE()
 
-MyWrapSizerFrame::MyWrapSizerFrame(const wxString &title, int x, int y )
-    : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y), wxSize(200,-1) )
+MyWrapSizerFrame::MyWrapSizerFrame(wxFrame* parent)
+    : wxFrame(parent, wxID_ANY, "Wrap Sizer Test Frame",
+              wxDefaultPosition, wxSize(200,-1))
 {
     wxMenu *menu = new wxMenu;
 
index d932a00503812130f9a9ef3509b41bca70b545d9..fc1d1b64cfee9651c4e58bdfff934d10627a5331 100644 (file)
@@ -58,7 +58,7 @@ protected:
 class MyFlexSizerFrame : public wxFrame
 {
 public:
-    MyFlexSizerFrame(const wxString &title, int x, int y );
+    MyFlexSizerFrame(wxFrame* parent);
 
 private:
     void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent);
@@ -77,7 +77,7 @@ public:
 class MyGridBagSizerFrame : public wxFrame
 {
 public:
-    MyGridBagSizerFrame(const wxString &title, int x, int y );
+    MyGridBagSizerFrame(wxFrame* parent);
 
     void OnHideBtn(wxCommandEvent&);
     void OnShowBtn(wxCommandEvent&);
@@ -102,7 +102,7 @@ private:
 class MySimpleSizerFrame : public wxFrame
 {
 public:
-    MySimpleSizerFrame(const wxString &title, int x, int y );
+    MySimpleSizerFrame(wxFrame* parent);
 
     void OnSetSmallSize( wxCommandEvent &event);
     void OnSetBigSize( wxCommandEvent &event);
@@ -120,7 +120,7 @@ private:
 class MyNestedSizerFrame : public wxFrame
 {
 public:
-    MyNestedSizerFrame(const wxString &title, int x, int y );
+    MyNestedSizerFrame(wxFrame* parent);
 
 
 private:
@@ -132,7 +132,7 @@ private:
 class MyWrapSizerFrame: public wxFrame
 {
 public:
-    MyWrapSizerFrame(const wxString &title, int x, int y );
+    MyWrapSizerFrame(wxFrame* parent);
 
 private:
     void OnAddCheckbox(wxCommandEvent& event);