#include "wx/frame.h"
-#include <glib.h>
+// FIXME: Use GtkImage instead of GtkPixmap. Use the new toolbar API for when gtk runtime is new enough?
+// Beware that the new and old toolbar API may not be mixed in usage.
+#include <gtk/gtkversion.h>
+#ifdef GTK_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#endif
+
#include "wx/gtk/private.h"
// ----------------------------------------------------------------------------
// globals
// ----------------------------------------------------------------------------
-// idle system
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
-
// data
extern bool g_blockEventsOnDrag;
extern wxCursor g_globalCursor;
*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?
{
GdkBitmap *mask = bitmap.GetMask() ? bitmap.GetMask()->GetBitmap()
: (GdkBitmap *)NULL;
-#ifdef __WXGTK20__
if (bitmap.HasPixbuf())
gtk_image_set_from_pixbuf( GTK_IMAGE(m_pixmap), bitmap.GetPixbuf() );
else
-#endif // !__WXGTK20__
gtk_pixmap_set( GTK_PIXMAP(m_pixmap), bitmap.GetPixmap(), mask );
}
}
return false;
}
-#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);
-#else
- GtkOrientation orient;
- GtkToolbarStyle gtkStyle;
- GetGtkStyle(style, &orient, >kStyle);
-
- m_toolbar = GTK_TOOLBAR( gtk_toolbar_new(orient, gtkStyle) );
-#endif
SetToolSeparation(7);
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
// FIXME: there is no such function for toolbars in 2.0
-#ifndef __WXGTK20__
+#if 0
if (style & wxTB_FLAT)
gtk_toolbar_set_button_relief( GTK_TOOLBAR(m_toolbar), GTK_RELIEF_NONE );
#endif
{
wxToolBarTool *tool = (wxToolBarTool *)toolBase;
-#ifndef __WXGTK20__
- // if we have inserted a space before all the tools we must change the GTK
- // index by 1
- size_t posGtk = m_xMargin > 1 ? pos + 1 : pos;
-#else
size_t posGtk = pos;
-#endif
if ( tool->IsButton() )
{
GtkWidget *tool_pixmap = (GtkWidget *)NULL;
-#ifdef __WXGTK20__
if (bitmap.HasPixbuf())
{
tool_pixmap = gtk_image_new();
tool->SetPixmap(bitmap);
}
else
-#endif
{
GdkPixmap *pixmap = bitmap.GetPixmap();
return false;
}
- gtk_signal_connect( GTK_OBJECT(tool->m_item),
- "enter_notify_event",
- GTK_SIGNAL_FUNC(gtk_toolbar_tool_callback),
- (gpointer)tool );
- gtk_signal_connect( GTK_OBJECT(tool->m_item),
- "leave_notify_event",
- GTK_SIGNAL_FUNC(gtk_toolbar_tool_callback),
- (gpointer)tool );
+ g_signal_connect (tool->m_item, "enter_notify_event",
+ G_CALLBACK (gtk_toolbar_tool_callback),
+ tool);
+ g_signal_connect (tool->m_item, "leave_notify_event",
+ G_CALLBACK (gtk_toolbar_tool_callback),
+ tool);
}
break;
gtk_widget_destroy( tool->m_item );
break;
-#ifdef __WXGTK20__
case wxTOOL_STYLE_SEPARATOR:
gtk_toolbar_remove_space( m_toolbar, pos );
break;
-#endif
}
InvalidateBestSize();
m_blockEvent = true;
- gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(item), toggle );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(item), toggle );
m_blockEvent = false;
}
wxCHECK_RET( GetToolsCount() == 0,
wxT("wxToolBar::SetMargins must be called before adding tools.") );
-#ifndef __WXGTK20__
- if (x > 1)
- gtk_toolbar_append_space( m_toolbar ); // oh well
-#endif
-
m_xMargin = x;
m_yMargin = y;
}
void wxToolBar::SetToolSeparation( int separation )
{
// FIXME: this function disappeared
-#ifndef __WXGTK20__
+#if 0
gtk_toolbar_set_space_size( m_toolbar, separation );
#endif
wxVisualAttributes
wxToolBar::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
{
-#ifdef __WXGTK20__
return GetDefaultAttributesFromGTKWidget(gtk_toolbar_new);
-#else
- wxVisualAttributes attr;
- GtkWidget* widget = gtk_toolbar_new(GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
- attr = GetDefaultAttributesFromGTKWidget(widget);
- gtk_widget_destroy(widget);
- return attr;
-#endif
}
#endif // wxUSE_TOOLBAR_NATIVE