call wxFlexGridSizer::AddGrowableRow() only when the sizer has enough rows for the indices to be valid

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-12-24 00:41:23 +00:00
parent 636a53b35f
commit 16a6495db3

View File

@@ -101,9 +101,9 @@ class MyFrame : public wxFrame
ID_NotebookArtSimple, ID_NotebookArtSimple,
ID_NotebookAlignTop, ID_NotebookAlignTop,
ID_NotebookAlignBottom, ID_NotebookAlignBottom,
ID_SampleItem, ID_SampleItem,
ID_FirstPerspective = ID_CreatePerspective+1000 ID_FirstPerspective = ID_CreatePerspective+1000
}; };
@@ -756,7 +756,7 @@ MyFrame::MyFrame(wxWindow* parent,
// prepare a few custom overflow elements for the toolbars' overflow buttons // prepare a few custom overflow elements for the toolbars' overflow buttons
wxAuiToolBarItemArray prepend_items; wxAuiToolBarItemArray prepend_items;
wxAuiToolBarItemArray append_items; wxAuiToolBarItemArray append_items;
wxAuiToolBarItem item; wxAuiToolBarItem item;
@@ -819,7 +819,7 @@ MyFrame::MyFrame(wxWindow* parent,
wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_DEFAULT_STYLE |
wxAUI_TB_OVERFLOW | wxAUI_TB_OVERFLOW |
wxAUI_TB_TEXT | wxAUI_TB_TEXT |
wxAUI_TB_HORZ_TEXT); wxAUI_TB_HORZ_TEXT);
@@ -1397,35 +1397,35 @@ void MyFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& evt)
if (evt.IsDropDownClicked()) if (evt.IsDropDownClicked())
{ {
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject()); wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject());
tb->SetToolSticky(evt.GetId(), true); tb->SetToolSticky(evt.GetId(), true);
// create the popup menu // create the popup menu
wxMenu menuPopup; wxMenu menuPopup;
wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16)); wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
wxMenuItem* m1 = new wxMenuItem(&menuPopup, 10001, _("Drop Down Item 1")); wxMenuItem* m1 = new wxMenuItem(&menuPopup, 10001, _("Drop Down Item 1"));
m1->SetBitmap(bmp); m1->SetBitmap(bmp);
menuPopup.Append(m1); menuPopup.Append(m1);
wxMenuItem* m2 = new wxMenuItem(&menuPopup, 10002, _("Drop Down Item 2")); wxMenuItem* m2 = new wxMenuItem(&menuPopup, 10002, _("Drop Down Item 2"));
m2->SetBitmap(bmp); m2->SetBitmap(bmp);
menuPopup.Append(m2); menuPopup.Append(m2);
wxMenuItem* m3 = new wxMenuItem(&menuPopup, 10003, _("Drop Down Item 3")); wxMenuItem* m3 = new wxMenuItem(&menuPopup, 10003, _("Drop Down Item 3"));
m3->SetBitmap(bmp); m3->SetBitmap(bmp);
menuPopup.Append(m3); menuPopup.Append(m3);
wxMenuItem* m4 = new wxMenuItem(&menuPopup, 10004, _("Drop Down Item 4")); wxMenuItem* m4 = new wxMenuItem(&menuPopup, 10004, _("Drop Down Item 4"));
m4->SetBitmap(bmp); m4->SetBitmap(bmp);
menuPopup.Append(m4); menuPopup.Append(m4);
// line up our menu with the button // line up our menu with the button
wxRect rect = tb->GetToolRect(evt.GetId()); wxRect rect = tb->GetToolRect(evt.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft()); wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt); pt = ScreenToClient(pt);
PopupMenu(&menuPopup, pt); PopupMenu(&menuPopup, pt);
@@ -1568,9 +1568,6 @@ wxAuiNotebook* MyFrame::CreateNotebook()
wxPanel *panel = new wxPanel( ctrl, wxID_ANY ); wxPanel *panel = new wxPanel( ctrl, wxID_ANY );
wxFlexGridSizer *flex = new wxFlexGridSizer( 2 ); wxFlexGridSizer *flex = new wxFlexGridSizer( 2 );
flex->AddGrowableRow( 0 );
flex->AddGrowableRow( 3 );
flex->AddGrowableCol( 1 );
flex->Add( 5,5 ); flex->Add( 5,5 ); flex->Add( 5,5 ); flex->Add( 5,5 );
flex->Add( new wxStaticText( panel, -1, wxT("wxTextCtrl:") ), 0, wxALL|wxALIGN_CENTRE, 5 ); flex->Add( new wxStaticText( panel, -1, wxT("wxTextCtrl:") ), 0, wxALL|wxALIGN_CENTRE, 5 );
flex->Add( new wxTextCtrl( panel, -1, wxT(""), wxDefaultPosition, wxSize(100,-1)), flex->Add( new wxTextCtrl( panel, -1, wxT(""), wxDefaultPosition, wxSize(100,-1)),
@@ -1579,6 +1576,9 @@ wxAuiNotebook* MyFrame::CreateNotebook()
flex->Add( new wxSpinCtrl( panel, -1, wxT("5"), wxDefaultPosition, wxSize(100,-1), flex->Add( new wxSpinCtrl( panel, -1, wxT("5"), wxDefaultPosition, wxSize(100,-1),
wxSP_ARROW_KEYS, 5, 50, 5 ), 0, wxALL|wxALIGN_CENTRE, 5 ); wxSP_ARROW_KEYS, 5, 50, 5 ), 0, wxALL|wxALIGN_CENTRE, 5 );
flex->Add( 5,5 ); flex->Add( 5,5 ); flex->Add( 5,5 ); flex->Add( 5,5 );
flex->AddGrowableRow( 0 );
flex->AddGrowableRow( 3 );
flex->AddGrowableCol( 1 );
panel->SetSizer( flex ); panel->SetSizer( flex );
ctrl->AddPage( panel, wxT("wxPanel"), false, page_bmp ); ctrl->AddPage( panel, wxT("wxPanel"), false, page_bmp );