BEGIN { void object_url(obj_t o) { if (hasAttr(o, "URL")) return; string s; if (hasAttr(o, "label")) s = o.label; else s = o.name; if (match(s, "://[a-zA-Z0-9]") >= 0) o.URL = s; if (match(s, "/[a-zA-Z0-9]") == 0) o.URL = sprintf("file://%s", s); } void graph_label_url(graph_t g) { if (g) { g.label = sub(g.name, "^cluster "); g.labelloc = "t"; g.labeljust = g.parent == NULL ? "c" : "l"; object_url(g); graph_label_url(fstsubg(g)); graph_label_url(nxtsubg(g)); } } } END_G { $.fontname = "Arial"; $.color = "grey"; $.fontcolor = "grey"; $.shape = "box"; $.style = "rounded"; graph_label_url($G); } N { $.fontname = "Arial"; $.color = "black"; $.fontcolor = "black"; if (hasAttr($, "style") && $.style == "invis") { $.shape = "point"; $.style = "invis"; } else { $.shape = "box"; $.style = "rounded"; } object_url($); } E { object_url($); }