summaryrefslogtreecommitdiff
path: root/src/gui/panels/regedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/panels/regedit.c')
-rw-r--r--src/gui/panels/regedit.c77
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;