summaryrefslogtreecommitdiff
path: root/src/gui/panels/panel-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-08-19 22:40:33 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-08-19 22:40:33 (GMT)
commit09d07908465d462101d27ecb1b60df52d63bbe5d (patch)
treee9c8dc53425017efd68feee73ecf9587bd0ba196 /src/gui/panels/panel-int.h
parentb226ca8a19e746521f6f0c1e3b71deed7ea9ab2e (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.h29
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
{