+
+// ----------------------------------------------------------------------------
+// wxStatusBarGeneric - event handlers
+// ----------------------------------------------------------------------------
+
+void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) )
+{
+ wxPaintDC dc(this);
+
+#ifdef __WXGTK20__
+ // Draw grip first
+ if ( ShowsSizeGrip() )
+ {
+ int width, height;
+ GetClientSize(&width, &height);
+
+ if (GetLayoutDirection() == wxLayout_RightToLeft)
+ {
+ gtk_paint_resize_grip( m_widget->style,
+ GTKGetDrawingWindow(),
+ (GtkStateType) GTK_WIDGET_STATE (m_widget),
+ NULL,
+ m_widget,
+ "statusbar",
+ GDK_WINDOW_EDGE_SOUTH_WEST,
+ 2, 2, height-2, height-4 );
+ }
+ else
+ {
+ gtk_paint_resize_grip( m_widget->style,
+ GTKGetDrawingWindow(),
+ (GtkStateType) GTK_WIDGET_STATE (m_widget),
+ NULL,
+ m_widget,
+ "statusbar",
+ GDK_WINDOW_EDGE_SOUTH_EAST,
+ width-height-2, 2, height-2, height-4 );
+ }
+ }
+#endif // __WXGTK20__
+
+ if (GetFont().IsOk())
+ dc.SetFont(GetFont());
+
+ dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
+
+ for (size_t i = 0; i < m_panes.GetCount(); i ++)
+ DrawField(dc, i);
+}
+
+// Responds to colour changes, and passes event on to children.
+void wxStatusBarGeneric::OnSysColourChanged(wxSysColourChangedEvent& event)
+{
+ InitColours();
+
+ // Propagate the event to the non-top-level children
+ wxWindow::OnSysColourChanged(event);
+}
+