diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-03-08 21:44:52 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-03-08 21:46:19 (GMT) |
commit | 235b34006d734d55333a182ffd8bbe7fbf8f54bc (patch) | |
tree | f1c8f75391537c8c187aea46c16b3d2642c92107 /src/gui/panels/panel.h | |
parent | 02e978d601cdcf2ea9bb39ae21207c3b97d16e22 (diff) |
Loaded a dynamic list of dockable panels in the View menu.
Diffstat (limited to 'src/gui/panels/panel.h')
-rw-r--r-- | src/gui/panels/panel.h | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/gui/panels/panel.h b/src/gui/panels/panel.h index 0bf5cb5..baf5fe7 100644 --- a/src/gui/panels/panel.h +++ b/src/gui/panels/panel.h @@ -26,6 +26,9 @@ #define _GUI_PANELS_PANEL_H +#include <stdbool.h> + + #include "../editem.h" @@ -45,11 +48,31 @@ typedef struct _GPanelItem GPanelItem; typedef struct _GPanelItemClass GPanelItemClass; +/* Types de panneaux pour éditeur */ +typedef enum _PanelItemPersonality +{ + PIP_INVALID, /* Information non initialisée */ + + PIP_SINGLETON, /* Instance unique */ + PIP_BINARY_VIEW, /* Affichage d'un binaire */ + PIP_OTHER, /* Reste du monde */ + + PIP_COUNT + +} PanelItemPersonality; + + /* Indique le type défini pour un élément destiné à un panneau. */ GType g_panel_item_get_type(void); /* Crée un élément de panneau réactif. */ -GEditorItem *g_panel_item_new(GObject *, const char *, const char *, GtkWidget *, const char *); +GEditorItem *g_panel_item_new(PanelItemPersonality, GObject *, const char *, const char *, GtkWidget *, const char *); + +/* Fournit une indication sur la personnalité du panneau. */ +PanelItemPersonality gtk_panel_item_get_personality(const GPanelItem *); + +/* Indique la définition d'un éventuel raccourci clavier. */ +const char *gtk_panel_item_get_key_bindings(const GPanelItem *); /* Recherche un panneau à partir de son nom court. */ GPanelItem *g_panel_item_get(const char *); @@ -57,11 +80,25 @@ GPanelItem *g_panel_item_get(const char *); /* Place un panneau dans l'ensemble affiché. */ void g_panel_item_dock(GPanelItem *); +/* Indique si le composant repose sur un support de l'éditeur. */ +bool g_panel_item_is_docked(const GPanelItem *); + /* Supprime un panneau de l'ensemble affiché. */ void g_panel_item_undock(GPanelItem *); + + + + +void save_panel_nodes(void); + + + + + + /* ----------------------- PLACEMENTS DES DIFFERENTS PANNEAUX ----------------------- */ @@ -72,5 +109,12 @@ GtkWidget *init_panels2(GCallback, gpointer); void load_main_panels(GObject *); +/* Réalise un traitement sur un panneau de l'éditeur. */ +typedef bool (* handle_panel_item_fc) (GPanelItem *, void *); + +/* Effectue le parcours de tous les panneaux chargés. */ +bool browse_all_item_panels(handle_panel_item_fc, void *); + + #endif /* _GUI_PANELS_PANEL_H */ |