X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a8945eeff6a096fed3210a3bd44e81aa895dfa61..4fa0a5b44341885a0886f2ae6723d2441bd1f62f:/src/gtk1/tbargtk.cpp?ds=sidebyside diff --git a/src/gtk1/tbargtk.cpp b/src/gtk1/tbargtk.cpp index e0e94b95f4..ffd6c88c60 100644 --- a/src/gtk1/tbargtk.cpp +++ b/src/gtk1/tbargtk.cpp @@ -26,9 +26,8 @@ #include "wx/frame.h" -#include "glib.h" -#include "gdk/gdk.h" -#include "gtk/gtk.h" +#include +#include "wx/gtk/private.h" extern GdkFont *GtkGetDefaultGuiFont(); @@ -99,11 +98,8 @@ static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxapp_install_idle_handler(); wxToolBar *tbar = (wxToolBar *)tool->GetToolBar(); - if ( tbar->m_blockNextEvent ) - { - tbar->m_blockNextEvent = FALSE; - return; - } + + if (tbar->m_blockEvent) return; if (g_blockEventsOnDrag) return; if (!tool->IsEnabled()) return; @@ -196,7 +192,7 @@ void wxToolBar::Init() m_fg = m_bg = (GdkColor *)NULL; m_toolbar = (GtkToolbar *)NULL; - m_blockNextEvent = FALSE; + m_blockEvent = FALSE; } wxToolBar::~wxToolBar() @@ -225,7 +221,14 @@ bool wxToolBar::Create( wxWindow *parent, GtkOrientation orient = style & wxTB_VERTICAL ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL; + +#ifdef __WXGTK20__ + m_toolbar = GTK_TOOLBAR( gtk_toolbar_new() ); + gtk_toolbar_set_orientation(m_toolbar, orient); + gtk_toolbar_set_style(m_toolbar, GTK_TOOLBAR_ICONS); +#else m_toolbar = GTK_TOOLBAR( gtk_toolbar_new( orient, GTK_TOOLBAR_ICONS ) ); +#endif SetToolSeparation(7); @@ -245,8 +248,11 @@ bool wxToolBar::Create( wxWindow *parent, gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE ); + // FIXME: there is no such function for toolbars in 2.0 +#ifndef __WXGTK20__ if (style & wxTB_FLAT) gtk_toolbar_set_button_relief( GTK_TOOLBAR(m_toolbar), GTK_RELIEF_NONE ); +#endif m_fg = new GdkColor; @@ -273,8 +279,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() ); + + SET_STYLE_FONT(g_style, GtkGetDefaultGuiFont()); + gtk_widget_set_style( GTK_TOOLBAR(m_toolbar)->tooltips->tip_window, g_style ); m_parent->DoAddChild( this ); @@ -440,9 +447,11 @@ void wxToolBar::DoToggleTool( wxToolBarToolBase *toolBase, bool toggle ) gtk_pixmap_set( pixmap, bitmap.GetPixmap(), mask ); } - m_blockNextEvent = TRUE; // we cannot use gtk_signal_disconnect here + m_blockEvent = TRUE; gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(item), toggle ); + + m_blockEvent = FALSE; } } @@ -479,7 +488,11 @@ void wxToolBar::SetMargins( int x, int y ) void wxToolBar::SetToolSeparation( int separation ) { + // FIXME: this function disappeared +#ifndef __WXGTK20__ gtk_toolbar_set_space_size( m_toolbar, separation ); +#endif + m_toolSeparation = separation; }