aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-03-26 03:33:20 +0800
committerChris Lahey <clahey@src.gnome.org>2002-03-26 03:33:20 +0800
commita020c2bd2ff5b6f417fb836c3b461ca7aaa915f2 (patch)
tree4eb7eb5d6c60e088f8c5b1171b56d6eb7dc2ea43 /widgets
parent660118fcbe6e5d08d2c54588bfd0a58b5d346f20 (diff)
downloadgsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.gz
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.tar.zst
gsoc2013-evolution-a020c2bd2ff5b6f417fb836c3b461ca7aaa915f2.zip
Added widgets/e-option-menu.lo.
2002-03-25 Christopher James Lahey <clahey@ximian.com> * gal/Makefile.am (libgal_la_LIBADD): Added widgets/e-option-menu.lo. * gal/util/e-util.c, gal/util/e-util.h (e_strdupv): Copied this function from glib2. (GET_STRING_ARRAY_FROM_ELLIPSIS, GET_DUPLICATED_STRING_ARRAY_FROM_ELLIPSIS): Added these macros to automate getting a NULL terminated array off of the stack. * gal/widgets/Makefile.am (libwidgets_la_SOURCES): Added e-option-menu.c. (libwidgetsinclude_HEADERS): Added e-option-menu.h. * gal/widgets/e-canvas.c (e_canvas_class_init): Reformatted this function. * gal/widgets/e-gui-utils.c, gal/widgets/e-gui-utils.h (e_glade_xml_connect_widget, e_glade_xml_set_sensitive): Two new functions to automate pulling a widget from a GladeXML and either connecting a signal or setting the sensitivity. * gal/widgets/e-option-menu.c, gal/widgets/e-option-menu.h: New class to simplify the interface to GtkOptionMenu. svn path=/trunk/; revision=16246
Diffstat (limited to 'widgets')
-rw-r--r--widgets/misc/e-canvas.c28
-rw-r--r--widgets/misc/e-gui-utils.c31
-rw-r--r--widgets/misc/e-gui-utils.h38
3 files changed, 69 insertions, 28 deletions
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
index 7afdd21073..50443a4364 100644
--- a/widgets/misc/e-canvas.c
+++ b/widgets/misc/e-canvas.c
@@ -90,25 +90,25 @@ e_canvas_class_init (ECanvasClass *klass)
GnomeCanvasClass *canvas_class;
GtkWidgetClass *widget_class;
- object_class = (GtkObjectClass*) klass;
- canvas_class = (GnomeCanvasClass *) klass;
- widget_class = (GtkWidgetClass *) klass;
+ object_class = (GtkObjectClass*) klass;
+ canvas_class = (GnomeCanvasClass *) klass;
+ widget_class = (GtkWidgetClass *) klass;
- parent_class = gtk_type_class (gnome_canvas_get_type ());
+ parent_class = gtk_type_class (gnome_canvas_get_type ());
- object_class->destroy = e_canvas_destroy;
+ object_class->destroy = e_canvas_destroy;
- widget_class->key_press_event = e_canvas_key;
- widget_class->key_release_event = e_canvas_key;
- widget_class->button_press_event = e_canvas_button;
+ widget_class->key_press_event = e_canvas_key;
+ widget_class->key_release_event = e_canvas_key;
+ widget_class->button_press_event = e_canvas_button;
widget_class->button_release_event = e_canvas_button;
- widget_class->focus_in_event = e_canvas_focus_in;
- widget_class->focus_out_event = e_canvas_focus_out;
- widget_class->style_set = e_canvas_style_set;
- widget_class->realize = e_canvas_realize;
- widget_class->unrealize = e_canvas_unrealize;
+ widget_class->focus_in_event = e_canvas_focus_in;
+ widget_class->focus_out_event = e_canvas_focus_out;
+ widget_class->style_set = e_canvas_style_set;
+ widget_class->realize = e_canvas_realize;
+ widget_class->unrealize = e_canvas_unrealize;
- klass->reflow = NULL;
+ klass->reflow = NULL;
e_canvas_signals [REFLOW] =
gtk_signal_new ("reflow",
diff --git a/widgets/misc/e-gui-utils.c b/widgets/misc/e-gui-utils.c
index 122d0a86d9..d70bb829a6 100644
--- a/widgets/misc/e-gui-utils.c
+++ b/widgets/misc/e-gui-utils.c
@@ -229,3 +229,34 @@ e_container_focus_nth_entry(GtkContainer *container, int n)
if (data.widget)
gtk_widget_grab_focus(data.widget);
}
+
+gboolean
+e_glade_xml_connect_widget (GladeXML *gui, char *name, char *signal, GtkSignalFunc cb, gpointer closure)
+{
+ GtkWidget *widget;
+
+ widget = glade_xml_get_widget (gui, name);
+
+ if (widget) {
+ gtk_signal_connect (GTK_OBJECT (widget), signal,
+ cb, closure);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+gboolean
+e_glade_xml_set_sensitive (GladeXML *gui, char *name, gboolean sensitive)
+{
+ GtkWidget *widget;
+
+ widget = glade_xml_get_widget (gui, name);
+
+ if (widget) {
+ gtk_widget_set_sensitive (widget, sensitive);
+ return TRUE;
+ }
+
+ return FALSE;
+}
diff --git a/widgets/misc/e-gui-utils.h b/widgets/misc/e-gui-utils.h
index b6f6b99e47..7cbf774c9e 100644
--- a/widgets/misc/e-gui-utils.h
+++ b/widgets/misc/e-gui-utils.h
@@ -29,23 +29,33 @@
#include <libgnomeui/gnome-messagebox.h>
#include <libgnome/gnome-defs.h>
+#include <glade/glade-xml.h>
BEGIN_GNOME_DECLS
-void e_popup_menu (GtkMenu *menu,
- GdkEvent *event);
-void e_auto_kill_popup_menu_on_hide (GtkMenu *menu);
-void e_notice (GtkWindow *window,
- const char *type,
- const char *format,
- ...);
-void e_container_foreach_leaf (GtkContainer *container,
- GtkCallback callback,
- gpointer closure);
-void e_container_focus_nth_entry (GtkContainer *container,
- int n);
-gint e_container_change_tab_order (GtkContainer *container,
- GList *widgets);
+void e_popup_menu (GtkMenu *menu,
+ GdkEvent *event);
+void e_auto_kill_popup_menu_on_hide (GtkMenu *menu);
+void e_notice (GtkWindow *window,
+ const char *type,
+ const char *format,
+ ...);
+void e_container_foreach_leaf (GtkContainer *container,
+ GtkCallback callback,
+ gpointer closure);
+void e_container_focus_nth_entry (GtkContainer *container,
+ int n);
+gint e_container_change_tab_order (GtkContainer *container,
+ GList *widgets);
+/* Returns TRUE on success. */
+gboolean e_glade_xml_connect_widget (GladeXML *gui,
+ char *name,
+ char *signal,
+ GtkSignalFunc cb,
+ gpointer closure);
+gboolean e_glade_xml_set_sensitive (GladeXML *gui,
+ char *name,
+ gboolean sensitive);
END_GNOME_DECLS