diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-06-06 14:08:21 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-06-06 14:08:21 (GMT) |
commit | b5934203c1cb287eb46b07e866b54d1de240b87b (patch) | |
tree | 283fad2a6d4517b84985331e5234095c71c8734b /src/gtkext/easygtk.c | |
parent | e72eea33b9967d4169d2c8ffcb4a9e85c4c3ee8c (diff) |
Used a treeview with icons to show all known symbols.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@165 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/easygtk.c')
-rw-r--r-- | src/gtkext/easygtk.c | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/gtkext/easygtk.c b/src/gtkext/easygtk.c index 5d44723..c14042c 100644 --- a/src/gtkext/easygtk.c +++ b/src/gtkext/easygtk.c @@ -24,6 +24,9 @@ #include "easygtk.h" +#include "support.h" + + /****************************************************************************** @@ -608,3 +611,125 @@ GtkWidget *qck_create_menu_separator(void) return result; } + + + + + + + + + + +/****************************************************************************** +* * +* Paramètres : object = espace dédié à l'inscription de références. * +* name = nom à donner au nouveau composant. * +* filename = nom du fichier d'image à charger. * +* handler = éventuelle fonction de sélection associée. * +* data = données à transmettre avec l'événement si besoin. * +* * +* Description : Crée et enregistre un composant 'GtkToolButton'. * +* * +* Retour : Simple élément de barre d'outils mis en place. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GtkWidget *qck_create_tool_button(GObject *object, const char *name, const char *filename, GCallback handler, gpointer data) +{ + GtkWidget *result; /* Résultat à renvoyer */ + GtkWidget *image; /* Image de représentation */ + + image = get_image_from_file(filename); + result = GTK_WIDGET(gtk_tool_button_new(image, NULL)); + + if (G_IS_OBJECT(object) && name != NULL) + { + gtk_widget_ref(result); + g_object_set_data_full(object, name, result, (GtkDestroyNotify)g_object_unref); + } + + gtk_widget_show(result); + + if (handler != NULL) + g_signal_connect(result, "clicked", handler, data); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : object = espace dédié à l'inscription de références. * +* name = nom à donner au nouveau composant. * +* filename = nom du fichier d'image à charger. * +* handler = éventuelle fonction de sélection associée. * +* data = données à transmettre avec l'événement si besoin. * +* * +* Description : Crée et enregistre un composant 'GtkToggleToolButton'. * +* * +* Retour : Simple élément de barre d'outils mis en place. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GtkWidget *qck_create_toggle_tool_button(GObject *object, const char *name, const char *filename, GCallback handler, gpointer data) +{ + GtkWidget *result; /* Résultat à renvoyer */ + GtkWidget *image; /* Image de représentation */ + + result = GTK_WIDGET(gtk_toggle_tool_button_new()); + + image = get_image_from_file(filename); + gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(result), image); + + if (G_IS_OBJECT(object) && name != NULL) + { + gtk_widget_ref(result); + g_object_set_data_full(object, name, result, (GtkDestroyNotify)g_object_unref); + } + + gtk_widget_show(result); + + if (handler != NULL) + g_signal_connect(result, "toggled", handler, data); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : object = espace dédié à l'inscription de références. * +* name = nom à donner au nouveau composant. * +* * +* Description : Crée et enregistre un composant 'GtkSeparatorToolItem'. * +* * +* Retour : Simple élément de barre d'outils mis en place. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GtkWidget *qck_create_tool_separator(GObject *object, const char *name) +{ + GtkWidget *result; /* Résultat à renvoyer */ + + result = GTK_WIDGET(gtk_separator_tool_item_new()); + + if (G_IS_OBJECT(object) && name != NULL) + { + gtk_widget_ref(result); + g_object_set_data_full(object, name, result, (GtkDestroyNotify)g_object_unref); + } + + gtk_widget_show(result); + + return result; + +} |