diff options
Diffstat (limited to 'src/gtkext/graph/node-int.h')
-rw-r--r-- | src/gtkext/graph/node-int.h | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/src/gtkext/graph/node-int.h b/src/gtkext/graph/node-int.h index dca4af5..b153255 100644 --- a/src/gtkext/graph/node-int.h +++ b/src/gtkext/graph/node-int.h @@ -33,19 +33,16 @@ typedef unsigned int (* get_node_rank_fc) (const GGraphNode *); /* Réinitialise la position d'un noeud d'encapsulation. */ -typedef void (* node_set_pos_fc) (GGraphNode *, gint *, gint *); - -/* Réinitialise la position d'un noeud d'encapsulation. */ typedef void (* node_reset_pos_fc) (GGraphNode *); -/* Altère la position du noeud d'encapsulation. */ -typedef void (* node_set_pos_fc) (GGraphNode *, gint *, gint *); +/* Définit les abscisses relatives du contenu d'un noeud. */ +typedef void (* node_prepare_x_fc) (GGraphNode *, GGraphNode *); -/* Fournit la position du noeud d'encapsulation. */ -typedef void (* node_get_pos_fc) (const GGraphNode *, gint *, gint *); +/* Applique une position finale au noeud. */ +typedef void (* node_apply_pos_fc) (GGraphNode *); -/* Indique l'espace requis pour un noeud d'encapsulation. */ -typedef GtkAllocation (* node_get_alloc_fc) (const GGraphNode *); +/* Altère la position du noeud d'encapsulation. */ +typedef void (* node_set_pos_fc) (GGraphNode *, gint); /* Parcourt tous les noeuds graphiques dans un ordre donné. */ typedef bool (* visit_flow_nodes_fc) (GGraphNode *, graph_node_visitor_cb, void *); @@ -61,9 +58,9 @@ struct _GGraphNode get_node_rank_fc get_rank; /* Premier rang d'appartenance */ node_reset_pos_fc reset_pos; /* Réinitialise l'emplacement */ + node_prepare_x_fc prepare_x; /* Préparation des abscisses */ + node_apply_pos_fc apply_pos; /* Applique une absisse finale */ node_set_pos_fc set_pos; /* Définit l'emplacement */ - node_get_pos_fc get_pos; /* Fournit l'emplacement */ - node_get_alloc_fc get_alloc; /* Fournit l'espace nécessaire */ visit_flow_nodes_fc visit; /* Visite des noeuds d'exécut° */ find_container_fc contain; /* Retrouve un conteneur */ @@ -71,8 +68,19 @@ struct _GGraphNode char name[NODE_NAME_LEN]; /* Adresse sous forme humaine */ GtkAllocation alloc; /* Emplacement du bloc rattaché*/ - gint pending_x; /* Décallage à appliquer #1 */ - gint pending_y; /* Décallage à appliquer #2 */ + pending_position pending_pos; /* Indication sur la position */ + PendingPositionFlags pending_flag; /* Cible le champ valide */ + GGraphNode *pending_rel; /* Eventuelle ref. relative */ + + + + gint pending_x; /* Décallage à appliquer #1 */ /* TODO : remme */ + gint pending_y; /* Décallage à appliquer #2 */ /* TODO : remme */ + + bool direct_x; /* Position strictement vert. */ + gint pending_left_margin; /* Limite à ne pas dépasser #1 */ + gint pending_right_margin; /* Limite à ne pas dépasser #2 */ + }; |