summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkdockitem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gtkext/gtkdockitem.c')
-rw-r--r--src/gtkext/gtkdockitem.c106
1 files changed, 87 insertions, 19 deletions
diff --git a/src/gtkext/gtkdockitem.c b/src/gtkext/gtkdockitem.c
index 89d606c..51d1cc7 100644
--- a/src/gtkext/gtkdockitem.c
+++ b/src/gtkext/gtkdockitem.c
@@ -28,14 +28,24 @@
-/* Détermine le type d'un panneau dockable. */
-G_DEFINE_TYPE(GtkDockItem, gtk_dock_item, GTK_TYPE_OBJECT)
+/* Procède à l'initialisation d'un panneau dockable. */
+static void g_dock_item_class_init(GDockItemClass *);
+
+/* Supprime toutes les références externes. */
+static void g_dock_item_class_dispose(GDockItem *);
+
+/* Procède à la libération totale de la mémoire. */
+static void g_dock_item_class_finalize(GDockItem *);
+/* Détermine le type d'un panneau dockable. */
+G_DEFINE_TYPE(GDockItem, g_dock_item, G_TYPE_OBJECT)
+
+
/******************************************************************************
* *
-* Paramètres : class = classe GTK à initialiser. *
+* Paramètres : klass = classe GTK à initialiser. *
* *
* Description : Procède à l'initialisation d'un panneau dockable. *
* *
@@ -45,12 +55,19 @@ G_DEFINE_TYPE(GtkDockItem, gtk_dock_item, GTK_TYPE_OBJECT)
* *
******************************************************************************/
-static void gtk_dock_item_class_init(GtkDockItemClass *class)
+static void g_dock_item_class_init(GDockItemClass *klass)
{
+ GObjectClass *object; /* Autre version de la classe */
+
+ object = G_OBJECT_CLASS(klass);
+
+ object->dispose = g_dock_item_class_dispose;
+ object->finalize = g_dock_item_class_finalize;
+
g_signal_new("content-changed",
- GTK_TYPE_DOCK_ITEM,
+ G_TYPE_DOCK_ITEM,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(GtkDockItemClass, content_changed),
+ G_STRUCT_OFFSET(GDockItemClass, content_changed),
NULL, NULL,
g_cclosure_user_marshal_VOID__OBJECT_OBJECT,
G_TYPE_NONE, 2, GTK_TYPE_WIDGET, GTK_TYPE_WIDGET);
@@ -60,6 +77,57 @@ static void gtk_dock_item_class_init(GtkDockItemClass *class)
/******************************************************************************
* *
+* Paramètres : ditem = instance d'objet GLib à traiter. *
+* *
+* Description : Supprime toutes les références externes. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void g_dock_item_class_dispose(GDockItem *ditem)
+{
+ gpointer obj_class; /* Classe parente */
+
+ gtk_widget_unref(ditem->panel);
+
+ obj_class = g_type_class_peek_parent(G_DOCK_ITEM_GET_CLASS(ditem));
+
+ G_OBJECT_CLASS(obj_class)->dispose(G_OBJECT(ditem));
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : ditem = instance d'objet GLib à traiter. *
+* *
+* Description : Procède à la libération totale de la mémoire. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static void g_dock_item_class_finalize(GDockItem *ditem)
+{
+ gpointer obj_class; /* Classe parente */
+
+ g_free(ditem->name);
+ g_free(ditem->desc);
+
+ obj_class = g_type_class_peek_parent(G_DOCK_ITEM_GET_CLASS(ditem));
+
+ G_OBJECT_CLASS(obj_class)->finalize(G_OBJECT(ditem));
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : ditem = composant GTK à initialiser. *
* *
* Description : Procède à l'initialisation d'un panneau dockable. *
@@ -70,7 +138,7 @@ static void gtk_dock_item_class_init(GtkDockItemClass *class)
* *
******************************************************************************/
-static void gtk_dock_item_init(GtkDockItem *ditem)
+static void g_dock_item_init(GDockItem *ditem)
{
ditem->name = NULL;
@@ -92,14 +160,14 @@ static void gtk_dock_item_init(GtkDockItem *ditem)
* *
******************************************************************************/
-GtkDockItem *gtk_dock_item_new(const gchar *name, GtkWidget *panel)
+GDockItem *g_dock_item_new(const gchar *name, GtkWidget *panel)
{
- GtkDockItem *result; /* Composant à retourner */
+ GDockItem *result; /* Composant à retourner */
- result = g_object_new(GTK_TYPE_DOCK_ITEM, NULL);
+ result = g_object_new(G_TYPE_DOCK_ITEM, NULL);
- gtk_dock_item_set_name(result, name);
- gtk_dock_item_set_panel(result, panel);
+ g_dock_item_set_name(result, name);
+ g_dock_item_set_panel(result, panel);
return result;
@@ -119,7 +187,7 @@ GtkDockItem *gtk_dock_item_new(const gchar *name, GtkWidget *panel)
* *
******************************************************************************/
-void gtk_dock_item_set_name(GtkDockItem *ditem, const gchar *name)
+void g_dock_item_set_name(GDockItem *ditem, const gchar *name)
{
if (ditem->name != NULL)
g_free(ditem->name);
@@ -141,7 +209,7 @@ void gtk_dock_item_set_name(GtkDockItem *ditem, const gchar *name)
* *
******************************************************************************/
-const gchar *gtk_dock_item_get_name(GtkDockItem *ditem)
+const gchar *g_dock_item_get_name(GDockItem *ditem)
{
return ditem->name;
@@ -161,7 +229,7 @@ const gchar *gtk_dock_item_get_name(GtkDockItem *ditem)
* *
******************************************************************************/
-void gtk_dock_item_set_desc(GtkDockItem *ditem, const gchar *desc)
+void g_dock_item_set_desc(GDockItem *ditem, const gchar *desc)
{
if (ditem->desc != NULL)
g_free(ditem->desc);
@@ -183,14 +251,14 @@ void gtk_dock_item_set_desc(GtkDockItem *ditem, const gchar *desc)
* *
******************************************************************************/
-const gchar *gtk_dock_item_get_desc(GtkDockItem *ditem)
+const gchar *g_dock_item_get_desc(GDockItem *ditem)
{
const char *result; /* CHaîne à renvoyer */
result = ditem->desc;
if (result == NULL)
- result = gtk_dock_item_get_name(ditem);
+ result = g_dock_item_get_name(ditem);
return result;
@@ -210,7 +278,7 @@ const gchar *gtk_dock_item_get_desc(GtkDockItem *ditem)
* *
******************************************************************************/
-void gtk_dock_item_set_panel(GtkDockItem *ditem, GtkWidget *panel)
+void g_dock_item_set_panel(GDockItem *ditem, GtkWidget *panel)
{
GtkWidget *old; /* Ancien panneau remplacé */
@@ -240,7 +308,7 @@ void gtk_dock_item_set_panel(GtkDockItem *ditem, GtkWidget *panel)
* *
******************************************************************************/
-GtkWidget *gtk_dock_item_get_panel(GtkDockItem *ditem)
+GtkWidget *g_dock_item_get_panel(GDockItem *ditem)
{
return ditem->panel;