1 #pragma once
2 
3 namespace horizon {
4 /**
5  * Add new tools here.
6  */
7 enum class ToolID {
8     NONE,
9     MOVE,
10     PLACE_JUNCTION,
11     DRAW_LINE,
12     DELETE,
13     DRAW_ARC,
14     ROTATE,
15     MIRROR_X,
16     MIRROR_Y,
17     MAP_PIN,
18     MAP_SYMBOL,
19     CHANGE_SYMBOL,
20     DRAW_NET,
21     ADD_COMPONENT,
22     PLACE_TEXT,
23     PLACE_NET_LABEL,
24     DISCONNECT,
25     BEND_LINE_NET,
26     SELECT_NET_SEGMENT,
27     SELECT_NET,
28     PLACE_POWER_SYMBOL,
29     MOVE_NET_SEGMENT,
30     MOVE_NET_SEGMENT_NEW,
31     EDIT_SYMBOL_PIN_NAMES,
32     PLACE_BUS_LABEL,
33     PLACE_BUS_RIPPER,
34     MANAGE_BUSES,
35     DRAW_POLYGON,
36     ENTER_DATUM,
37     MOVE_EXACTLY,
38     PLACE_HOLE,
39     PLACE_HOLE_SLOT,
40     PLACE_PAD,
41     PASTE,
42     ASSIGN_PART,
43     MAP_PACKAGE,
44     DRAW_TRACK,
45     PLACE_VIA,
46     DRAG_KEEP_SLOPE,
47     ADD_PART,
48     ANNOTATE,
49     SMASH,
50     UNSMASH,
51     PLACE_SHAPE,
52     PLACE_SHAPE_RECTANGLE,
53     PLACE_SHAPE_OBROUND,
54     EDIT_SHAPE,
55     IMPORT_DXF,
56     MANAGE_NET_CLASSES,
57     EDIT_PAD_PARAMETER_SET,
58     DRAW_POLYGON_RECTANGLE,
59     DRAW_LINE_RECTANGLE,
60     EDIT_LINE_RECTANGLE,
61     EDIT_SCHEMATIC_PROPERTIES,
62     ROUTE_TRACK_INTERACTIVE,
63     EDIT_VIA,
64     ROTATE_ARBITRARY,
65     ADD_PLANE,
66     EDIT_PLANE,
67     UPDATE_PLANE,
68     UPDATE_ALL_PLANES,
69     CLEAR_PLANE,
70     CLEAR_ALL_PLANES,
71     EDIT_STACKUP,
72     DRAW_DIMENSION,
73     SET_DIFFPAIR,
74     CLEAR_DIFFPAIR,
75     ROUTE_DIFFPAIR_INTERACTIVE,
76     SET_VIA_NET,
77     CLEAR_VIA_NET,
78     DRAG_TRACK_INTERACTIVE,
79     LOCK,
80     UNLOCK,
81     UNLOCK_ALL,
82     ADD_VERTEX,
83     MANAGE_POWER_NETS,
84     PLACE_BOARD_HOLE,
85     EDIT_BOARD_HOLE,
86     GENERATE_COURTYARD,
87     GENERATE_SILKSCREEN,
88     SET_GROUP,
89     SET_NEW_GROUP,
90     RENAME_GROUP,
91     CLEAR_GROUP,
92     SET_TAG,
93     SET_NEW_TAG,
94     RENAME_TAG,
95     CLEAR_TAG,
96     TOGGLE_GROUP_TAG_VISIBLE,
97     COPY_PLACEMENT,
98     COPY_TRACKS,
99     TUNE_TRACK,
100     TUNE_DIFFPAIR,
101     TUNE_DIFFPAIR_SKEW,
102     MOVE_KEY,
103     MOVE_KEY_UP,
104     MOVE_KEY_DOWN,
105     MOVE_KEY_LEFT,
106     MOVE_KEY_RIGHT,
107     MOVE_KEY_FINE_UP,
108     MOVE_KEY_FINE_DOWN,
109     MOVE_KEY_FINE_LEFT,
110     MOVE_KEY_FINE_RIGHT,
111     SWAP_NETS,
112     LINE_LOOP_TO_POLYGON,
113     SCALE,
114     CHANGE_UNIT,
115     EDIT_FRAME_PROPERTIES,
116     SET_ALL_NC,
117     CLEAR_ALL_NC,
118     SET_NC,
119     CLEAR_NC,
120     ADD_KEEPOUT,
121     DELETE_KEEPOUT,
122     EDIT_KEEPOUT,
123     PLACE_REFDES_AND_VALUE,
124     DRAW_LINE_CIRCLE,
125     DRAW_POLYGON_CIRCLE,
126     DRAW_CONNECTION_LINE,
127     BACKANNOTATE_CONNECTION_LINES,
128     IMPORT_KICAD_PACKAGE,
129     DUPLICATE,
130     SMASH_SILKSCREEN_GRAPHICS,
131     RENUMBER_PADS,
132     FIX,
133     UNFIX,
134     NOPOPULATE,
135     POPULATE,
136     POLYGON_TO_LINE_LOOP,
137     ROTATE_CURSOR,
138     MIRROR_CURSOR,
139     PLACE_BOARD_PANEL,
140     MANAGE_INCLUDED_BOARDS,
141     RELOAD_INCLUDED_BOARDS,
142     SMASH_PANEL_OUTLINE,
143     SMASH_PACKAGE_OUTLINE,
144     RESIZE_SYMBOL,
145     ROUND_OFF_VERTEX,
146     SWAP_GATES,
147     PLACE_PICTURE,
148     ADD_TEXT,
149     PLACE_DECAL,
150     DRAW_PLANE,
151     DRAW_KEEPOUT,
152     DRAG_POLYGON_EDGE,
153     MEASURE,
154     EDIT_CUSTOM_VALUE,
155     PLACE_DOT,
156     SET_TRACK_WIDTH,
157 };
158 } // namespace horizon
159