X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/288059b2b9d1d4b562e1a0d06f7026936793bc79..ace0fab4f1207124c8d3e4fcf552e596ff9dc470:/src/gtk/tbargtk.cpp?ds=sidebyside diff --git a/src/gtk/tbargtk.cpp b/src/gtk/tbargtk.cpp index 2ce4bc754c..5c47efac8b 100644 --- a/src/gtk/tbargtk.cpp +++ b/src/gtk/tbargtk.cpp @@ -57,7 +57,13 @@ static void GetGtkStyle(long style, if ( style & wxTB_TEXT ) { - *gtkStyle = style & wxTB_NOICONS ? GTK_TOOLBAR_TEXT : GTK_TOOLBAR_BOTH; + *gtkStyle = style & wxTB_NOICONS + ? GTK_TOOLBAR_TEXT + : ( +#ifdef __WXGTK20__ + style & wxTB_HORZ_LAYOUT ? GTK_TOOLBAR_BOTH_HORIZ : +#endif // __WXGTK20__ + GTK_TOOLBAR_BOTH); } else // no text, hence we must have the icons or what would we show? { @@ -278,7 +284,7 @@ bool wxToolBar::Create( wxWindow *parent, #ifdef __WXGTK20__ m_toolbar = GTK_TOOLBAR( gtk_toolbar_new() ); GtkSetStyle(); - + // Doesn't work this way. // GtkToolbarSpaceStyle space_style = GTK_TOOLBAR_SPACE_EMPTY; // gtk_widget_style_set (GTK_WIDGET (m_toolbar), "space_style", &space_style, NULL); @@ -427,8 +433,9 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) if ( tool->IsRadio() ) { - wxToolBarToolsList::Node *node = pos ? m_tools.Item(pos - 1) - : NULL; + wxToolBarToolsList::compatibility_iterator node; + if ( pos ) node = m_tools.Item(pos - 1); + while ( node ) { wxToolBarTool *tool = (wxToolBarTool *)node->GetData(); @@ -473,7 +480,7 @@ bool wxToolBar::DoInsertTool(size_t pos, wxToolBarToolBase *toolBase) return FALSE; } - + gtk_signal_connect( GTK_OBJECT(tool->m_item), "enter_notify_event", GTK_SIGNAL_FUNC(gtk_toolbar_tool_callback), @@ -654,7 +661,7 @@ void wxToolBar::OnInternalIdle() gdk_window_set_cursor( m_widget->window, cursor.GetCursor() ); } - wxToolBarToolsList::Node *node = m_tools.GetFirst(); + wxToolBarToolsList::compatibility_iterator node = m_tools.GetFirst(); while ( node ) { wxToolBarTool *tool = (wxToolBarTool *)node->GetData(); @@ -673,7 +680,8 @@ void wxToolBar::OnInternalIdle() } } - UpdateWindowUI(); + if (wxUpdateUIEvent::CanUpdate(this)) + UpdateWindowUI(wxUPDATE_UI_FROMIDLE); } #endif // wxUSE_TOOLBAR_NATIVE