diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-08-19 22:40:33 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-08-19 22:40:33 (GMT) |
commit | 09d07908465d462101d27ecb1b60df52d63bbe5d (patch) | |
tree | e9c8dc53425017efd68feee73ecf9587bd0ba196 /src/gui/panels/panel-int.h | |
parent | b226ca8a19e746521f6f0c1e3b71deed7ea9ab2e (diff) |
Rewritten a cleaner way to dock panels.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@261 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gui/panels/panel-int.h')
-rw-r--r-- | src/gui/panels/panel-int.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gui/panels/panel-int.h b/src/gui/panels/panel-int.h index 133f1a3..e1c8932 100644 --- a/src/gui/panels/panel-int.h +++ b/src/gui/panels/panel-int.h @@ -51,6 +51,35 @@ struct _GPanelItem }; +/* Elément de la hiérarchie des panneaux */ +typedef struct _panel_node +{ + struct _panel_node *parent; /* Noeud parent */ + + char path; /* Chemin du nom courant */ + size_t depth; /* Profondeur utilisée */ + + bool simple; /* Noeud sans division */ + + union + { + GtkWidget *station; /* Station d'accueil simple */ + + struct + { + GtkWidget *paned; /* Station d'accueil composée */ + struct _panel_node *first; /* Premier sous élément */ + struct _panel_node *second; /* Second sous élément */ + }; + + }; + +} panel_node; + + +#define GET_PANEL_NODE_WIDGET(node) (node->simple ? node->station : node->paned) + + /* Elément réactif pour panneaux de l'éditeur (classe) */ struct _GPanelItemClass { |