X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/76b49cf49ba9ee9f3eeec9730cb4bc4569ab17f1..7212d15556e87f73ff5ea8c3211a0e8e8811426b:/src/gtk/tbargtk.cpp diff --git a/src/gtk/tbargtk.cpp b/src/gtk/tbargtk.cpp index cbe4087f73..a673c58cfe 100644 --- a/src/gtk/tbargtk.cpp +++ b/src/gtk/tbargtk.cpp @@ -19,10 +19,10 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/toolbar.h" - #if wxUSE_TOOLBAR_NATIVE +#include "wx/toolbar.h" + #ifndef WX_PRECOMP #include "wx/frame.h" #endif @@ -204,7 +204,7 @@ static gint gtk_toolbar_tool_callback( GtkWidget *WXUNUSED(widget), GdkEventCrossing *gdk_event, wxToolBarTool *tool ) { - if (g_isIdle) wxapp_install_idle_handler(); + // don't need to install idle handler, its done from "event" signal if (g_blockEventsOnDrag) return TRUE; @@ -318,8 +318,6 @@ bool wxToolBar::Create( wxWindow *parent, gtk_widget_show(GTK_WIDGET(m_toolbar)); } - gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE ); - // FIXME: there is no such function for toolbars in 2.0 #if 0 if (style & wxTB_FLAT) @@ -333,6 +331,11 @@ bool wxToolBar::Create( wxWindow *parent, return true; } +GdkWindow *wxToolBar::GTKGetWindow(wxArrayGdkWindows& windows) const +{ + return GTK_WIDGET(m_toolbar)->window; +} + void wxToolBar::GtkSetStyle() { GtkOrientation orient; @@ -341,6 +344,7 @@ void wxToolBar::GtkSetStyle() gtk_toolbar_set_orientation(m_toolbar, orient); gtk_toolbar_set_style(m_toolbar, style); + gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), !(style & wxTB_NO_TOOLTIPS) ); } void wxToolBar::SetWindowStyleFlag( long style ) @@ -366,7 +370,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) wxCHECK_MSG( bitmap.Ok(), false, wxT("invalid bitmap for wxToolBar icon") ); - wxCHECK_MSG( bitmap.GetBitmap() == NULL, false, + wxCHECK_MSG( bitmap.GetDepth() != 1, false, wxT("wxToolBar doesn't support GdkBitmap") ); wxCHECK_MSG( bitmap.GetPixmap() != NULL, false, @@ -607,6 +611,9 @@ void wxToolBar::SetToolShortHelp( int id, const wxString& helpString ) void wxToolBar::OnInternalIdle() { + // Check if we have to show window now + if (GtkShowFromOnIdle()) return; + wxCursor cursor = m_cursor; if (g_globalCursor.Ok()) cursor = g_globalCursor;