aboutsummaryrefslogtreecommitdiffstats
path: root/lib/egg
diff options
context:
space:
mode:
Diffstat (limited to 'lib/egg')
-rw-r--r--lib/egg/.cvsignore2
-rw-r--r--lib/egg/Makefile.am4
-rw-r--r--lib/egg/eggdropdowntoolbutton.c411
-rw-r--r--lib/egg/eggdropdowntoolbutton.h73
-rw-r--r--lib/egg/eggmarshalers.c638
-rw-r--r--lib/egg/eggmarshalers.h143
-rw-r--r--lib/egg/eggmarshalers.list1
-rwxr-xr-xlib/egg/update-from-egg.sh3
8 files changed, 494 insertions, 781 deletions
diff --git a/lib/egg/.cvsignore b/lib/egg/.cvsignore
index 3dda72986..bb66b8fe5 100644
--- a/lib/egg/.cvsignore
+++ b/lib/egg/.cvsignore
@@ -1,2 +1,4 @@
Makefile.in
Makefile
+eggmarshalers.h
+eggmarshalers.c
diff --git a/lib/egg/Makefile.am b/lib/egg/Makefile.am
index 09de92ac5..7d2471e68 100644
--- a/lib/egg/Makefile.am
+++ b/lib/egg/Makefile.am
@@ -8,6 +8,7 @@ INCLUDES = \
noinst_LTLIBRARIES = libegg.la
EGGSOURCES = \
+ eggdropdowntoolbutton.c \
eggtreemultidnd.c \
egg-editable-toolbar.c \
egg-toolbars-model.c \
@@ -21,6 +22,7 @@ libegg_la_SOURCES = \
eggmarshalers.c
EGGHEADERS = \
+ eggdropdowntoolbutton.h \
eggtreemultidnd.h \
egg-editable-toolbar.h \
egg-toolbars-model.h \
@@ -34,6 +36,8 @@ noinst_HEADERS = \
eggmarshalers.h \
eggintl.h
+BUILT_SOURCES = eggmarshalers.h eggmarshalers.c
+
eggmarshalers.h: eggmarshalers.list
cd $(srcdir) \
&& $(GLIB_GENMARSHAL) --prefix=_egg_marshal eggmarshalers.list --header > xgen-emh \
diff --git a/lib/egg/eggdropdowntoolbutton.c b/lib/egg/eggdropdowntoolbutton.c
new file mode 100644
index 000000000..0ffe2f588
--- /dev/null
+++ b/lib/egg/eggdropdowntoolbutton.c
@@ -0,0 +1,411 @@
+/* GTK - The GIMP Toolkit
+ *
+ * Copyright (C) 2003 Ricardo Fernandez Pascual
+ * Copyright (C) 2004 Paolo Borelli
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+#include "config.h"
+
+#include "eggdropdowntoolbutton.h"
+
+#include <gtk/gtktogglebutton.h>
+#include <gtk/gtkarrow.h>
+#include <gtk/gtkhbox.h>
+#include <gtk/gtkmenu.h>
+#include <gtk/gtkmain.h>
+#include <gdk/gdkkeysyms.h>
+
+
+#define EGG_DROPDOWN_TOOL_BUTTON_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EGG_TYPE_DROPDOWN_TOOL_BUTTON, EggDropdownToolButtonPrivate))
+
+struct _EggDropdownToolButtonPrivate
+{
+ GtkWidget *button;
+ GtkWidget *arrow_button;
+ GtkMenu *menu;
+};
+
+static void egg_dropdown_tool_button_init (EggDropdownToolButton *button);
+static void egg_dropdown_tool_button_class_init (EggDropdownToolButtonClass *klass);
+static void egg_dropdown_tool_button_finalize (GObject *object);
+
+enum {
+ MENU_ACTIVATED,
+ LAST_SIGNAL
+};
+
+static gint signals[LAST_SIGNAL];
+
+static GObjectClass *parent_class = NULL;
+
+GType
+egg_dropdown_tool_button_get_type (void)
+{
+ static GType type = 0;
+
+ if (type == 0)
+ {
+ static const GTypeInfo info =
+ {
+ sizeof (EggDropdownToolButtonClass),
+ (GBaseInitFunc) 0,
+ (GBaseFinalizeFunc) 0,
+ (GClassInitFunc) egg_dropdown_tool_button_class_init,
+ (GClassFinalizeFunc) 0,
+ NULL,
+ sizeof (EggDropdownToolButton),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) egg_dropdown_tool_button_init
+ };
+
+ type = g_type_register_static (GTK_TYPE_TOOL_BUTTON,
+ "EggDropdownToolButton",
+ &info, 0);
+ }
+
+ return type;
+}
+
+static gboolean
+egg_dropdown_tool_button_set_tooltip (GtkToolItem *tool_item,
+ GtkTooltips *tooltips,
+ const char *tip_text,
+ const char *tip_private)
+{
+ EggDropdownToolButton *button;
+
+ g_return_val_if_fail (EGG_IS_DROPDOWN_TOOL_BUTTON (tool_item), FALSE);
+
+ button = EGG_DROPDOWN_TOOL_BUTTON (tool_item);
+ gtk_tooltips_set_tip (tooltips, button->priv->button, tip_text, tip_private);
+
+ return TRUE;
+}
+
+static void
+egg_dropdown_tool_button_class_init (EggDropdownToolButtonClass *klass)
+{
+ GObjectClass *object_class;
+ GtkToolItemClass *toolitem_class;
+ GtkToolButtonClass *toolbutton_class;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ object_class = (GObjectClass *)klass;
+ toolitem_class = (GtkToolItemClass *)klass;
+ toolbutton_class = (GtkToolButtonClass *)klass;
+
+ object_class->finalize = egg_dropdown_tool_button_finalize;
+ toolitem_class->set_tooltip = egg_dropdown_tool_button_set_tooltip;
+
+ signals[MENU_ACTIVATED] =
+ g_signal_new ("menu-activated",
+ G_OBJECT_CLASS_TYPE (klass),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EggDropdownToolButtonClass, menu_activated),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
+ g_type_class_add_private (object_class, sizeof (EggDropdownToolButtonPrivate));
+}
+
+static void
+button_state_changed_cb (GtkWidget *widget,
+ GtkStateType previous_state,
+ EggDropdownToolButton *button)
+{
+ EggDropdownToolButtonPrivate *priv = button->priv;
+ GtkWidget *b;
+ GtkStateType state = GTK_WIDGET_STATE (widget);
+
+ b = (widget == priv->arrow_button) ? priv->button : priv->arrow_button;
+
+ g_signal_handlers_block_by_func (G_OBJECT (b),
+ G_CALLBACK (button_state_changed_cb),
+ button);
+
+ if (state == GTK_STATE_PRELIGHT &&
+ previous_state != GTK_STATE_ACTIVE)
+ {
+ gtk_widget_set_state (b, state);
+ }
+ else if (state == GTK_STATE_NORMAL)
+ {
+ gtk_widget_set_state (b, state);
+ }
+ else if (state == GTK_STATE_ACTIVE)
+ {
+ gtk_widget_set_state (b, GTK_STATE_NORMAL);
+ }
+
+ g_signal_handlers_unblock_by_func (G_OBJECT (b),
+ G_CALLBACK (button_state_changed_cb),
+ button);
+}
+
+static void
+menu_position_func (GtkMenu *menu,
+ int *x,
+ int *y,
+ gboolean *push_in,
+ EggDropdownToolButton *button)
+{
+ EggDropdownToolButtonPrivate *priv;
+ GtkWidget *widget;
+ GtkRequisition menu_requisition;
+ int max_x, max_y;
+
+ priv = button->priv;
+ widget = GTK_WIDGET (button);
+
+ gdk_window_get_origin (widget->window, x, y);
+ gtk_widget_size_request (GTK_WIDGET (priv->menu), &menu_requisition);
+
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ *x += widget->allocation.x +
+ widget->allocation.width -
+ menu_requisition.width;
+ else
+ *x += widget->allocation.x;
+
+ *y += widget->allocation.y + widget->allocation.height;
+
+ /* Make sure we are on the screen. */
+ max_x = MAX (0, gdk_screen_width () - menu_requisition.width);
+ max_y = MAX (0, gdk_screen_height () - menu_requisition.height);
+
+ *x = CLAMP (*x, 0, max_x);
+ *y = CLAMP (*y, 0, max_y);
+}
+
+static void
+popup_menu_under_arrow (EggDropdownToolButton *button,
+ GdkEventButton *event)
+{
+ EggDropdownToolButtonPrivate *priv = button->priv;
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->arrow_button), TRUE);
+
+ g_signal_emit (button, signals[MENU_ACTIVATED], 0);
+
+ if (!priv->menu)
+ return;
+
+ gtk_menu_popup (priv->menu, NULL, NULL,
+ (GtkMenuPositionFunc) menu_position_func,
+ button,
+ event ? event->button : 0,
+ event ? event->time : gtk_get_current_event_time ());
+}
+
+static gboolean
+arrow_button_press_event_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ EggDropdownToolButton *button)
+{
+ popup_menu_under_arrow (button, event);
+
+ return TRUE;
+}
+
+static gboolean
+arrow_key_press_event_cb (GtkWidget *widget,
+ GdkEventKey *event,
+ EggDropdownToolButton *button)
+{
+ if (event->keyval == GDK_space ||
+ event->keyval == GDK_KP_Space ||
+ event->keyval == GDK_Return ||
+ event->keyval == GDK_KP_Enter ||
+ event->keyval == GDK_Menu)
+ {
+ popup_menu_under_arrow (button, NULL);
+ }
+
+ return FALSE;
+}
+
+/* right click on the button shows the menu */
+static gboolean
+button_button_press_event_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ EggDropdownToolButton *button)
+{
+ if (event->button == 3)
+ {
+ popup_menu_under_arrow (button, event);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void
+button_popup_menu_cb (GtkWidget *widget,
+ EggDropdownToolButton *button)
+{
+ popup_menu_under_arrow (button, NULL);
+}
+
+static void
+egg_dropdown_tool_button_init (EggDropdownToolButton *button)
+{
+ GtkWidget *hbox;
+ GtkWidget *arrow;
+ GtkWidget *arrow_button;
+ GtkWidget *real_button;
+
+ button->priv = EGG_DROPDOWN_TOOL_BUTTON_GET_PRIVATE (button);
+
+ gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (button), FALSE);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+
+ real_button = GTK_BIN (button)->child;
+ g_object_ref (real_button);
+ gtk_container_remove (GTK_CONTAINER (button), real_button);
+ gtk_container_add (GTK_CONTAINER (hbox), real_button);
+ g_object_unref (real_button);
+
+ arrow_button = gtk_toggle_button_new ();
+ arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
+ gtk_button_set_relief (GTK_BUTTON (arrow_button), GTK_RELIEF_NONE);
+ gtk_container_add (GTK_CONTAINER (arrow_button), arrow);
+
+ gtk_box_pack_end (GTK_BOX (hbox), arrow_button,
+ FALSE, FALSE, 0);
+ gtk_widget_show_all (hbox);
+
+ gtk_container_add (GTK_CONTAINER (button), hbox);
+
+ button->priv->button = real_button;
+ button->priv->arrow_button = arrow_button;
+
+ g_signal_connect (real_button, "state_changed",
+ G_CALLBACK (button_state_changed_cb), button);
+ g_signal_connect (real_button, "button_press_event",
+ G_CALLBACK (button_button_press_event_cb), button);
+ g_signal_connect (real_button, "popup_menu",
+ G_CALLBACK (button_popup_menu_cb), button);
+ g_signal_connect (arrow_button, "state_changed",
+ G_CALLBACK (button_state_changed_cb), button);
+ g_signal_connect (arrow_button, "key_press_event",
+ G_CALLBACK (arrow_key_press_event_cb), button);
+ g_signal_connect (arrow_button, "button_press_event",
+ G_CALLBACK (arrow_button_press_event_cb), button);
+}
+
+static void
+egg_dropdown_tool_button_finalize (GObject *object)
+{
+ EggDropdownToolButton *button;
+
+ button = EGG_DROPDOWN_TOOL_BUTTON (object);
+
+ if (button->priv->menu)
+ g_object_unref (button->priv->menu);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+GtkToolItem *
+egg_dropdown_tool_button_new (void)
+{
+ EggDropdownToolButton *button;
+
+ button = g_object_new (EGG_TYPE_DROPDOWN_TOOL_BUTTON,
+ NULL);
+
+ return GTK_TOOL_ITEM (button);
+}
+
+GtkToolItem *
+egg_dropdown_tool_button_new_from_stock (const gchar *stock_id)
+{
+ EggDropdownToolButton *button;
+
+ g_return_val_if_fail (stock_id != NULL, NULL);
+
+ button = g_object_new (EGG_TYPE_DROPDOWN_TOOL_BUTTON,
+ "stock_id", stock_id,
+ NULL);
+
+ return GTK_TOOL_ITEM (button);
+}
+
+/* Callback for the "deactivate" signal on the pop-up menu.
+ * This is used so that we unset the state of the toggle button
+ * when the pop-up menu disappears.
+ */
+static int
+menu_deactivate_cb (GtkMenuShell *menu_shell,
+ EggDropdownToolButton *button)
+{
+ EggDropdownToolButtonPrivate *priv = button->priv;
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->arrow_button), FALSE);
+
+ return TRUE;
+}
+
+void
+egg_dropdown_tool_button_set_menu (EggDropdownToolButton *button,
+ GtkMenuShell *menu)
+{
+ EggDropdownToolButtonPrivate *priv;
+
+ g_return_if_fail (EGG_IS_DROPDOWN_TOOL_BUTTON (button));
+ g_return_if_fail (GTK_IS_MENU (menu));
+
+ priv = button->priv;
+
+ if (priv->menu != GTK_MENU (menu))
+ {
+ if (priv->menu)
+ g_object_unref (priv->menu);
+
+ priv->menu = GTK_MENU (menu);
+
+ g_object_ref (priv->menu);
+ gtk_object_sink (GTK_OBJECT (priv->menu));
+
+ g_signal_connect (button->priv->menu, "deactivate",
+ G_CALLBACK (menu_deactivate_cb), button);
+ }
+}
+
+GtkMenuShell *
+egg_dropdown_tool_button_get_menu (EggDropdownToolButton *button)
+{
+ return GTK_MENU_SHELL (button->priv->menu);
+}
+
+void
+egg_dropdown_tool_button_set_arrow_tooltip (EggDropdownToolButton *button,
+ GtkTooltips *tooltips,
+ const gchar *tip_text,
+ const gchar *tip_private)
+{
+ g_return_if_fail (EGG_IS_DROPDOWN_TOOL_BUTTON (button));
+
+ gtk_tooltips_set_tip (tooltips, button->priv->arrow_button, tip_text, tip_private);
+}
+
diff --git a/lib/egg/eggdropdowntoolbutton.h b/lib/egg/eggdropdowntoolbutton.h
new file mode 100644
index 000000000..2cf26e013
--- /dev/null
+++ b/lib/egg/eggdropdowntoolbutton.h
@@ -0,0 +1,73 @@
+/* GTK - The GIMP Toolkit
+ *
+ * Copyright (C) 2003 Ricardo Fernandez Pascual
+ * Copyright (C) 2004 Paolo Borelli
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __EGG_DROPDOWN_TOOL_BUTTON_H__
+#define __EGG_DROPDOWN_TOOL_BUTTON_H__
+
+#include <glib.h>
+#include <gtk/gtkmenushell.h>
+#include <gtk/gtktoolbutton.h>
+
+G_BEGIN_DECLS
+
+#define EGG_TYPE_DROPDOWN_TOOL_BUTTON (egg_dropdown_tool_button_get_type ())
+#define EGG_DROPDOWN_TOOL_BUTTON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EGG_TYPE_DROPDOWN_TOOL_BUTTON, EggDropdownToolButton))
+#define EGG_DROPDOWN_TOOL_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EGG_TYPE_DROPDOWN_TOOL_BUTTON, EggDropdownToolButtonClass))
+#define EGG_IS_DROPDOWN_TOOL_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EGG_TYPE_DROPDOWN_TOOL_BUTTON))
+#define EGG_IS_DROPDOWN_TOOL_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EGG_TYPE_DROPDOWN_TOOL_BUTTON))
+#define EGG_DROPDOWN_TOOL_BUTTON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EGG_TYPE_DROPDOWN_TOOL_BUTTON, EggDropdownToolButtonClass))
+
+typedef struct _EggDropdownToolButtonClass EggDropdownToolButtonClass;
+typedef struct _EggDropdownToolButton EggDropdownToolButton;
+typedef struct _EggDropdownToolButtonPrivate EggDropdownToolButtonPrivate;
+
+struct _EggDropdownToolButton
+{
+ GtkToolButton parent;
+
+ /*< private >*/
+ EggDropdownToolButtonPrivate *priv;
+};
+
+struct _EggDropdownToolButtonClass
+{
+ GtkToolButtonClass parent_class;
+
+ void (*menu_activated) (EggDropdownToolButton *button);
+};
+
+GType egg_dropdown_tool_button_get_type (void);
+GtkToolItem *egg_dropdown_tool_button_new (void);
+GtkToolItem *egg_dropdown_tool_button_new_from_stock (const gchar *stock_id);
+
+void egg_dropdown_tool_button_set_menu (EggDropdownToolButton *button,
+ GtkMenuShell *menu);
+GtkMenuShell *egg_dropdown_tool_button_get_menu (EggDropdownToolButton *button);
+
+void egg_dropdown_tool_button_set_arrow_tooltip (EggDropdownToolButton *button,
+ GtkTooltips *tooltips,
+ const gchar *tip_text,
+ const gchar *tip_private);
+
+
+G_END_DECLS;
+
+#endif /* __EGG_DROPDOWN_TOOL_BUTTON_H__ */
diff --git a/lib/egg/eggmarshalers.c b/lib/egg/eggmarshalers.c
deleted file mode 100644
index 1d336db0e..000000000
--- a/lib/egg/eggmarshalers.c
+++ /dev/null
@@ -1,638 +0,0 @@
-
-#include <glib-object.h>
-
-
-#ifdef G_ENABLE_DEBUG
-#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
-#define g_marshal_value_peek_char(v) g_value_get_char (v)
-#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
-#define g_marshal_value_peek_int(v) g_value_get_int (v)
-#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
-#define g_marshal_value_peek_long(v) g_value_get_long (v)
-#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
-#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
-#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
-#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
-#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
-#define g_marshal_value_peek_float(v) g_value_get_float (v)
-#define g_marshal_value_peek_double(v) g_value_get_double (v)
-#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
-#define g_marshal_value_peek_param(v) g_value_get_param (v)
-#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
-#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
-#define g_marshal_value_peek_object(v) g_value_get_object (v)
-#else /* !G_ENABLE_DEBUG */
-/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
- * Do not access GValues directly in your code. Instead, use the
- * g_value_get_*() functions
- */
-#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
-#define g_marshal_value_peek_char(v) (v)->data[0].v_int
-#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
-#define g_marshal_value_peek_int(v) (v)->data[0].v_int
-#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
-#define g_marshal_value_peek_long(v) (v)->data[0].v_long
-#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
-#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
-#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
-#define g_marshal_value_peek_enum(v) (v)->data[0].v_int
-#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint
-#define g_marshal_value_peek_float(v) (v)->data[0].v_float
-#define g_marshal_value_peek_double(v) (v)->data[0].v_double
-#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
-#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
-#endif /* !G_ENABLE_DEBUG */
-
-
-/* VOID:OBJECT,OBJECT (eggmarshalers.list:1) */
-void
-_egg_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_OBJECT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 3);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_object (param_values + 2),
- data2);
-}
-
-/* VOID:OBJECT,STRING,LONG,LONG (eggmarshalers.list:2) */
-void
-_egg_marshal_VOID__OBJECT_STRING_LONG_LONG (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- glong arg_3,
- glong arg_4,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 5);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__OBJECT_STRING_LONG_LONG) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_string (param_values + 2),
- g_marshal_value_peek_long (param_values + 3),
- g_marshal_value_peek_long (param_values + 4),
- data2);
-}
-
-/* VOID:OBJECT,LONG (eggmarshalers.list:3) */
-void
-_egg_marshal_VOID__OBJECT_LONG (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__OBJECT_LONG) (gpointer data1,
- gpointer arg_1,
- glong arg_2,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_LONG callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 3);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__OBJECT_LONG) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_long (param_values + 2),
- data2);
-}
-
-/* VOID:OBJECT,STRING,STRING (eggmarshalers.list:4) */
-void
-_egg_marshal_VOID__OBJECT_STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__OBJECT_STRING_STRING) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- gpointer arg_3,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_STRING_STRING callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 4);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__OBJECT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_string (param_values + 2),
- g_marshal_value_peek_string (param_values + 3),
- data2);
-}
-
-/* VOID:UINT,UINT (eggmarshalers.list:5) */
-void
-_egg_marshal_VOID__UINT_UINT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__UINT_UINT) (gpointer data1,
- guint arg_1,
- guint arg_2,
- gpointer data2);
- register GMarshalFunc_VOID__UINT_UINT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 3);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__UINT_UINT) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_uint (param_values + 1),
- g_marshal_value_peek_uint (param_values + 2),
- data2);
-}
-
-/* BOOLEAN:INT (eggmarshalers.list:6) */
-void
-_egg_marshal_BOOLEAN__INT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gboolean (*GMarshalFunc_BOOLEAN__INT) (gpointer data1,
- gint arg_1,
- gpointer data2);
- register GMarshalFunc_BOOLEAN__INT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gboolean v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 2);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_BOOLEAN__INT) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_int (param_values + 1),
- data2);
-
- g_value_set_boolean (return_value, v_return);
-}
-
-/* BOOLEAN:ENUM (eggmarshalers.list:7) */
-void
-_egg_marshal_BOOLEAN__ENUM (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gboolean (*GMarshalFunc_BOOLEAN__ENUM) (gpointer data1,
- gint arg_1,
- gpointer data2);
- register GMarshalFunc_BOOLEAN__ENUM callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gboolean v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 2);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_BOOLEAN__ENUM) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_enum (param_values + 1),
- data2);
-
- g_value_set_boolean (return_value, v_return);
-}
-
-/* BOOLEAN:VOID (eggmarshalers.list:8) */
-void
-_egg_marshal_BOOLEAN__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gboolean (*GMarshalFunc_BOOLEAN__VOID) (gpointer data1,
- gpointer data2);
- register GMarshalFunc_BOOLEAN__VOID callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gboolean v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 1);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_BOOLEAN__VOID) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- data2);
-
- g_value_set_boolean (return_value, v_return);
-}
-
-/* OBJECT:VOID (eggmarshalers.list:9) */
-void
-_egg_marshal_OBJECT__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef GObject* (*GMarshalFunc_OBJECT__VOID) (gpointer data1,
- gpointer data2);
- register GMarshalFunc_OBJECT__VOID callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- GObject* v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 1);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_OBJECT__VOID) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- data2);
-
- g_value_take_object (return_value, v_return);
-}
-
-/* VOID:VOID (eggmarshalers.list:10) */
-
-/* VOID:INT,INT (eggmarshalers.list:11) */
-void
-_egg_marshal_VOID__INT_INT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1,
- gint arg_1,
- gint arg_2,
- gpointer data2);
- register GMarshalFunc_VOID__INT_INT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 3);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_int (param_values + 1),
- g_marshal_value_peek_int (param_values + 2),
- data2);
-}
-
-/* VOID:UINT,UINT (eggmarshalers.list:12) */
-
-/* VOID:BOOLEAN (eggmarshalers.list:13) */
-
-/* VOID:OBJECT,ENUM,BOXED (eggmarshalers.list:14) */
-void
-_egg_marshal_VOID__OBJECT_ENUM_BOXED (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef void (*GMarshalFunc_VOID__OBJECT_ENUM_BOXED) (gpointer data1,
- gpointer arg_1,
- gint arg_2,
- gpointer arg_3,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_ENUM_BOXED callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
-
- g_return_if_fail (n_param_values == 4);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_VOID__OBJECT_ENUM_BOXED) (marshal_data ? marshal_data : cc->callback);
-
- callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_enum (param_values + 2),
- g_marshal_value_peek_boxed (param_values + 3),
- data2);
-}
-
-/* VOID:BOXED (eggmarshalers.list:15) */
-
-/* BOOLEAN:BOOLEAN (eggmarshalers.list:16) */
-void
-_egg_marshal_BOOLEAN__BOOLEAN (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gboolean (*GMarshalFunc_BOOLEAN__BOOLEAN) (gpointer data1,
- gboolean arg_1,
- gpointer data2);
- register GMarshalFunc_BOOLEAN__BOOLEAN callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gboolean v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 2);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_BOOLEAN__BOOLEAN) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_boolean (param_values + 1),
- data2);
-
- g_value_set_boolean (return_value, v_return);
-}
-
-/* BOOLEAN:OBJECT,STRING,STRING (eggmarshalers.list:17) */
-void
-_egg_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- gpointer arg_3,
- gpointer data2);
- register GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gboolean v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 4);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_BOOLEAN__OBJECT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_object (param_values + 1),
- g_marshal_value_peek_string (param_values + 2),
- g_marshal_value_peek_string (param_values + 3),
- data2);
-
- g_value_set_boolean (return_value, v_return);
-}
-
-/* STRING:POINTER (eggmarshalers.list:18) */
-void
-_egg_marshal_STRING__POINTER (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gchar* (*GMarshalFunc_STRING__POINTER) (gpointer data1,
- gpointer arg_1,
- gpointer data2);
- register GMarshalFunc_STRING__POINTER callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gchar* v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 2);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_STRING__POINTER) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_pointer (param_values + 1),
- data2);
-
- g_value_take_string (return_value, v_return);
-}
-
-/* STRING:STRING,STRING (eggmarshalers.list:19) */
-void
-_egg_marshal_STRING__STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
-{
- typedef gchar* (*GMarshalFunc_STRING__STRING_STRING) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- gpointer data2);
- register GMarshalFunc_STRING__STRING_STRING callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
- gchar* v_return;
-
- g_return_if_fail (return_value != NULL);
- g_return_if_fail (n_param_values == 3);
-
- if (G_CCLOSURE_SWAP_DATA (closure))
- {
- data1 = closure->data;
- data2 = g_value_peek_pointer (param_values + 0);
- }
- else
- {
- data1 = g_value_peek_pointer (param_values + 0);
- data2 = closure->data;
- }
- callback = (GMarshalFunc_STRING__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
-
- v_return = callback (data1,
- g_marshal_value_peek_string (param_values + 1),
- g_marshal_value_peek_string (param_values + 2),
- data2);
-
- g_value_take_string (return_value, v_return);
-}
-
diff --git a/lib/egg/eggmarshalers.h b/lib/egg/eggmarshalers.h
deleted file mode 100644
index af720ee2b..000000000
--- a/lib/egg/eggmarshalers.h
+++ /dev/null
@@ -1,143 +0,0 @@
-
-#ifndef ___egg_marshal_MARSHAL_H__
-#define ___egg_marshal_MARSHAL_H__
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-/* VOID:OBJECT,OBJECT (eggmarshalers.list:1) */
-extern void _egg_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:OBJECT,STRING,LONG,LONG (eggmarshalers.list:2) */
-extern void _egg_marshal_VOID__OBJECT_STRING_LONG_LONG (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:OBJECT,LONG (eggmarshalers.list:3) */
-extern void _egg_marshal_VOID__OBJECT_LONG (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:OBJECT,STRING,STRING (eggmarshalers.list:4) */
-extern void _egg_marshal_VOID__OBJECT_STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:UINT,UINT (eggmarshalers.list:5) */
-extern void _egg_marshal_VOID__UINT_UINT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* BOOLEAN:INT (eggmarshalers.list:6) */
-extern void _egg_marshal_BOOLEAN__INT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* BOOLEAN:ENUM (eggmarshalers.list:7) */
-extern void _egg_marshal_BOOLEAN__ENUM (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* BOOLEAN:VOID (eggmarshalers.list:8) */
-extern void _egg_marshal_BOOLEAN__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* OBJECT:VOID (eggmarshalers.list:9) */
-extern void _egg_marshal_OBJECT__VOID (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:VOID (eggmarshalers.list:10) */
-#define _egg_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID
-
-/* VOID:INT,INT (eggmarshalers.list:11) */
-extern void _egg_marshal_VOID__INT_INT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:UINT,UINT (eggmarshalers.list:12) */
-
-/* VOID:BOOLEAN (eggmarshalers.list:13) */
-#define _egg_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN
-
-/* VOID:OBJECT,ENUM,BOXED (eggmarshalers.list:14) */
-extern void _egg_marshal_VOID__OBJECT_ENUM_BOXED (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* VOID:BOXED (eggmarshalers.list:15) */
-#define _egg_marshal_VOID__BOXED g_cclosure_marshal_VOID__BOXED
-
-/* BOOLEAN:BOOLEAN (eggmarshalers.list:16) */
-extern void _egg_marshal_BOOLEAN__BOOLEAN (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* BOOLEAN:OBJECT,STRING,STRING (eggmarshalers.list:17) */
-extern void _egg_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* STRING:POINTER (eggmarshalers.list:18) */
-extern void _egg_marshal_STRING__POINTER (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-/* STRING:STRING,STRING (eggmarshalers.list:19) */
-extern void _egg_marshal_STRING__STRING_STRING (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
-
-G_END_DECLS
-
-#endif /* ___egg_marshal_MARSHAL_H__ */
-
diff --git a/lib/egg/eggmarshalers.list b/lib/egg/eggmarshalers.list
index 7b79b0f3a..97654cb09 100644
--- a/lib/egg/eggmarshalers.list
+++ b/lib/egg/eggmarshalers.list
@@ -15,5 +15,6 @@ VOID:OBJECT,ENUM,BOXED
VOID:BOXED
BOOLEAN:BOOLEAN
BOOLEAN:OBJECT,STRING,STRING
+BOOLEAN:ENUM,INT
STRING:POINTER
STRING:STRING,STRING
diff --git a/lib/egg/update-from-egg.sh b/lib/egg/update-from-egg.sh
index 50690440c..dd39b1fa0 100755
--- a/lib/egg/update-from-egg.sh
+++ b/lib/egg/update-from-egg.sh
@@ -30,6 +30,9 @@ for FILE in $EGGFILES; do
if test -e $EGGDIR/treeviewutils/$FILE ; then
SRCFILE=$EGGDIR/treeviewutils/$FILE
fi
+ if test -e $EGGDIR/dropdowntoolbutton/$FILE; then
+ SRCFILE=$EGGDIR/dropdowntoolbutton/$FILE
+ fi
fi
if cmp -s $SRCFILE $FILE; then
echo "File $FILE is unchanged"