diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-02-15 22:58:40 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-02-15 22:58:40 (GMT) |
commit | 16242be5838a77690946cbb2f30b2e89f2df0b94 (patch) | |
tree | d3c2b2725f41f2a0d45ae7f32e2ab9cb1886b230 /src/gtkext/graph/edge.c | |
parent | 5ed40f0afbd58fbfdf05be7b2a10ab8d0819759f (diff) |
Displayed tooltips for graph view edges.
Diffstat (limited to 'src/gtkext/graph/edge.c')
-rw-r--r-- | src/gtkext/graph/edge.c | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/gtkext/graph/edge.c b/src/gtkext/graph/edge.c index 9a2f848..20f1988 100644 --- a/src/gtkext/graph/edge.c +++ b/src/gtkext/graph/edge.c @@ -36,6 +36,9 @@ struct _GGraphEdge { GObject parent; /* A laisser en premier */ + GCodeBlock *src; /* Bloc d'origine du lien */ + GCodeBlock *dst; /* Bloc de destination du lien */ + EdgeColor color; /* Couleur du rendu */ union @@ -137,6 +140,9 @@ static void g_graph_edge_init(GGraphEdge *edge) static void g_graph_edge_dispose(GGraphEdge *edge) { + g_clear_object(&edge->src); + g_clear_object(&edge->dst); + G_OBJECT_CLASS(g_graph_edge_parent_class)->dispose(G_OBJECT(edge)); } @@ -177,12 +183,18 @@ static void g_graph_edge_finalize(GGraphEdge *edge) * * ******************************************************************************/ -GGraphEdge *_g_graph_edge_new(const GdkPoint **templates, size_t count, EdgeColor color) +GGraphEdge *_g_graph_edge_new(GCodeBlock *src, GCodeBlock *dst, const GdkPoint **templates, size_t count, EdgeColor color) { GGraphEdge *result; /* Structure à retourner */ result = g_object_new(G_TYPE_GRAPH_EDGE, NULL); + result->src = src; + result->dst = dst; + + g_object_ref(G_OBJECT(src)); + g_object_ref(G_OBJECT(dst)); + result->color = color; assert(count == 4 || count == 6); @@ -200,6 +212,31 @@ GGraphEdge *_g_graph_edge_new(const GdkPoint **templates, size_t count, EdgeColo /****************************************************************************** * * * Paramètres : edge = ligne de rendu à consulter. * +* src = bloc d'origine du lien. [OUT] * +* dst = bloc de destination du lien. [OUT] * +* * +* Description : Fournit les deux blocs aux extrémités d'un lien. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_graph_edge_get_boundaries(const GGraphEdge *edge, GCodeBlock **src, GCodeBlock **dst) +{ + *src = edge->src; + *dst = edge->dst; + + g_object_ref(G_OBJECT(*src)); + g_object_ref(G_OBJECT(*dst)); + +} + + +/****************************************************************************** +* * +* Paramètres : edge = ligne de rendu à consulter. * * x1 = abscisse du point de départ de la ligne. [OUT] * * x2 = abscisse du point d'arrivée de la ligne. [OUT] * * * |