From 8161aba2df9765bf3326df44e6c0d6a9b6565890 Mon Sep 17 00:00:00 2001 From: Martin Olsson Date: Sun, 20 Jun 2010 23:24:05 +0200 Subject: [PATCH] libgvc: add subgraph functionality and add name attribute for Gvc.Node Fixes bug 622233. --- vapi/libgvc.vapi | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/vapi/libgvc.vapi b/vapi/libgvc.vapi index 36da04180..b5aabc5d7 100644 --- a/vapi/libgvc.vapi +++ b/vapi/libgvc.vapi @@ -96,6 +96,9 @@ namespace Gvc { [Compact] [CCode (cname = "Agnode_t", ref_function = "", unref_function = "", free_function = "")] public class Node { + [CCode (cname = "name")] + public string name; + [CCode (cname = "agget")] public unowned string? get ([CCode (type = "char*")] string attribute_name); @@ -137,6 +140,29 @@ namespace Gvc { [CCode (cname = "agedge")] public Edge create_edge (Node from, Node to); + /** Note: name set to "null" creates an anonymous subgraph. */ + [CCode (cname = "agsubg")] + public unowned Graph create_subgraph ([CCode (type = "char*")] string? name); + + [CCode (cname = "agfindsubg")] + public Graph find_subgraph ([CCode (type = "char*")] string name); + + [CCode (cname = "agidsubg")] + public Graph create_subgraph_id (ulong id); + + [CCode (cname = "agfstsubg")] + public Graph get_first_subgraph (); + + [CCode (cname = "agnxtsubg")] + public Graph get_next_subgraph (); + + [CCode (cname = "agparent")] + public Graph get_parent_graph (); + + /** Note: agclose() is also allowed for subgraphs and has the same effect as agdelsubg(). */ + [CCode (cname = "agdelsubg")] + public int delete_subgraph (Graph subgraph); + [CCode (cname = "agfindnode")] public Node? find_node ([CCode (type = "char*")] string node_name); -- 2.47.3