X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d9f12f3b9f997b6308faf336d5381be591b71f4..713a0efc617935b1da6151d98ff111e3bde52c3d:/src/common/framecmn.cpp diff --git a/src/common/framecmn.cpp b/src/common/framecmn.cpp index 4b12d0e9a3..7b067ddf0d 100644 --- a/src/common/framecmn.cpp +++ b/src/common/framecmn.cpp @@ -148,12 +148,13 @@ wxPoint wxFrameBase::GetClientAreaOrigin() const wxPoint pt = wxTopLevelWindow::GetClientAreaOrigin(); #if wxUSE_TOOLBAR - if ( GetToolBar() && GetToolBar()->IsShown() ) + wxToolBar *toolbar = GetToolBar(); + if ( toolbar && toolbar->IsShown() ) { int w, h; - GetToolBar()->GetSize(& w, & h); + toolbar->GetSize(&w, &h); - if ( GetToolBar()->GetWindowStyleFlag() & wxTB_VERTICAL ) + if ( toolbar->GetWindowStyleFlag() & wxTB_VERTICAL ) { pt.x += w; } @@ -182,12 +183,17 @@ bool wxFrameBase::ProcessCommand(int id) commandEvent.SetEventObject(this); wxMenuItem *item = bar->FindItem(id); - if ( item && item->IsCheckable() ) + if (item) { - item->Toggle(); + if (!item->IsEnabled()) + return TRUE; - // use the new value - commandEvent.SetInt(item->IsChecked()); + if (item->IsCheckable()) + { + item->Toggle(); + // use the new value + commandEvent.SetInt(item->IsChecked()); + } } return GetEventHandler()->ProcessEvent(commandEvent); @@ -244,17 +250,6 @@ wxStatusBar *wxFrameBase::OnCreateStatusBar(int number, { wxStatusBar *statusBar = new wxStatusBar(this, id, style, name); - // Set the height according to the font and the border size - wxClientDC dc(statusBar); - dc.SetFont(statusBar->GetFont()); - - wxCoord y; - dc.GetTextExtent( "X", NULL, &y ); - - int height = (int)( (11*y)/10 + 2*statusBar->GetBorderY()); - - statusBar->SetSize( -1, -1, -1, height ); - statusBar->SetFieldsCount(number); return statusBar;