IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)
#endif
-#define WX_MAC_STATUSBAR_HEIGHT 15
+#define WX_MAC_STATUSBAR_HEIGHT 18
// ----------------------------------------------------------------------------
// creation/destruction
// ----------------------------------------------------------------------------
if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
return FALSE;
- SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
-
wxModelessWindows.Append(this);
return TRUE;
statusBar = new wxStatusBar(this, id,
style, name);
- statusBar->SetSize( 100 , 15 ) ;
+ statusBar->SetSize( 100 , WX_MAC_STATUSBAR_HEIGHT ) ;
statusBar->SetFieldsCount(number);
return statusBar;
}
void wxFrame::PositionStatusBar()
{
- if (m_frameStatusBar )
+ if (m_frameStatusBar && m_frameStatusBar->IsShown() )
{
int w, h;
GetClientSize(&w, &h);
- int sw, sh;
- m_frameStatusBar->GetSize(&sw, &sh);
// Since we wish the status bar to be directly under the client area,
// we use the adjusted sizes without using wxSIZE_NO_ADJUSTMENTS.
- m_frameStatusBar->SetSize(0, h, w, sh);
+ m_frameStatusBar->SetSize(0, h, w, WX_MAC_STATUSBAR_HEIGHT);
}
}
wxTopLevelWindow::DoGetClientSize( x , y ) ;
#if wxUSE_STATUSBAR
- if ( GetStatusBar() && y )
+ if ( GetStatusBar() && GetStatusBar()->IsShown() && y )
{
- int statusX, statusY;
- GetStatusBar()->GetSize(&statusX, &statusY);
- if ( y) *y -= statusY;
+ if ( y) *y -= WX_MAC_STATUSBAR_HEIGHT;
}
#endif // wxUSE_STATUSBAR
GetSize( &cw , &ch ) ;
- if ( GetStatusBar() )
+ if ( GetStatusBar() && GetStatusBar()->IsShown())
{
int statusX, statusY;
GetStatusBar()->GetClientSize(&statusX, &statusY);