+ wxStatusBar *statusBar = (wxStatusBar *) NULL;
+
+ statusBar = new wxStatusBar(this, id, wxPoint(0, 0), wxSize(100, 20), style, name);
+
+ // Set the height according to the font and the border size
+ wxClientDC dc(statusBar);
+ dc.SetFont( *statusBar->GetFont() );
+
+ long x, y;
+ dc.GetTextExtent( "X", &x, &y );
+
+ int height = (int)( (y * 1.1) + 2* statusBar->GetBorderY());
+
+ statusBar->SetSize( -1, -1, 100, height );
+
+ statusBar->SetFieldsCount( number );
+ return statusBar;
+}
+
+void wxFrame::SetStatusText(const wxString& text, int number)
+{
+ wxASSERT_MSG( (m_widget != NULL), "invalid frame" );
+
+ wxCHECK_RET( m_frameStatusBar != NULL, "no statusbar to set text for" );
+
+ m_frameStatusBar->SetStatusText(text, number);
+}
+
+void wxFrame::SetStatusWidths(int n, const int widths_field[] )
+{
+ wxASSERT_MSG( (m_widget != NULL), "invalid frame" );
+
+ wxCHECK_RET( m_frameStatusBar != NULL, "no statusbar to set widths for" );
+
+ m_frameStatusBar->SetStatusWidths(n, widths_field);
+}
+
+wxStatusBar *wxFrame::GetStatusBar(void) const
+{
+ return m_frameStatusBar;
+}