/* OpenIDA - Outil d'analyse de fichiers binaires * gtkdockitem.c - mémorisation des propriétés d'un panneau dockable * * Copyright (C) 2008 Cyrille Bagard * * This file is part of OpenIDA. * * 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 Foobar. If not, see . */ #include "gtkdockitem.h" /* Détermine le type d'un panneau dockable. */ G_DEFINE_TYPE(GtkDockItem, gtk_dock_item, GTK_TYPE_OBJECT) /****************************************************************************** * * * Paramètres : class = classe GTK à initialiser. * * * * Description : Procède à l'initialisation d'un panneau dockable. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ static void gtk_dock_item_class_init(GtkDockItemClass *class) { } /****************************************************************************** * * * Paramètres : ditem = composant GTK à initialiser. * * * * Description : Procède à l'initialisation d'un panneau dockable. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ static void gtk_dock_item_init(GtkDockItem *ditem) { ditem->name = NULL; } /****************************************************************************** * * * Paramètres : name = nouveau nom à prendre en compte. * * panel = nouveau panneau à prendre en compte. * * * * Description : Crée une nouvelle mémorisation de panneau dockable. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ GtkDockItem *gtk_dock_item_new(const gchar *name, GtkWidget *panel) { GtkDockItem *result; /* Composant à retourner */ result = g_object_new(GTK_TYPE_DOCK_ITEM, NULL); gtk_dock_item_set_name(result, name); gtk_dock_item_set_panel(result, panel); return result; } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * name = nouveau nom à prendre en compte. * * * * Description : Change le nom du panneau dockable pour son onglet. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ void gtk_dock_item_set_name(GtkDockItem *ditem, const gchar *name) { if (ditem->name != NULL) g_free(ditem->name); ditem->name = g_strdup(name); } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * * * Description : Fournit le nom du panneau dockable pour son onglet. * * * * Retour : Etiquette à faire apparaître sur un onglet. * * * * Remarques : - * * * ******************************************************************************/ const gchar *gtk_dock_item_get_name(GtkDockItem *ditem) { return ditem->name; } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * name = nouveau nom à prendre en compte. * * * * Description : Change la description du panneau dockable pour son titre. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ void gtk_dock_item_set_desc(GtkDockItem *ditem, const gchar *name) { if (ditem->name != NULL) g_free(ditem->name); ditem->name = g_strdup(name); } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * * * Description : Fournit la description du panneau dockable pour son titre. * * * * Retour : Etiquette à faire apparaître sur un onglet. * * * * Remarques : - * * * ******************************************************************************/ const gchar *gtk_dock_item_get_desc(GtkDockItem *ditem) { return ditem->name; } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * panel = nouveau panneau à prendre en compte. * * * * Description : Change le panneau dockable associé à l'élément. * * * * Retour : - * * * * Remarques : - * * * ******************************************************************************/ void gtk_dock_item_set_panel(GtkDockItem *ditem, GtkWidget *panel) { if (ditem->panel != NULL) gtk_widget_unref(ditem->panel); ditem->panel = panel; gtk_widget_ref(panel); } /****************************************************************************** * * * Paramètres : ditem = composant GTK à modifier. * * * * Description : Fournit le panneau dockable associé à l'élément. * * * * Retour : Panneau actuellement associé. * * * * Remarques : - * * * ******************************************************************************/ GtkWidget *gtk_dock_item_get_panel(GtkDockItem *ditem) { return ditem->panel; }