diff options
Diffstat (limited to 'src/gui/panel-int.h')
-rw-r--r-- | src/gui/panel-int.h | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/src/gui/panel-int.h b/src/gui/panel-int.h index 2f7d876..d54dc16 100644 --- a/src/gui/panel-int.h +++ b/src/gui/panel-int.h @@ -33,7 +33,6 @@ #include "item-int.h" -#include "../common/dllist.h" #include "../glibext/delayed.h" @@ -41,6 +40,21 @@ /* ------------------------- COEUR DES PANNEAUX D'AFFICHAGE ------------------------- */ +/* Fournit une indication sur la personnalité du panneau. */ +typedef PanelItemPersonality (* get_panel_personality_fc) (const GPanelItemClass *); + +/* Fournit une indication d'accroche du panneau au démarrage. */ +typedef bool (* dock_panel_at_startup_fc) (const GPanelItemClass *); + +/* Détermine si un panneau peut être filtré. */ +typedef bool (* can_search_panel_fc) (const GPanelItemClass *); + +/* Indique le chemin initial de la localisation d'un panneau. */ +typedef char * (* get_panel_path_fc) (const GPanelItemClass *); + +/* Indique la définition d'un éventuel raccourci clavier. */ +typedef char * (* get_panel_bindings_fc) (const GPanelItemClass *); + /* Place un panneau dans l'ensemble affiché. */ typedef void (* ack_dock_process_fc) (GPanelItem *); @@ -56,18 +70,11 @@ struct _GPanelItem { GEditorItem parent; /* A laisser en premier */ - DL_LIST_ITEM(link); /* Maillon de liste chaînée */ - - PanelItemPersonality personality; /* Nature de l'élément */ + bool docked; /* Panneau inscrusté ? */ GNamedWidget *widget; /* Composant avec noms */ GtkWidget *cached_widget; /* Composant GTK récupéré */ - bool dock_at_startup; /* Recommandation au démarrage */ - char *path; /* Chemin vers la place idéale */ - - bool docked; /* Panneau inscrusté ? */ - char *filter; /* Eventuel filtre textuel */ cairo_surface_t *surface; /* Copie d'écran préalable */ @@ -82,10 +89,11 @@ struct _GPanelItemClass { GEditorItemClass parent; /* A laisser en premier */ - bool unique; /* Panneau instanciable ? */ - const char *bindings; /* Raccourci clavier éventuel */ - - bool can_search; /* Contenu fouillable ? */ + get_panel_personality_fc get_personality; /* Fourniture de nature */ + dock_panel_at_startup_fc dock_at_startup; /* Recommandation d'accroche */ + can_search_panel_fc can_search; /* Contenu fouillable ? */ + get_panel_path_fc get_path; /* Chemin vers la place idéale */ + get_panel_bindings_fc get_bindings; /* Raccourci clavier éventuel */ ack_dock_process_fc ack_dock; /* Prise en compte d'accroche */ ack_undock_process_fc ack_undock; /* Prise en compte de décroche */ @@ -102,8 +110,14 @@ struct _GPanelItemClass }; -#define panels_list_add_tail(new, head) dl_list_add_tail(new, head, GPanelItem, link) -#define panels_list_for_each(pos, head) dl_list_for_each(pos, head, GPanelItem, link) +/* Fournit une indication sur la personnalité du panneau. */ +PanelItemPersonality gtk_panel_item_class_get_personality_singleton(const GPanelItemClass *); + +/* Renvoie false lors d'une consultation de la classe. */ +bool gtk_panel_item_class_return_false(const GPanelItemClass *); + +/* Renvoie true lors d'une consultation de la classe. */ +bool gtk_panel_item_class_return_true(const GPanelItemClass *); |