/* Chrysalide - Outil d'analyse de fichiers binaires * toolbar.c - gestion des éléments réactifs spécifiques à la barre d'outils * * Copyright (C) 2010-2012 Cyrille Bagard * * This file is part of Chrysalide. * * OpenIDA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * OpenIDA 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "toolbar.h" #include #include "../editem-int.h" /* Elément réactif pour barre d'outils de l'éditeur (instance) */ struct _GToolbarItem { GEditorItem parent; /* A laisser en premier */ }; /* Elément réactif pour barre d'outils de l'éditeur (classe) */ struct _GToolbarItemClass { GEditorItemClass parent; /* A laisser en premier */ }; /* Initialise la classe des éléments réactifs de l'éditeur. */ static void g_toolbar_item_class_init(GToolbarItemClass *); /* Initialise une instance d'élément réactif pour l'éditeur. */ static void g_toolbar_item_init(GToolbarItem *); /* Indique le type défini pour un élément destiné à une barre d'outils. */ G_DEFINE_TYPE(GToolbarItem, g_toolbar_item, G_TYPE_EDITOR_ITEM); /****************************************************************************** * * * Paramètres : klass = classe à initialiser. * * * * Description : Initialise la classe des éléments réactifs de l'éditeur. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ static void g_toolbar_item_class_init(GToolbarItemClass *klass) { } /****************************************************************************** * * * Paramètres : item = instance à initialiser. * * * * Description : Initialise une instance d'élément réactif pour l'éditeur. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ static void g_toolbar_item_init(GToolbarItem *item) { } /****************************************************************************** * * * Paramètres : ref = espace de référencement global. * * name = nom associé à l'élément. * * widget = composant à présenter à l'affichage. * * label = étiquette destinée au menu. * * * * Description : Crée un élément de barre d'outils réactif. * * * * Retour : Adresse de la structure mise en place. * * * * Remarques : - * * * ******************************************************************************/ GEditorItem *g_toolbar_item_new(GObject *ref, const char *name, GtkWidget *widget, const char *label) { GToolbarItem *result; /* Structure à retourner */ GEditorItem *item; /* Autre version de l'élément */ GtkContainer *toolbar; /* Barre d'outils visée */ result = g_object_new(G_TYPE_TOOLBAR_ITEM, NULL); /* Initialisation générique */ item = G_EDITOR_ITEM(result); g_object_ref(ref); item->ref = ref; item->name = name; g_object_ref(widget); item->widget = widget; /* Intégration dans la barre */ toolbar = GTK_CONTAINER(g_object_get_data(ref, "toolbar")); gtk_container_add(toolbar, widget); return G_EDITOR_ITEM(result); }