ruby-graphviz 1.0.8 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/AUTHORS.rdoc +1 -0
- data/CHANGELOG.rdoc +12 -0
- data/README.rdoc +2 -0
- data/Rakefile +13 -6
- data/bin/dot2ruby +2 -2
- data/bin/gem2gv +2 -3
- data/bin/git2gv +2 -4
- data/bin/ruby2gv +16 -19
- data/bin/xml2gv +2 -2
- data/examples/sample38.rb +5 -5
- data/lib/graphviz.rb +82 -116
- data/lib/graphviz/attrs.rb +1 -1
- data/lib/graphviz/constants.rb +247 -240
- data/lib/graphviz/core_ext.rb +1 -1
- data/lib/graphviz/dot2ruby.rb +1 -1
- data/lib/graphviz/dot_script.rb +109 -0
- data/lib/graphviz/edge.rb +4 -4
- data/lib/graphviz/node.rb +1 -1
- data/lib/graphviz/theory.rb +3 -3
- data/lib/graphviz/types.rb +2 -1
- data/lib/graphviz/types/lbl_string.rb +1 -1
- data/lib/graphviz/utils.rb +70 -67
- data/lib/graphviz/utils/colors.rb +1 -1
- data/man/dot2ruby.1 +66 -0
- data/man/dot2ruby.1.ronn +55 -0
- data/man/gem2gv.1 +60 -0
- data/man/gem2gv.1.ronn +47 -0
- data/man/git2gv.1 +48 -0
- data/man/git2gv.1.ronn +40 -0
- data/man/ruby2gv.1 +60 -0
- data/man/ruby2gv.1.ronn +47 -0
- data/man/xml2gv.1 +48 -0
- data/man/xml2gv.1.ronn +39 -0
- data/ruby-graphviz.gemspec +4 -1
- data/test/test_dot_script.rb +43 -0
- data/test/test_graph.rb +9 -0
- data/test/test_subgraph.rb +1 -1
- metadata +70 -23
data/lib/graphviz/attrs.rb
CHANGED
@@ -61,7 +61,7 @@ class GraphViz
|
|
61
61
|
begin
|
62
62
|
value = GraphViz::Types.const_get(@attributes[key.to_s]).new( value )
|
63
63
|
rescue => e
|
64
|
-
raise AttributeException, "
|
64
|
+
raise AttributeException, "Invalid value `#{value}` for attribute `#{key}` : #{e}"
|
65
65
|
end
|
66
66
|
|
67
67
|
if value
|
data/lib/graphviz/constants.rb
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
# Constants for ruby-graphviz
|
18
18
|
#
|
19
|
-
# Constants::FORMATS: the possible output formats
|
19
|
+
# GraphViz::Constants::FORMATS: the possible output formats
|
20
20
|
# "bmp", "canon", "dot", "xdot", "cmap", "dia", "eps",
|
21
21
|
# "fig", "gd", "gd2", "gif", "gtk", "hpgl", "ico", "imap",
|
22
22
|
# "cmapx", "imap_np", "cmapx_np", "ismap", "jpeg", "jpg",
|
@@ -25,10 +25,10 @@
|
|
25
25
|
# "tiff", "tif", "vml", "vmlz", "vrml", "vtx", "wbmp",
|
26
26
|
# "xlib", "none"
|
27
27
|
#
|
28
|
-
# Constants::PROGRAMS: The possible programs
|
28
|
+
# GraphViz::Constants::PROGRAMS: The possible programs
|
29
29
|
# "dot", "neato", "twopi", "fdp", "circo"
|
30
30
|
#
|
31
|
-
# Constants::GRAPHTYPE The possible types of graph
|
31
|
+
# GraphViz::Constants::GRAPHTYPE The possible types of graph
|
32
32
|
# "digraph", "graph"
|
33
33
|
#
|
34
34
|
#
|
@@ -39,249 +39,256 @@
|
|
39
39
|
# S => subgraph
|
40
40
|
# C => cluster
|
41
41
|
#
|
42
|
-
|
43
|
-
|
42
|
+
class GraphViz
|
43
|
+
module Constants
|
44
|
+
RGV_VERSION = "1.0.9"
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
46
|
+
## Const: Output formats
|
47
|
+
FORMATS = [
|
48
|
+
"bmp",
|
49
|
+
"canon",
|
50
|
+
"dot",
|
51
|
+
"xdot",
|
52
|
+
"cmap",
|
53
|
+
"dia",
|
54
|
+
"eps",
|
55
|
+
"fig",
|
56
|
+
"gd",
|
57
|
+
"gd2",
|
58
|
+
"gif",
|
59
|
+
"gtk",
|
60
|
+
"hpgl",
|
61
|
+
"ico",
|
62
|
+
"imap",
|
63
|
+
"cmapx",
|
64
|
+
"imap_np",
|
65
|
+
"cmapx_np",
|
66
|
+
"ismap",
|
67
|
+
"jpeg",
|
68
|
+
"jpg",
|
69
|
+
"jpe",
|
70
|
+
"mif",
|
71
|
+
"mp",
|
72
|
+
"pcl",
|
73
|
+
"pdf",
|
74
|
+
"pic",
|
75
|
+
"plain",
|
76
|
+
"plain-ext",
|
77
|
+
"png",
|
78
|
+
"ps",
|
79
|
+
"ps2",
|
80
|
+
"svg",
|
81
|
+
"svgz",
|
82
|
+
"tga",
|
83
|
+
"tiff",
|
84
|
+
"tif",
|
85
|
+
"vml",
|
86
|
+
"vmlz",
|
87
|
+
"vrml",
|
88
|
+
"vtx",
|
89
|
+
"wbmp",
|
90
|
+
"xlib",
|
91
|
+
"none"
|
92
|
+
]
|
92
93
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
94
|
+
## Const: programs
|
95
|
+
PROGRAMS = [
|
96
|
+
"dot",
|
97
|
+
"neato",
|
98
|
+
"twopi",
|
99
|
+
"fdp",
|
100
|
+
"circo",
|
101
|
+
"sfdp"
|
102
|
+
]
|
102
103
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
104
|
+
## Const: graphs type
|
105
|
+
GRAPHTYPE = [
|
106
|
+
"digraph",
|
107
|
+
"graph",
|
108
|
+
"strict digraph"
|
109
|
+
]
|
109
110
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
111
|
+
def self.getAttrsFor( x )
|
112
|
+
list = {}
|
113
|
+
GENCS_ATTRS.each { |k,v|
|
114
|
+
list[k] = v[:type] if x.match( v[:usedBy] ) and not list.keys.include?(k)
|
115
|
+
}
|
116
|
+
list
|
117
|
+
end
|
117
118
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
119
|
+
# E, N, G, S and C represent edges, nodes, the root graph, subgraphs and cluster subgraphs, respectively
|
120
|
+
GENCS_ATTRS = {
|
121
|
+
"Damping" => { :usedBy => "G", :type => :GvDouble },
|
122
|
+
"K" => { :usedBy => "GC", :type => :GvDouble },
|
123
|
+
"URL" => { :usedBy => "ENGC", :type => :EscString },
|
124
|
+
"area" => { :usedBy => "NC", :type => :GvDouble },
|
125
|
+
"arrowhead" => { :usedBy => "E", :type => :ArrowType }, # arrowType
|
126
|
+
"arrowsize" => { :usedBy => "E", :type => :GvDouble },
|
127
|
+
"arrowtail" => { :usedBy => "E", :type => :ArrowType }, # arrowType
|
128
|
+
"aspect" => { :usedBy => "G", :type => :EscString }, # aspectType
|
129
|
+
"bb" => { :usedBy => "G", :type => :Rect }, # rect
|
130
|
+
"bgcolor" => { :usedBy => "GC", :type => :Color }, # color
|
131
|
+
"center" => { :usedBy => "G", :type => :GvBool }, # bool
|
132
|
+
"charset" => { :usedBy => "G", :type => :EscString }, # string
|
133
|
+
"clusterrank" => { :usedBy => "G", :type => :EscString }, # clusterMode
|
134
|
+
"color" => { :usedBy => "ENC", :type => :ColorList }, # color, colorList
|
135
|
+
"colorscheme" => { :usedBy => "ENCG", :type => :EscString }, # string
|
136
|
+
"comment" => { :usedBy => "ENG", :type => :EscString }, # string
|
137
|
+
"compound" => { :usedBy => "G", :type => :GvBool }, # bool
|
138
|
+
"concentrate" => { :usedBy => "G", :type => :GvBool }, # bool
|
139
|
+
"constraint" => { :usedBy => "E", :type => :GvBool }, # bool
|
140
|
+
"decorate" => { :usedBy => "E", :type => :GvBool }, # bool
|
141
|
+
"defaultdist" => { :usedBy => "G", :type => :GvDouble },
|
142
|
+
"dim" => { :usedBy => "G", :type => :EscString }, # int
|
143
|
+
"dimen" => { :usedBy => "G", :type => :EscString }, # int
|
144
|
+
"dir" => { :usedBy => "E", :type => :EscString }, # dirType
|
145
|
+
"diredgeconstraints" => { :usedBy => "G", :type => :EscString }, # string, bool
|
146
|
+
"distortion" => { :usedBy => "N", :type => :GvDouble },
|
147
|
+
"dpi" => { :usedBy => "G", :type => :GvDouble },
|
148
|
+
"edgeURL" => { :usedBy => "E", :type => :EscString },
|
149
|
+
"edgehref" => { :usedBy => "E", :type => :EscString },
|
150
|
+
"edgetarget" => { :usedBy => "E", :type => :EscString },
|
151
|
+
"edgetooltip" => { :usedBy => "E", :type => :EscString },
|
152
|
+
"epsilon" => { :usedBy => "G", :type => :GvDouble },
|
153
|
+
"esep" => { :usedBy => "G", :type => :EscString }, # GvDouble , pointf
|
154
|
+
"fillcolor" => { :usedBy => "NEC", :type => :Color }, # color
|
155
|
+
"fixedsize" => { :usedBy => "N", :type => :GvBool }, # bool
|
156
|
+
"fontcolor" => { :usedBy => "ENGC", :type => :Color }, # color
|
157
|
+
"fontname" => { :usedBy => "ENGC", :type => :EscString }, # string
|
158
|
+
"fontnames" => { :usedBy => "G", :type => :EscString }, # string
|
159
|
+
"fontpath" => { :usedBy => "G", :type => :EscString }, # string
|
160
|
+
"fontsize" => { :usedBy => "ENGC", :type => :GvDouble },
|
161
|
+
"forcelabels" => { :usedBy => "G", :type => :GvBool}, # bool
|
162
|
+
"gradientangle" => { :usedBy => "NCG", :type => :EscString }, # int
|
163
|
+
"group" => { :usedBy => "N", :type => :EscString }, # string
|
164
|
+
"headURL" => { :usedBy => "E", :type => :EscString },
|
165
|
+
"headclip" => { :usedBy => "E", :type => :GvBool }, # bool
|
166
|
+
"headhref" => { :usedBy => "E", :type => :EscString },
|
167
|
+
"headlabel" => { :usedBy => "E", :type => :EscString }, # LblString
|
168
|
+
"headport" => { :usedBy => "E", :type => :EscString }, # portPos
|
169
|
+
"headtarget" => { :usedBy => "E", :type => :EscString },
|
170
|
+
"headtooltip" => { :usedBy => "E", :type => :EscString },
|
171
|
+
"height" => { :usedBy => "N", :type => :GvDouble },
|
172
|
+
"href" => { :usedBy => "ENGC", :type => :EscString },
|
173
|
+
"id" => { :usedBy => "ENG", :type => :EscString },
|
174
|
+
"image" => { :usedBy => "N", :type => :EscString }, # string
|
175
|
+
"imagepath" => { :usedBy => "G", :type => :EscString }, # string
|
176
|
+
"imagescale" => { :usedBy => "N", :type => :EscString }, # bool, string
|
177
|
+
"label" => { :usedBy => "ENGC", :type => :LblString },
|
178
|
+
"labelURL" => { :usedBy => "E", :type => :EscString },
|
179
|
+
"label_scheme" => { :usedBy => "G", :type => :EscString }, # int
|
180
|
+
"labelangle" => { :usedBy => "E", :type => :GvDouble },
|
181
|
+
"labeldistance" => { :usedBy => "E", :type => :GvDouble },
|
182
|
+
"labelfloat" => { :usedBy => "E", :type => :GvBool }, # bool
|
183
|
+
"labelfontcolor" => { :usedBy => "E", :type => :Color }, # color
|
184
|
+
"labelfontname" => { :usedBy => "E", :type => :EscString }, # string
|
185
|
+
"labelfontsize" => { :usedBy => "E", :type => :GvDouble },
|
186
|
+
"labelhref" => { :usedBy => "E", :type => :EscString },
|
187
|
+
"labeljust" => { :usedBy => "GC", :type => :EscString }, # string
|
188
|
+
"labelloc" => { :usedBy => "GCN", :type => :EscString }, # string
|
189
|
+
"labeltarget" => { :usedBy => "E", :type => :EscString },
|
190
|
+
"labeltooltip" => { :usedBy => "E", :type => :EscString },
|
191
|
+
"landscape" => { :usedBy => "G", :type => :GvBool }, # bool
|
192
|
+
"layer" => { :usedBy => "ENC", :type => :EscString }, # layerRange
|
193
|
+
"layerlistsep" => { :usedBy => "G", :type => :EscString }, # string
|
194
|
+
"layers" => { :usedBy => "G", :type => :EscString }, # layerList
|
195
|
+
"layerselect" => { :usedBy => "G", :type => :EscString }, # layerRange
|
196
|
+
"layersep" => { :usedBy => "G", :type => :EscString }, # string
|
197
|
+
"layout" => { :usedBy => "G", :type => :EscString }, # string
|
198
|
+
"len" => { :usedBy => "E", :type => :GvDouble },
|
199
|
+
"levels" => { :usedBy => "G", :type => :EscString }, # int
|
200
|
+
"levelsgap" => { :usedBy => "G", :type => :GvDouble },
|
201
|
+
"lhead" => { :usedBy => "E", :type => :EscString }, # string
|
202
|
+
"lheight" => { :usedBy => "GC", :type => :GvDouble },
|
203
|
+
"lp" => { :usedBy => "EGC", :type => :EscString }, # point
|
204
|
+
"ltail" => { :usedBy => "E", :type => :EscString }, # string
|
205
|
+
"lwidth" => { :usedBy => "GC", :type => :GvDouble },
|
206
|
+
"margin" => { :usedBy => "NGC", :type => :EscString }, # GvDouble , pointf
|
207
|
+
"maxiter" => { :usedBy => "G", :type => :EscString }, # int
|
208
|
+
"mclimit" => { :usedBy => "G", :type => :GvDouble },
|
209
|
+
"mindist" => { :usedBy => "G", :type => :GvDouble },
|
210
|
+
"minlen" => { :usedBy => "E", :type => :EscString }, # int
|
211
|
+
"mode" => { :usedBy => "G", :type => :EscString }, # string
|
212
|
+
"model" => { :usedBy => "G", :type => :EscString }, # string
|
213
|
+
"mosek" => { :usedBy => "G", :type => :GvBool }, # bool
|
214
|
+
"nodesep" => { :usedBy => "G", :type => :GvDouble },
|
215
|
+
"nojustify" => { :usedBy => "GCNE", :type => :GvBool }, # bool
|
216
|
+
"normalize" => { :usedBy => "G", :type => :GvBool }, # bool
|
217
|
+
"nslimit" => { :usedBy => "G", :type => :GvDouble },
|
218
|
+
"nslimit1" => { :usedBy => "G", :type => :GvDouble },
|
219
|
+
"ordering" => { :usedBy => "GN", :type => :EscString }, # string
|
220
|
+
"orientation" => { :usedBy => "NG", :type => :GvDouble }, # N: double, G: string
|
221
|
+
"outputorder" => { :usedBy => "G", :type => :EscString }, # outputMode
|
222
|
+
"overlap" => { :usedBy => "G", :type => :EscString }, # string, bool
|
223
|
+
"overlap_scaling" => { :usedBy => "G", :type => :GvDouble },
|
224
|
+
"pack" => { :usedBy => "G", :type => :EscString }, # bool, int
|
225
|
+
"packmode" => { :usedBy => "G", :type => :EscString }, # packMode
|
226
|
+
"pad" => { :usedBy => "G", :type => :EscString }, # GvDouble , pointf
|
227
|
+
"page" => { :usedBy => "G", :type => :EscString }, # GvDouble , pointf
|
228
|
+
"pagedir" => { :usedBy => "G", :type => :EscString }, # pageDir
|
229
|
+
"pencolor" => { :usedBy => "C", :type => :Color }, # color
|
230
|
+
"penwidth" => { :usedBy => "CNE", :type => :GvDouble },
|
231
|
+
"peripheries" => { :usedBy => "NC", :type => :EscString }, # int
|
232
|
+
"pin" => { :usedBy => "N", :type => :GvBool }, # bool
|
233
|
+
"pos" => { :usedBy => "EN", :type => :SplineType }, # point, splineTypes
|
234
|
+
"quadtree" => { :usedBy => "G", :type => :GvBool }, # bool
|
235
|
+
"quantum" => { :usedBy => "G", :type => :GvDouble },
|
236
|
+
"rank" => { :usedBy => "S", :type => :EscString }, # rankType
|
237
|
+
"rankdir" => { :usedBy => "G", :type => :EscString }, # rankDir
|
238
|
+
"ranksep" => { :usedBy => "G", :type => :EscString }, # GvDouble, doubleList
|
239
|
+
"ratio" => { :usedBy => "G", :type => :EscString }, # GvDouble, String
|
240
|
+
"rects" => { :usedBy => "N", :type => :Rect }, # rect
|
241
|
+
"regular" => { :usedBy => "N", :type => :GvBool }, # bool
|
242
|
+
"remincross" => { :usedBy => "G", :type => :GvBool }, # bool
|
243
|
+
"repulsiveforce" => { :usedBy => "G", :type => :GvDouble },
|
244
|
+
"resolution" => { :usedBy => "G", :type => :GvDouble },
|
245
|
+
"root" => { :usedBy => "GN", :type => :EscString }, # bool, string
|
246
|
+
"rotate" => { :usedBy => "G", :type => :EscString }, # int
|
247
|
+
"rotation" => { :usedBy => "G", :type => :GvDouble },
|
248
|
+
"samehead" => { :usedBy => "E", :type => :EscString }, # string
|
249
|
+
"sametail" => { :usedBy => "E", :type => :EscString }, # string
|
250
|
+
"samplepoints" => { :usedBy => "G", :type => :EscString }, # int
|
251
|
+
"scale" => { :usedBy => "G", :type => :EscString }, # double, pointf
|
252
|
+
"searchsize" => { :usedBy => "G", :type => :EscString }, # int
|
253
|
+
"sep" => { :usedBy => "G", :type => :EscString }, # double , pointf
|
254
|
+
"shape" => { :usedBy => "N", :type => :EscString }, # shape
|
255
|
+
"shapefile" => { :usedBy => "N", :type => :EscString }, # string
|
256
|
+
"showboxes" => { :usedBy => "ENG", :type => :EscString }, # int
|
257
|
+
"sides" => { :usedBy => "N", :type => :EscString }, # int
|
258
|
+
"size" => { :usedBy => "NG", :type => :EscString }, # double , pointf
|
259
|
+
"skew" => { :usedBy => "N", :type => :GvDouble },
|
260
|
+
"smoothing" => { :usedBy => "G", :type => :EscString }, # smoothType
|
261
|
+
"sortv" => { :usedBy => "GCN", :type => :EscString }, # int
|
262
|
+
"splines" => { :usedBy => "G", :type => :EscString }, # bool, string
|
263
|
+
"start" => { :usedBy => "G", :type => :EscString }, # startType
|
264
|
+
"style" => { :usedBy => "ENCG", :type => :EscString }, # style
|
265
|
+
"stylesheet" => { :usedBy => "G", :type => :EscString }, # string
|
266
|
+
"tailURL" => { :usedBy => "E", :type => :EscString },
|
267
|
+
"tailclip" => { :usedBy => "E", :type => :GvBool }, # bool
|
268
|
+
"tailhref" => { :usedBy => "E", :type => :EscString },
|
269
|
+
"taillabel" => { :usedBy => "E", :type => :EscString }, # lblString
|
270
|
+
"tailport" => { :usedBy => "E", :type => :EscString }, # portPos
|
271
|
+
"tailtarget" => { :usedBy => "E", :type => :EscString },
|
272
|
+
"tailtooltip" => { :usedBy => "E", :type => :EscString },
|
273
|
+
"target" => { :usedBy => "ENGC", :type => :EscString }, # escString, string
|
274
|
+
"tooltip" => { :usedBy => "NEC", :type => :EscString },
|
275
|
+
"truecolor" => { :usedBy => "G", :type => :GvBool }, # bool
|
276
|
+
"vertices" => { :usedBy => "N", :type => :EscString }, # pointfList
|
277
|
+
"viewport" => { :usedBy => "G", :type => :EscString }, # viewPort
|
278
|
+
"voro_margin" => { :usedBy => "G", :type => :GvDouble },
|
279
|
+
"weight" => { :usedBy => "E", :type => :GvDouble },
|
280
|
+
"width" => { :usedBy => "N", :type => :GvDouble },
|
281
|
+
"xlabel" => { :usedBy => "EN", :type => :LblString },
|
282
|
+
"z" => { :usedBy => "N", :type => :GvDouble }
|
283
|
+
}
|
278
284
|
|
279
|
-
|
280
|
-
|
285
|
+
## Const: Graph attributes
|
286
|
+
GRAPHSATTRS = GraphViz::Constants::getAttrsFor( /G|S|C/ )
|
281
287
|
|
282
|
-
|
283
|
-
|
288
|
+
## Const: Node attributes
|
289
|
+
NODESATTRS = GraphViz::Constants::getAttrsFor( /N/ )
|
284
290
|
|
285
|
-
|
286
|
-
|
291
|
+
## Const: Edge attributes
|
292
|
+
EDGESATTRS = GraphViz::Constants::getAttrsFor( /E/ )
|
293
|
+
end
|
287
294
|
end
|