libegg r844 - in trunk: . libegg/toolpalette



Author: hasselmm
Date: Tue Jan 15 10:46:33 2008
New Revision: 844
URL: http://svn.gnome.org/viewvc/libegg?rev=844&view=rev

Log:
Mask GTK+ 2.15 features in EggToolPalette to support currently
GTK+ stable release. Without GTK+ 2.15 appearance of the tool
palette cannot be changed dynamically.

* libegg/toolpalette/eggtoolitemgroup.c: Don't call
gtk_tool_item_toolbar_reconfigured without GTK+ 2.15.
* libegg/toolpalette/eggtoolpalette.c: Don't implemented
GtkToolShellIface without GTK+ 2.15.


Modified:
   trunk/ChangeLog
   trunk/libegg/toolpalette/eggtoolitemgroup.c
   trunk/libegg/toolpalette/eggtoolpalette.c

Modified: trunk/libegg/toolpalette/eggtoolitemgroup.c
==============================================================================
--- trunk/libegg/toolpalette/eggtoolitemgroup.c	(original)
+++ trunk/libegg/toolpalette/eggtoolitemgroup.c	Tue Jan 15 10:46:33 2008
@@ -22,11 +22,7 @@
 #include "eggtoolitemgroup.h"
 #include "eggtoolpaletteprivate.h"
 
-#include <gtk/gtkalignment.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtktoolshell.h>
-
+#include <gtk/gtk.h>
 #include <string.h>
 
 #define ANIMATION_TIMEOUT        50
@@ -61,11 +57,19 @@
   guint             expanded : 1;
 };
 
+#ifdef GTK_TOOL_SHELL
+
 static void egg_tool_item_group_tool_shell_init (GtkToolShellIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (EggToolItemGroup, egg_tool_item_group, GTK_TYPE_CONTAINER,
 G_IMPLEMENT_INTERFACE (GTK_TYPE_TOOL_SHELL, egg_tool_item_group_tool_shell_init));
 
+#else
+
+G_DEFINE_TYPE (EggToolItemGroup, egg_tool_item_group, GTK_TYPE_CONTAINER);
+
+#endif
+
 static void
 egg_tool_item_group_repack (EggToolItemGroup *group)
 {
@@ -250,6 +254,8 @@
     _egg_tool_item_group_item_size_request (group, item_size);
 }
 
+#ifdef GTK_TOOL_SHELL
+
 static GtkIconSize
 egg_tool_item_group_get_icon_size (GtkToolShell *shell)
 {
@@ -283,12 +289,28 @@
   return GTK_TOOLBAR_ICONS;
 }
 
+#else /* GTK_TOOL_SHELL */
+
+static GtkOrientation
+egg_tool_item_group_get_orientation (EggToolItemGroup *group)
+{
+  GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (group));
+
+  if (EGG_IS_TOOL_PALETTE (parent))
+    return egg_tool_palette_get_orientation (EGG_TOOL_PALETTE (parent));
+
+  return GTK_ORIENTATION_VERTICAL;
+}
+
+#endif /* GTK_TOOL_SHELL */
+
 static void
 egg_tool_item_group_size_request (GtkWidget      *widget,
                                   GtkRequisition *requisition)
 {
   const gint border_width = GTK_CONTAINER (widget)->border_width;
   EggToolItemGroup *group = EGG_TOOL_ITEM_GROUP (widget);
+  GtkOrientation orientation;
   GtkRequisition item_size;
 
   egg_tool_item_group_repack (group);
@@ -306,8 +328,13 @@
 
   egg_tool_item_group_get_item_size (group, &item_size);
 
-  if (GTK_ORIENTATION_VERTICAL ==
-      egg_tool_item_group_get_orientation (GTK_TOOL_SHELL (group)))
+#ifdef GTK_TOOL_SHELL
+  orientation = gtk_tool_shell_get_orientation (GTK_TOOL_SHELL (group));
+#else
+  orientation = egg_tool_item_group_get_orientation (group);
+#endif
+
+  if (GTK_ORIENTATION_VERTICAL == orientation)
     requisition->width = MAX (requisition->width, item_size.width);
   else
     requisition->height = MAX (requisition->height, item_size.height);
@@ -581,6 +608,8 @@
   g_type_class_add_private (cls, sizeof (EggToolItemGroupPrivate));
 }
 
+#ifdef GTK_TOOL_SHELL
+
 static void
 egg_tool_item_group_tool_shell_init (GtkToolShellIface *iface)
 {
@@ -589,6 +618,8 @@
   iface->get_style = egg_tool_item_group_get_style;
 }
 
+#endif /* GTK_TOOL_SHELL */
+
 GtkWidget*
 egg_tool_item_group_new (const gchar *name)
 {

Modified: trunk/libegg/toolpalette/eggtoolpalette.c
==============================================================================
--- trunk/libegg/toolpalette/eggtoolpalette.c	(original)
+++ trunk/libegg/toolpalette/eggtoolpalette.c	Tue Jan 15 10:46:33 2008
@@ -93,6 +93,8 @@
   palette->priv->style = DEFAULT_TOOLBAR_STYLE;
 }
 
+#ifdef GTK_TOOL_SHELL
+
 static void
 egg_tool_palette_reconfigured_foreach_item (GtkWidget *child,
                                             gpointer   data G_GNUC_UNUSED)
@@ -101,6 +103,7 @@
     gtk_tool_item_toolbar_reconfigured (GTK_TOOL_ITEM (child));
 }
 
+
 static void
 egg_tool_palette_reconfigured (EggToolPalette *palette)
 {
@@ -121,6 +124,16 @@
   gtk_widget_queue_resize_no_redraw (GTK_WIDGET (palette));
 }
 
+#else /* GTK_TOOL_SHELL */
+
+static void
+egg_tool_palette_reconfigured (EggToolPalette *palette)
+{
+  gtk_widget_queue_resize_no_redraw (GTK_WIDGET (palette));
+}
+
+#endif /* GTK_TOOL_SHELL */
+
 static void
 egg_tool_palette_set_property (GObject      *object,
                                guint         prop_id,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]