X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a0681f9338345d0ef32b2ad809d49fd20861119..28be2e8a170979d476a5ea4f585505b8a2f5af27:/src/gtk1/tbargtk.cpp diff --git a/src/gtk1/tbargtk.cpp b/src/gtk1/tbargtk.cpp index aa7574feca..d36704d513 100644 --- a/src/gtk1/tbargtk.cpp +++ b/src/gtk1/tbargtk.cpp @@ -30,6 +30,8 @@ #include "gdk/gdk.h" #include "gtk/gtk.h" +extern GdkFont *GtkGetDefaultGuiFont(); + // ---------------------------------------------------------------------------- // globals // ---------------------------------------------------------------------------- @@ -80,7 +82,7 @@ protected: // wxWin macros // ---------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase) // ============================================================================ // implementation @@ -218,9 +220,7 @@ void wxToolBar::Init() { m_fg = m_bg = (GdkColor *)NULL; - m_toolbar = (GtkToolbar *)NULL; - m_blockNextEvent = FALSE; } @@ -272,24 +272,26 @@ bool wxToolBar::Create( wxWindow *parent, gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE ); -#if (GTK_MINOR_VERSION > 0) if (style & wxTB_FLAT) gtk_toolbar_set_button_relief( GTK_TOOLBAR(m_toolbar), GTK_RELIEF_NONE ); -#endif + m_fg = new GdkColor; - m_fg->red = 0; - m_fg->green = 0; + m_fg->red = 0; + m_fg->green = 0; m_fg->blue = 0; - gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_fg ); - + wxColour fg(0,0,0); + fg.CalcPixel( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ) ); + m_fg->pixel = fg.GetPixel(); + m_bg = new GdkColor; m_bg->red = 65535; m_bg->green = 65535; - m_bg->blue = 50000; - gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ), m_bg ); - -#if (GTK_MINOR_VERSION > 0) + m_bg->blue = 49980; + wxColour bg(255,255,196); + bg.CalcPixel( gtk_widget_get_colormap( GTK_WIDGET(m_toolbar) ) ); + m_bg->pixel = bg.GetPixel(); + gtk_tooltips_force_window( GTK_TOOLBAR(m_toolbar)->tooltips ); GtkStyle *g_style = @@ -298,10 +300,9 @@ bool wxToolBar::Create( wxWindow *parent, GTK_TOOLBAR(m_toolbar)->tooltips->tip_window ) ); g_style->bg[GTK_STATE_NORMAL] = *m_bg; + gdk_font_unref( g_style->font ); + g_style->font = gdk_font_ref( GtkGetDefaultGuiFont() ); gtk_widget_set_style( GTK_TOOLBAR(m_toolbar)->tooltips->tip_window, g_style ); -#else - gtk_tooltips_set_colors( GTK_TOOLBAR(m_toolbar)->tooltips, m_bg, m_fg ); -#endif m_parent->DoAddChild( this ); @@ -316,6 +317,9 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) { wxToolBarTool *tool = (wxToolBarTool *)toolBase; + // we have inserted a space before all the tools + if (m_xMargin > 1) pos++; + if ( tool->IsButton() ) { wxBitmap bitmap = tool->GetBitmap1(); @@ -397,14 +401,15 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) } GtkRequisition req; - (* GTK_WIDGET_CLASS( GTK_OBJECT(m_widget)->klass )->size_request ) (m_widget, &req ); + (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_widget) )->size_request ) + (m_widget, &req ); m_width = req.width + m_xMargin; - m_height = req.height + 2*m_yMargin + 4; + m_height = req.height + 2*m_yMargin; return TRUE; } -bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *toolBase) +bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolBase) { wxToolBarTool *tool = (wxToolBarTool *)toolBase;