diff options
Diffstat (limited to 'src/gui/panels/regedit.c')
-rw-r--r-- | src/gui/panels/regedit.c | 77 |
1 files changed, 53 insertions, 24 deletions
diff --git a/src/gui/panels/regedit.c b/src/gui/panels/regedit.c index 906d274..585cc22 100644 --- a/src/gui/panels/regedit.c +++ b/src/gui/panels/regedit.c @@ -98,7 +98,10 @@ static void g_regedit_panel_dispose(GRegeditPanel *); static void g_regedit_panel_finalize(GRegeditPanel *); /* Fournit le nom interne attribué à l'élément réactif. */ -static char *g_regedit_panel_get_key(const GRegeditPanel *); +static char *g_regedit_panel_class_get_key(const GRegeditPanelClass *); + +/* Indique le chemin initial de la localisation d'un panneau. */ +static char *g_regedit_panel_class_get_path(const GRegeditPanelClass *); @@ -170,7 +173,7 @@ G_DEFINE_TYPE(GRegeditPanel, g_regedit_panel, G_TYPE_PANEL_ITEM); /****************************************************************************** * * -* Paramètres : klass = classe à initialiser. * +* Paramètres : class = classe à initialiser. * * * * Description : Initialise la classe des panneaux des paramètres de config. * * * @@ -180,19 +183,25 @@ G_DEFINE_TYPE(GRegeditPanel, g_regedit_panel, G_TYPE_PANEL_ITEM); * * ******************************************************************************/ -static void g_regedit_panel_class_init(GRegeditPanelClass *klass) +static void g_regedit_panel_class_init(GRegeditPanelClass *class) { GObjectClass *object; /* Autre version de la classe */ GEditorItemClass *item; /* Encore une autre vision... */ + GPanelItemClass *panel; /* Version parente de la classe*/ - object = G_OBJECT_CLASS(klass); + object = G_OBJECT_CLASS(class); object->dispose = (GObjectFinalizeFunc/* ! */)g_regedit_panel_dispose; object->finalize = (GObjectFinalizeFunc)g_regedit_panel_finalize; - item = G_EDITOR_ITEM_CLASS(klass); + item = G_EDITOR_ITEM_CLASS(class); + + item->get_key = (get_item_key_fc)g_regedit_panel_class_get_key; + + panel = G_PANEL_ITEM_CLASS(class); - item->get_key = (get_item_key_fc)g_regedit_panel_get_key; + panel->dock_at_startup = gtk_panel_item_class_return_false; + panel->get_path = (get_panel_path_fc)g_regedit_panel_class_get_path; } @@ -220,15 +229,10 @@ static void g_regedit_panel_init(GRegeditPanel *panel) pitem = G_PANEL_ITEM(panel); - pitem->personality = PIP_SINGLETON; - pitem->widget = G_NAMED_WIDGET(gtk_built_named_widget_new_for_panel(_("Configuration"), _("Configuration parameters"), PANEL_REGEDIT_ID)); - pitem->dock_at_startup = false; - pitem->path = strdup("M"); - /* Représentation graphique */ builder = gtk_built_named_widget_get_builder(GTK_BUILT_NAMED_WIDGET(pitem->widget)); @@ -273,6 +277,10 @@ static void g_regedit_panel_init(GRegeditPanel *panel) g_object_unref(G_OBJECT(builder)); + /* Actualisation du contenu du panneau */ + + reload_config_into_treeview(panel, get_main_configuration()); + } @@ -322,23 +330,44 @@ static void g_regedit_panel_finalize(GRegeditPanel *panel) /****************************************************************************** * * -* Paramètres : - * +* Paramètres : class = classe à consulter. * * * -* Description : Crée un panneau d'affichage des paramètres de configuration. * +* Description : Fournit le nom interne attribué à l'élément réactif. * * * -* Retour : Adresse de la structure mise en place. * +* Retour : Désignation (courte) de l'élément de l'éditeur. * * * * Remarques : - * * * ******************************************************************************/ -GPanelItem *g_regedit_panel_new(void) +static char *g_regedit_panel_class_get_key(const GRegeditPanelClass *class) { - GPanelItem *result; /* Structure à retourner */ + char *result; /* Description à renvoyer */ - result = g_object_new(G_TYPE_REGEDIT_PANEL, NULL); + result = strdup(PANEL_REGEDIT_ID); + + return result; + +} - reload_config_into_treeview(G_REGEDIT_PANEL(result), get_main_configuration()); + +/****************************************************************************** +* * +* Paramètres : class = classe à consulter. * +* * +* Description : Indique le chemin initial de la localisation d'un panneau. * +* * +* Retour : Chemin fixé associé à la position initiale. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static char *g_regedit_panel_class_get_path(const GRegeditPanelClass *class) +{ + char *result; /* Emplacement à retourner */ + + result = strdup("M"); return result; @@ -347,21 +376,21 @@ GPanelItem *g_regedit_panel_new(void) /****************************************************************************** * * -* Paramètres : panel = instance à consulter. * +* Paramètres : - * * * -* Description : Fournit le nom interne attribué à l'élément réactif. * +* Description : Crée un panneau d'affichage des paramètres de configuration. * * * -* Retour : Désignation (courte) de l'élément de l'éditeur. * +* Retour : Adresse de la structure mise en place. * * * * Remarques : - * * * ******************************************************************************/ -static char *g_regedit_panel_get_key(const GRegeditPanel *panel) +GPanelItem *g_regedit_panel_new(void) { - char *result; /* Description à renvoyer */ + GPanelItem *result; /* Structure à retourner */ - result = strdup(PANEL_REGEDIT_ID); + result = g_object_new(G_TYPE_REGEDIT_PANEL, NULL); return result; |