Don't create multiple parent-less top level frames in layout sample.
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
This commit is contained in:
@@ -203,8 +203,7 @@ void MyFrame::TestProportions(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
void MyFrame::TestFlexSizers(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestFlexSizers(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
MyFlexSizerFrame *newFrame = new MyFlexSizerFrame(wxT("Flex Sizer Test Frame"), 50, 50);
|
(new MyFlexSizerFrame(this))->Show();
|
||||||
newFrame->Show(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
|
||||||
@@ -216,20 +215,17 @@ void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
|
|||||||
|
|
||||||
void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestSetMinimal(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
MySimpleSizerFrame *newFrame = new MySimpleSizerFrame(wxT("Simple Sizer Test Frame"), 50, 50);
|
(new MySimpleSizerFrame(this))->Show();
|
||||||
newFrame->Show(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::TestNested(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestNested(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
MyNestedSizerFrame *newFrame = new MyNestedSizerFrame(wxT("Nested Sizer Test Frame"), 50, 50);
|
(new MyNestedSizerFrame(this))->Show();
|
||||||
newFrame->Show(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::TestWrap(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestWrap(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
MyWrapSizerFrame *newFrame = new MyWrapSizerFrame(wxT("Wrap Sizer Test Frame"), 50, 50);
|
(new MyWrapSizerFrame(this))->Show();
|
||||||
newFrame->Show(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -241,9 +237,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
|
|||||||
|
|
||||||
void MyFrame::TestGridBagSizer(wxCommandEvent& WXUNUSED(event) )
|
void MyFrame::TestGridBagSizer(wxCommandEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
MyGridBagSizerFrame *newFrame = new
|
(new MyGridBagSizerFrame(this))->Show();
|
||||||
MyGridBagSizerFrame(wxT("wxGridBagSizer Test Frame"), 50, 50);
|
|
||||||
newFrame->Show(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -327,8 +321,8 @@ void MyFlexSizerFrame::InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MyFlexSizerFrame::MyFlexSizerFrame(const wxString &title, int x, int y )
|
MyFlexSizerFrame::MyFlexSizerFrame(wxFrame* parent)
|
||||||
: wxFrame(NULL, wxID_ANY, title, wxPoint(x, y) )
|
: wxFrame(parent, wxID_ANY, "Flex Sizer Test Frame")
|
||||||
{
|
{
|
||||||
wxFlexGridSizer *sizerFlex;
|
wxFlexGridSizer *sizerFlex;
|
||||||
wxPanel* p = new wxPanel(this, wxID_ANY);
|
wxPanel* p = new wxPanel(this, wxID_ANY);
|
||||||
@@ -480,8 +474,8 @@ BEGIN_EVENT_TABLE(MyGridBagSizerFrame, wxFrame)
|
|||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
MyGridBagSizerFrame::MyGridBagSizerFrame(const wxString &title, int x, int y )
|
MyGridBagSizerFrame::MyGridBagSizerFrame(wxFrame* parent)
|
||||||
: wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
|
: wxFrame(parent, wxID_ANY, "wxGridBagSizer Test Frame")
|
||||||
{
|
{
|
||||||
wxPanel* p = new wxPanel(this, wxID_ANY);
|
wxPanel* p = new wxPanel(this, wxID_ANY);
|
||||||
m_panel = p;
|
m_panel = p;
|
||||||
@@ -594,8 +588,8 @@ BEGIN_EVENT_TABLE(MySimpleSizerFrame, wxFrame)
|
|||||||
EVT_MENU( ID_SET_BIG, MySimpleSizerFrame::OnSetBigSize)
|
EVT_MENU( ID_SET_BIG, MySimpleSizerFrame::OnSetBigSize)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
MySimpleSizerFrame::MySimpleSizerFrame(const wxString &title, int x, int y )
|
MySimpleSizerFrame::MySimpleSizerFrame(wxFrame* parent)
|
||||||
: wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
|
: wxFrame(parent, wxID_ANY, "Simple Sizer Test Frame")
|
||||||
{
|
{
|
||||||
wxMenu *menu = new wxMenu;
|
wxMenu *menu = new wxMenu;
|
||||||
|
|
||||||
@@ -640,8 +634,8 @@ void MySimpleSizerFrame::OnSetBigSize( wxCommandEvent& WXUNUSED(event))
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
MyNestedSizerFrame::MyNestedSizerFrame(const wxString &title, int x, int y )
|
MyNestedSizerFrame::MyNestedSizerFrame(wxFrame* parent)
|
||||||
: wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
|
: wxFrame(parent, wxID_ANY, "Nested Sizer Test Frame")
|
||||||
{
|
{
|
||||||
wxMenu *menu = new wxMenu;
|
wxMenu *menu = new wxMenu;
|
||||||
|
|
||||||
@@ -686,8 +680,9 @@ BEGIN_EVENT_TABLE(MyWrapSizerFrame, wxFrame)
|
|||||||
EVT_MENU(wxID_REMOVE, MyWrapSizerFrame::OnRemoveCheckbox)
|
EVT_MENU(wxID_REMOVE, MyWrapSizerFrame::OnRemoveCheckbox)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
MyWrapSizerFrame::MyWrapSizerFrame(const wxString &title, int x, int y )
|
MyWrapSizerFrame::MyWrapSizerFrame(wxFrame* parent)
|
||||||
: wxFrame( NULL, wxID_ANY, title, wxPoint(x, y), wxSize(200,-1) )
|
: wxFrame(parent, wxID_ANY, "Wrap Sizer Test Frame",
|
||||||
|
wxDefaultPosition, wxSize(200,-1))
|
||||||
{
|
{
|
||||||
wxMenu *menu = new wxMenu;
|
wxMenu *menu = new wxMenu;
|
||||||
|
|
||||||
|
@@ -58,7 +58,7 @@ protected:
|
|||||||
class MyFlexSizerFrame : public wxFrame
|
class MyFlexSizerFrame : public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyFlexSizerFrame(const wxString &title, int x, int y );
|
MyFlexSizerFrame(wxFrame* parent);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent);
|
void InitFlexSizer(wxFlexGridSizer *sizer, wxWindow* parent);
|
||||||
@@ -77,7 +77,7 @@ public:
|
|||||||
class MyGridBagSizerFrame : public wxFrame
|
class MyGridBagSizerFrame : public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyGridBagSizerFrame(const wxString &title, int x, int y );
|
MyGridBagSizerFrame(wxFrame* parent);
|
||||||
|
|
||||||
void OnHideBtn(wxCommandEvent&);
|
void OnHideBtn(wxCommandEvent&);
|
||||||
void OnShowBtn(wxCommandEvent&);
|
void OnShowBtn(wxCommandEvent&);
|
||||||
@@ -102,7 +102,7 @@ private:
|
|||||||
class MySimpleSizerFrame : public wxFrame
|
class MySimpleSizerFrame : public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MySimpleSizerFrame(const wxString &title, int x, int y );
|
MySimpleSizerFrame(wxFrame* parent);
|
||||||
|
|
||||||
void OnSetSmallSize( wxCommandEvent &event);
|
void OnSetSmallSize( wxCommandEvent &event);
|
||||||
void OnSetBigSize( wxCommandEvent &event);
|
void OnSetBigSize( wxCommandEvent &event);
|
||||||
@@ -120,7 +120,7 @@ private:
|
|||||||
class MyNestedSizerFrame : public wxFrame
|
class MyNestedSizerFrame : public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyNestedSizerFrame(const wxString &title, int x, int y );
|
MyNestedSizerFrame(wxFrame* parent);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -132,7 +132,7 @@ private:
|
|||||||
class MyWrapSizerFrame: public wxFrame
|
class MyWrapSizerFrame: public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyWrapSizerFrame(const wxString &title, int x, int y );
|
MyWrapSizerFrame(wxFrame* parent);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnAddCheckbox(wxCommandEvent& event);
|
void OnAddCheckbox(wxCommandEvent& event);
|
||||||
|
Reference in New Issue
Block a user