]> granicus.if.org Git - graphviz/commitdiff
Fix setattr function to handle HTML string input
authorerg <devnull@localhost>
Thu, 3 Jul 2008 17:09:08 +0000 (17:09 +0000)
committererg <devnull@localhost>
Thu, 3 Jul 2008 17:09:08 +0000 (17:09 +0000)
cmd/dotty/dotty.lefty

index d0a620a61562ec6e02c49df429ad4403f69db93c..d306f7b210237283498d022970ceea135ce3a0a1 100644 (file)
@@ -487,13 +487,26 @@ dotty.protogt.findnode = function (gt, vt) {
     gt.setviewcenter ([vt.vtid = vt;], node.pos);
 };
 dotty.protogt.setattr = function (gt, obj) {
-    local kv, t, attr, value;
+    local kv, t, attr, value, n, i, s;
 
     if (~(kv = ask ('give attr/value, eg. color=blue')))
         return;
     t = split (kv, '=');
     attr = t[0];
     value = t[1];
+    if ((n = tablesize (t)) > 2)
+        for (i = 2; i < n; i = i + 1)
+            value = concat (value, '=', t[i]);
+    # Check for HTML string and convert using lefty convention
+    s = split (value, '');
+    n = tablesize (s);
+    if ((s[0] == '<') & (s[n-1] == '>')) {
+        s[0] = '>';
+        s[n-1] = '<';
+        value = s[0]; 
+        for (i = 1; i < n; i = i + 1)
+            value = concat (value, s[i]);
+    }
     if (
         obj.attr == gt.graph.graphattr |
         obj.attr == gt.graph.edgeattr |