forked from michaelw/cl-dot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
raw-attributes.lisp
211 lines (204 loc) · 11.2 KB
/
raw-attributes.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
;;;; This file has been generated at 2017 2 26 1 55 33 from
;;;; http://www.graphviz.org/doc/info/attrs.html ,
;;;; http://www.graphviz.org/doc/info/shapes.html and
;;;; http://www.graphviz.org/doc/info/arrows.html . Do not modify by
;;;; hand.
(common-lisp:in-package #:cl-dot)
(defparameter *node-shapes*
'(:record :box :polygon :ellipse :oval :circle :point :egg :triangle
:plaintext :plain :diamond :trapezium :parallelogram :house :pentagon
:hexagon :septagon :octagon :doublecircle :doubleoctagon :tripleoctagon
:invtriangle :invtrapezium :invhouse "Mdiamond" "Msquare" "Mcircle" :rect
:rectangle :square :star :none :underline :cylinder :note :tab :folder
:box3d :component :promoter :cds :terminator :utr :primersite
:restrictionsite :fivepoverhang :threepoverhang :noverhang :assembly
:signature :insulator :ribosite :rnastab :proteasesite :proteinstab
:rpromoter :rarrow :larrow :lpromoter))
(defparameter *predefined-arrow-shapes*
'(:box :lbox :rbox :obox :olbox :orbox :crow :lcrow :rcrow :diamond :ldiamond
:rdiamond :odiamond :oldiamond :ordiamond :dot :odot :inv :linv :rinv :oinv
:olinv :orinv :none :normal :lnormal :rnormal :onormal :olnormal :ornormal
:tee :ltee :rtee :vee :lvee :rvee :curve :lcurve :rcurve :icurve :licurve
:ricurve))
(defparameter *node-styles*
'(:solid :dashed :dotted :bold :rounded :diagonals :filled :striped :wedged))
(defparameter *edge-styles* '(:solid :dashed :dotted :bold))
(defparameter *cluster-styles*
'(:solid :dashed :dotted :bold :rounded :filled :striped))
(defparameter *attributes*
(list (make-attribute "_background" '(:graph) 'text)
(make-attribute "area" '(:node :cluster) 'float)
(make-attribute "arrowhead" '(:edge) *predefined-arrow-shapes*)
(make-attribute "arrowsize" '(:edge) 'float)
(make-attribute "arrowtail" '(:edge) *predefined-arrow-shapes*)
(make-attribute "bb" '(:graph) 'text)
(make-attribute "bgcolor" '(:graph :cluster) 'text)
(make-attribute "center" '(:graph) 'boolean)
(make-attribute "charset" '(:graph) 'text)
(make-attribute "clusterrank" '(:graph) '(:local :global :none))
(make-attribute "color" '(:edge :node :cluster) 'text)
(make-attribute "colorscheme" '(:edge :node :cluster :graph) 'text)
(make-attribute "comment" '(:edge :node :graph) 'text)
(make-attribute "compound" '(:graph) 'boolean)
(make-attribute "concentrate" '(:graph) 'boolean)
(make-attribute "constraint" '(:edge) 'boolean)
(make-attribute "Damping" '(:graph) 'float)
(make-attribute "decorate" '(:edge) 'boolean)
(make-attribute "defaultdist" '(:graph) 'float)
(make-attribute "dim" '(:graph) 'integer)
(make-attribute "dimen" '(:graph) 'integer)
(make-attribute "dir" '(:edge) '(:forward :back :both :none))
(make-attribute "diredgeconstraints" '(:graph) 'text)
(make-attribute "distortion" '(:node) 'float)
(make-attribute "dpi" '(:graph) 'float)
(make-attribute "edgehref" '(:edge) 'text)
(make-attribute "edgetarget" '(:edge) 'text)
(make-attribute "edgetooltip" '(:edge) 'text)
(make-attribute "edgeURL" '(:edge) 'text)
(make-attribute "epsilon" '(:graph) 'float)
(make-attribute "esep" '(:graph) 'text)
(make-attribute "fillcolor" '(:node :edge :cluster) 'text)
(make-attribute "fixedsize" '(:node) 'text)
(make-attribute "fontcolor" '(:edge :node :graph :cluster) 'text)
(make-attribute "fontname" '(:edge :node :graph :cluster) 'text)
(make-attribute "fontnames" '(:graph) 'text)
(make-attribute "fontpath" '(:graph) 'text)
(make-attribute "fontsize" '(:edge :node :graph :cluster) 'float)
(make-attribute "forcelabels" '(:graph) 'boolean)
(make-attribute "gradientangle" '(:node :cluster :graph) 'integer)
(make-attribute "group" '(:node) 'text)
(make-attribute "head_lp" '(:edge) 'text)
(make-attribute "headclip" '(:edge) 'boolean)
(make-attribute "headhref" '(:edge) 'text)
(make-attribute "headlabel" '(:edge) 'label-text)
(make-attribute "headport" '(:edge) 'text)
(make-attribute "headtarget" '(:edge) 'text)
(make-attribute "headtooltip" '(:edge) 'text)
(make-attribute "headURL" '(:edge) 'text)
(make-attribute "height" '(:node) 'float)
(make-attribute "href" '(:graph :cluster :node :edge) 'text)
(make-attribute "id" '(:graph :cluster :node :edge) 'text)
(make-attribute "image" '(:node) 'text)
(make-attribute "imagepath" '(:graph) 'text)
(make-attribute "imagescale" '(:node) 'text)
(make-attribute "inputscale" '(:graph) 'float)
(make-attribute "K" '(:graph :cluster) 'float)
(make-attribute "label" '(:edge :node :graph :cluster) 'label-text)
(make-attribute "label_scheme" '(:graph) 'integer)
(make-attribute "labelangle" '(:edge) 'float)
(make-attribute "labeldistance" '(:edge) 'float)
(make-attribute "labelfloat" '(:edge) 'boolean)
(make-attribute "labelfontcolor" '(:edge) 'text)
(make-attribute "labelfontname" '(:edge) 'text)
(make-attribute "labelfontsize" '(:edge) 'float)
(make-attribute "labelhref" '(:edge) 'text)
(make-attribute "labeljust" '(:graph :cluster) 'text)
(make-attribute "labelloc" '(:node :graph :cluster) 'text)
(make-attribute "labeltarget" '(:edge) 'text)
(make-attribute "labeltooltip" '(:edge) 'text)
(make-attribute "labelURL" '(:edge) 'text)
(make-attribute "landscape" '(:graph) 'boolean)
(make-attribute "layer" '(:edge :node :cluster) 'text)
(make-attribute "layerlistsep" '(:graph) 'text)
(make-attribute "layers" '(:graph) 'text)
(make-attribute "layerselect" '(:graph) 'text)
(make-attribute "layersep" '(:graph) 'text)
(make-attribute "layout" '(:graph) 'text)
(make-attribute "len" '(:edge) 'float)
(make-attribute "levels" '(:graph) 'integer)
(make-attribute "levelsgap" '(:graph) 'float)
(make-attribute "lhead" '(:edge) 'text)
(make-attribute "lheight" '(:graph :cluster) 'float)
(make-attribute "lp" '(:edge :graph :cluster) 'text)
(make-attribute "ltail" '(:edge) 'text)
(make-attribute "lwidth" '(:graph :cluster) 'float)
(make-attribute "margin" '(:node :cluster :graph) 'text)
(make-attribute "maxiter" '(:graph) 'integer)
(make-attribute "mclimit" '(:graph) 'float)
(make-attribute "mindist" '(:graph) 'float)
(make-attribute "minlen" '(:edge) 'integer)
(make-attribute "mode" '(:graph) 'text)
(make-attribute "model" '(:graph) 'text)
(make-attribute "mosek" '(:graph) 'boolean)
(make-attribute "newrank" '(:graph) 'boolean)
(make-attribute "nodesep" '(:graph) 'float)
(make-attribute "nojustify" '(:graph :cluster :node :edge) 'boolean)
(make-attribute "normalize" '(:graph) 'text)
(make-attribute "notranslate" '(:graph) 'boolean)
(make-attribute "nslimit" '(:graph) 'float)
(make-attribute "ordering" '(:graph :node) 'text)
(make-attribute "orientation" '(:node) 'float)
(make-attribute "orientation" '(:graph) 'text)
(make-attribute "outputorder" '(:graph)
'(:breadthfirst :nodesfirst :edgesfirst))
(make-attribute "overlap" '(:graph) 'text)
(make-attribute "overlap_scaling" '(:graph) 'float)
(make-attribute "overlap_shrink" '(:graph) 'boolean)
(make-attribute "pack" '(:graph) 'text)
(make-attribute "packmode" '(:graph) 'text)
(make-attribute "pad" '(:graph) 'text)
(make-attribute "page" '(:graph) 'text)
(make-attribute "pagedir" '(:graph)
'("BL" "BR" "TL" "TR" "RB" "RT" "LB" "LT"))
(make-attribute "pencolor" '(:cluster) 'text)
(make-attribute "penwidth" '(:cluster :node :edge) 'float)
(make-attribute "peripheries" '(:node :cluster) 'integer)
(make-attribute "pin" '(:node) 'boolean)
(make-attribute "pos" '(:edge :node) 'text)
(make-attribute "quadtree" '(:graph) 'text)
(make-attribute "quantum" '(:graph) 'float)
(make-attribute "rank" '(:subgraph) '(:same :min :source :max :sink))
(make-attribute "rankdir" '(:graph) '("TB" "LR" "BT" "RL"))
(make-attribute "ranksep" '(:graph) 'text)
(make-attribute "ratio" '(:graph) 'text)
(make-attribute "rects" '(:node) 'text)
(make-attribute "regular" '(:node) 'boolean)
(make-attribute "remincross" '(:graph) 'boolean)
(make-attribute "repulsiveforce" '(:graph) 'float)
(make-attribute "resolution" '(:graph) 'float)
(make-attribute "root" '(:graph :node) 'text)
(make-attribute "rotate" '(:graph) 'integer)
(make-attribute "rotation" '(:graph) 'float)
(make-attribute "samehead" '(:edge) 'text)
(make-attribute "sametail" '(:edge) 'text)
(make-attribute "samplepoints" '(:node) 'integer)
(make-attribute "scale" '(:graph) 'text)
(make-attribute "searchsize" '(:graph) 'integer)
(make-attribute "sep" '(:graph) 'text)
(make-attribute "shape" '(:node) *node-shapes*)
(make-attribute "shapefile" '(:node) 'text)
(make-attribute "showboxes" '(:edge :node :graph) 'integer)
(make-attribute "sides" '(:node) 'integer)
(make-attribute "size" '(:graph) 'text)
(make-attribute "skew" '(:node) 'float)
(make-attribute "smoothing" '(:graph)
'(:none :avg_dist :graph_dist :power_dist :rng :spring
:triangle))
(make-attribute "sortv" '(:graph :cluster :node) 'integer)
(make-attribute "splines" '(:graph) 'text)
(make-attribute "start" '(:graph) 'text)
(make-attribute "style" '(:node) *node-styles*)
(make-attribute "style" '(:edge) *edge-styles*)
(make-attribute "style" '(:cluster) *cluster-styles*)
(make-attribute "stylesheet" '(:graph) 'text)
(make-attribute "tail_lp" '(:edge) 'text)
(make-attribute "tailclip" '(:edge) 'boolean)
(make-attribute "tailhref" '(:edge) 'text)
(make-attribute "taillabel" '(:edge) 'label-text)
(make-attribute "tailport" '(:edge) 'text)
(make-attribute "tailtarget" '(:edge) 'text)
(make-attribute "tailtooltip" '(:edge) 'text)
(make-attribute "tailURL" '(:edge) 'text)
(make-attribute "target" '(:edge :node :graph :cluster) 'text)
(make-attribute "tooltip" '(:node :edge :cluster) 'text)
(make-attribute "truecolor" '(:graph) 'boolean)
(make-attribute "URL" '(:edge :node :graph :cluster) 'text)
(make-attribute "vertices" '(:node) 'text)
(make-attribute "viewport" '(:graph) 'text)
(make-attribute "voro_margin" '(:graph) 'float)
(make-attribute "weight" '(:edge) 'text)
(make-attribute "width" '(:node) 'float)
(make-attribute "xdotversion" '(:graph) 'text)
(make-attribute "xlabel" '(:edge :node) 'label-text)
(make-attribute "xlp" '(:node :edge) 'text)
(make-attribute "z" '(:node) 'float)))