summaryrefslogtreecommitdiff
path: root/src/gui/panels/symbols.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/panels/symbols.c')
-rw-r--r--src/gui/panels/symbols.c107
1 files changed, 77 insertions, 30 deletions
diff --git a/src/gui/panels/symbols.c b/src/gui/panels/symbols.c
index ec554ff..152d705 100644
--- a/src/gui/panels/symbols.c
+++ b/src/gui/panels/symbols.c
@@ -121,7 +121,13 @@ static void g_symbols_panel_dispose(GSymbolsPanel *);
static void g_symbols_panel_finalize(GSymbolsPanel *);
/* Fournit le nom interne attribué à l'élément réactif. */
-static char *g_symbols_panel_get_key(const GSymbolsPanel *);
+static char *g_symbols_panel_class_get_key(const GSymbolsPanelClass *);
+
+/* Indique le chemin initial de la localisation d'un panneau. */
+static char *g_symbols_panel_class_get_path(const GSymbolsPanelClass *);
+
+/* Indique la définition d'un éventuel raccourci clavier. */
+static char *g_symbols_panel_class_get_key_bindings(const GSymbolsPanelClass *);
/* Bascule d'affichage des symboles en liste. */
static void on_symbols_list_display_toggle(GtkToggleToolButton *, GSymbolsPanel *);
@@ -240,7 +246,7 @@ G_DEFINE_TYPE_WITH_CODE(GSymbolsPanel, g_symbols_panel, G_TYPE_PANEL_ITEM,
/******************************************************************************
* *
-* Paramètres : klass = classe à initialiser. *
+* Paramètres : class = classe à initialiser. *
* *
* Description : Initialise la classe des panneaux d'affichage des symboles. *
* *
@@ -250,56 +256,56 @@ G_DEFINE_TYPE_WITH_CODE(GSymbolsPanel, g_symbols_panel, G_TYPE_PANEL_ITEM,
* *
******************************************************************************/
-static void g_symbols_panel_class_init(GSymbolsPanelClass *klass)
+static void g_symbols_panel_class_init(GSymbolsPanelClass *class)
{
GObjectClass *object; /* Autre version de la classe */
GEditorItemClass *item; /* Encore une autre vision... */
GPanelItemClass *panel; /* Version parente de la classe*/
gchar *filename; /* Chemin d'accès à utiliser */
- object = G_OBJECT_CLASS(klass);
+ object = G_OBJECT_CLASS(class);
object->dispose = (GObjectFinalizeFunc/* ! */)g_symbols_panel_dispose;
object->finalize = (GObjectFinalizeFunc)g_symbols_panel_finalize;
- item = G_EDITOR_ITEM_CLASS(klass);
+ item = G_EDITOR_ITEM_CLASS(class);
- item->get_key = (get_item_key_fc)g_symbols_panel_get_key;
+ item->get_key = (get_item_key_fc)g_symbols_panel_class_get_key;
item->change_content = (change_item_content_fc)change_symbols_panel_current_content;
- panel = G_PANEL_ITEM_CLASS(klass);
+ panel = G_PANEL_ITEM_CLASS(class);
- panel->unique = true;
- panel->bindings = "<Shift>F3";
+ panel->get_path = (get_panel_path_fc)g_symbols_panel_class_get_path;
+ panel->get_bindings = (get_panel_bindings_fc)g_symbols_panel_class_get_key_bindings;
panel->gid = setup_tiny_global_work_group(1);
filename = find_pixmap_file("symbol_routine_classic.png");
assert(filename != NULL);
- klass->routine_img = cairo_image_surface_create_from_png(filename);
+ class->routine_img = cairo_image_surface_create_from_png(filename);
g_free(filename);
filename = find_pixmap_file("symbol_object_classic.png");
assert(filename != NULL);
- klass->object_img = cairo_image_surface_create_from_png(filename);
+ class->object_img = cairo_image_surface_create_from_png(filename);
g_free(filename);
filename = find_pixmap_file("symbol_package.png");
assert(filename != NULL);
- klass->package_img = cairo_image_surface_create_from_png(filename);
+ class->package_img = cairo_image_surface_create_from_png(filename);
g_free(filename);
filename = find_pixmap_file("symbol_class_classic.png");
assert(filename != NULL);
- klass->class_img = cairo_image_surface_create_from_png(filename);
+ class->class_img = cairo_image_surface_create_from_png(filename);
g_free(filename);
@@ -331,15 +337,10 @@ static void g_symbols_panel_init(GSymbolsPanel *panel)
pitem = G_PANEL_ITEM(panel);
- pitem->personality = PIP_SINGLETON;
-
pitem->widget = G_NAMED_WIDGET(gtk_built_named_widget_new_for_panel(_("Symbols"),
_("Binary symbols"),
PANEL_SYMBOLS_ID));
- pitem->dock_at_startup = true;
- pitem->path = strdup("MEN");
-
/* Représentation graphique */
builder = gtk_built_named_widget_get_builder(GTK_BUILT_NAMED_WIDGET(pitem->widget));
@@ -464,21 +465,21 @@ static void g_symbols_panel_finalize(GSymbolsPanel *panel)
/******************************************************************************
* *
-* Paramètres : - *
+* Paramètres : class = classe à consulter. *
* *
-* Description : Crée un panneau d'affichage des symboles. *
+* 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_symbols_panel_new(void)
+static char *g_symbols_panel_class_get_key(const GSymbolsPanelClass *class)
{
- GPanelItem *result; /* Structure à retourner */
+ char *result; /* Description à renvoyer */
- result = g_object_new(G_TYPE_SYMBOLS_PANEL, NULL);
+ result = strdup(PANEL_SYMBOLS_ID);
return result;
@@ -487,21 +488,67 @@ GPanelItem *g_symbols_panel_new(void)
/******************************************************************************
* *
-* Paramètres : panel = instance à consulter. *
+* Paramètres : class = classe à consulter. *
* *
-* Description : Fournit le nom interne attribué à l'élément réactif. *
+* Description : Indique le chemin initial de la localisation d'un panneau. *
* *
-* Retour : Désignation (courte) de l'élément de l'éditeur. *
+* Retour : Chemin fixé associé à la position initiale. *
* *
* Remarques : - *
* *
******************************************************************************/
-static char *g_symbols_panel_get_key(const GSymbolsPanel *panel)
+static char *g_symbols_panel_class_get_path(const GSymbolsPanelClass *class)
{
- char *result; /* Description à renvoyer */
+ char *result; /* Emplacement à retourner */
- result = strdup(PANEL_SYMBOLS_ID);
+ result = strdup("MEN");
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : class = classe à consulter. *
+* *
+* Description : Indique la définition d'un éventuel raccourci clavier. *
+* *
+* Retour : Description d'un raccourci ou NULL si aucun de défini. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static char *g_symbols_panel_class_get_key_bindings(const GSymbolsPanelClass *class)
+{
+ char *result; /* Emplacement à retourner */
+
+ result = strdup("<Shift>F3");
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : - *
+* *
+* Description : Crée un panneau d'affichage des symboles. *
+* *
+* Retour : Adresse de la structure mise en place. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+GPanelItem *g_symbols_panel_new(void)
+{
+ GPanelItem *result; /* Structure à retourner */
+
+ result = g_object_new(G_TYPE_SYMBOLS_PANEL, NULL);
return result;