1
2#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
3pub enum NodeShape {
4 Box,
5 Polygon,
6 Ellipse,
7 Oval,
8 Circle,
9 Point,
10 Egg,
11 Triangle,
12 Plaintext,
13 Plain,
14 Diamond,
15 Trapezium,
16 Parallelogram,
17 House,
18 Pentagon,
19 Hexagon,
20 Septagon,
21 Octagon,
22 Doublecircle,
23 Doubleoctagon,
24 Tripleoctagon,
25 Invtriangle,
26 Invtrapezium,
27 Invhouse,
28 Mdiamond,
29 Msquare,
30 Mcircle,
31 Rect,
32 Rectangle,
33 Square,
34 Star,
35 None,
36 Underline,
37 Cylinder,
38 Note,
39 Tab,
40 Folder,
41 Box3d,
42 Component,
43 Promoter,
44 Cds,
45 Terminator,
46 Utr,
47 Primersite,
48 Restrictionsite,
49 Fivepoverhang,
50 Threepoverhang,
51 Noverhang,
52 Assembly,
53 Signature,
54 Insulator,
55 Ribosite,
56 Rnastab,
57 Proteasesite,
58 Proteinstab,
59 Rpromoter,
60 Rarrow,
61 Larrow,
62 Lpromoter,
63}
64
65impl std::fmt::Display for NodeShape {
66 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
67 let value = match self {
68 NodeShape::Box => "box",
69 NodeShape::Polygon => "polygon",
70 NodeShape::Ellipse => "ellipse",
71 NodeShape::Oval => "oval",
72 NodeShape::Circle => "circle",
73 NodeShape::Point => "point",
74 NodeShape::Egg => "egg",
75 NodeShape::Triangle => "triangle",
76 NodeShape::Plaintext => "plaintext",
77 NodeShape::Plain => "plain",
78 NodeShape::Diamond => "diamond",
79 NodeShape::Trapezium => "trapezium",
80 NodeShape::Parallelogram => "parallelogram",
81 NodeShape::House => "house",
82 NodeShape::Pentagon => "pentagon",
83 NodeShape::Hexagon => "hexagon",
84 NodeShape::Septagon => "septagon",
85 NodeShape::Octagon => "octagon",
86 NodeShape::Doublecircle => "doublecircle",
87 NodeShape::Doubleoctagon => "doubleoctagon",
88 NodeShape::Tripleoctagon => "tripleoctagon",
89 NodeShape::Invtriangle => "invtriangle",
90 NodeShape::Invtrapezium => "invtrapezium",
91 NodeShape::Invhouse => "invhouse",
92 NodeShape::Mdiamond => "Mdiamond",
93 NodeShape::Msquare => "Msquare",
94 NodeShape::Mcircle => "Mcircle",
95 NodeShape::Rect => "rect",
96 NodeShape::Rectangle => "rectangle",
97 NodeShape::Square => "square",
98 NodeShape::Star => "star",
99 NodeShape::None => "none",
100 NodeShape::Underline => "underline",
101 NodeShape::Cylinder => "cylinder",
102 NodeShape::Note => "note",
103 NodeShape::Tab => "tab",
104 NodeShape::Folder => "folder",
105 NodeShape::Box3d => "box3d",
106 NodeShape::Component => "component",
107 NodeShape::Promoter => "promoter",
108 NodeShape::Cds => "cds",
109 NodeShape::Terminator => "terminator",
110 NodeShape::Utr => "utr",
111 NodeShape::Primersite => "primersite",
112 NodeShape::Restrictionsite => "restrictionsite",
113 NodeShape::Fivepoverhang => "fivepoverhang",
114 NodeShape::Threepoverhang => "threepoverhang",
115 NodeShape::Noverhang => "noverhang",
116 NodeShape::Assembly => "assembly",
117 NodeShape::Signature => "signature",
118 NodeShape::Insulator => "insulator",
119 NodeShape::Ribosite => "ribosite",
120 NodeShape::Rnastab => "rnastab",
121 NodeShape::Proteasesite => "proteasesite",
122 NodeShape::Proteinstab => "proteinstab",
123 NodeShape::Rpromoter => "rpromoter",
124 NodeShape::Rarrow => "rarrow",
125 NodeShape::Larrow => "larrow",
126 NodeShape::Lpromoter => "lpromoter",
127 };
128 write!(f, "{}", value)
129 }
130}