1
# Note - pcb-menu.res is used to build pcb-menu.h
4
# This is the main menu bar
8
{"Save layout" Save(Layout)}
9
{"Save layout as..." Save(LayoutAs)}
10
{"Load layout" Load(Layout)}
11
{"Load element data to paste-buffer" PasteBuffer(Clear) Load(ElementTobuffer)}
12
{"Load layout data to paste-buffer" PasteBuffer(Clear) Load(LayoutTobuffer)}
13
{"Load netlist file" Load(Netlist)}
14
{"Load vendor resource file" LoadVendor()}
15
{"Print layout..." Print() ActiveWhen(DataNonEmpty)}
17
{"Save connection data of..." foreground=red sensitive=false}
18
{" a single element" "GetXY(press a button at the element's location)" Save(ElementConnections)}
19
{" all elements" Save(AllConnections)}
20
{" unused pins" Save(AllUnusedPins)}
22
{"Start new layout" New()}
24
{"Quit Program" Quit() a={"Alt-Q" "Mod1<Key>q"}}
28
{"Undo last operation" Undo() a={"U" "<Key>u"}}
29
{"Redo last undone operation" Redo() a={"Shift-R" "Shift<Key>r"}}
30
{"Clear undo-buffer" Undo(ClearList) a={"Shift-Ctrl-U" "Shift Ctrl<Key>u"}}
32
{"Cut selection to buffer" GetXY(Press a button at the element's location)
33
PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)
34
a={"Shift-Ctrl-X" "Shift Ctrl<Key>x"}}
35
{"Copy selection to buffer" GetXY(Press a button at the element's location)
36
PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)
37
a={"Ctrl-X" "Ctrl<Key>x"}}
38
{"Paste buffer to layout" Mode(PasteBuffer) a={"F7" "<Key>F7"}}
40
{"Unselect all" Unselect(All) a={"Shift-Alt-A" "Shift Mod1<Key>a"}}
41
{"Select all" Select(All) a={"Alt-A" "Alt<Key>a"}}
43
{"Edit Names..." foreground=red sensitive=false}
44
{" Change text on layout" ChangeName(Object) a={"N" "<Key>n"}}
45
{" Edit name of layout" ChangeName(Layout)}
46
{" Edit name of active layer" ChangeName(Layer)}
48
{"Change board size..." AdjustStyle(0)}
52
{"Redraw layout" Display(ClearAndRedraw) a={"R" "<Key>r"}}
53
{"Center layout" Display(Center) a={"C" "<Key>c"}}
55
{"Display grid" CheckWhen(drawgrid) ActiveWhen(gridfactor) Display(Grid)}
56
{"Realign grid" GetXY(Press a button at a grid point) Display(ToggleGrid)}
57
{"View solder side" CheckWhen(showsolderside) GetXY(Press a button at the desired point) SwapSides()
59
{"Show soldermask" CheckWhen(showmask) Display(ToggleMask)}
61
{"Grid Setting..." foreground=red sensitive=false vertSpace=60}
62
{"0.1 mil" SetValue(Grid,10) CheckWhen(grid,10)}
63
{"0.5 mil" SetValue(Grid,50) CheckWhen(grid,50)}
64
{"1 mil" SetValue(Grid,100) CheckWhen(grid,100)}
65
{"0.1 mm" SetValue(Grid,393.7007874) CheckWhen(grid,393)}
66
{"10 mil" SetValue(Grid,1000) CheckWhen(grid,1000)}
67
{"1 mm" SetValue(Grid,3937.007874) CheckWhen(grid,3937)}
68
{"25 mil" SetValue(Grid,2500) CheckWhen(grid,2500)}
69
{"50 mil" SetValue(Grid,5000) CheckWhen(grid,5000)}
70
{"100 mil" SetValue(Grid,10000) CheckWhen(grid,10000)}
71
{"increment by 5 mil" SetValue(Grid,+500) a={"G" "<Key>g"}}
72
{"decrement by 5 mil" SetValue(Grid,-500) a={"Shift-G" "Shift<Key>g"}}
73
{"increment by 1 mm" SetValue(Grid,+393.7007874)}
74
{"decrement by 1 mm" SetValue(Grid,-393.7007874)}
76
{"Zoom Setting..." foreground=red sensitive=false vertSpace=60}
77
{"4 : 1" GetXY(Select a point) SetValue(Zoom,=-4) CheckWhen(zoom,-4)}
78
{"2 : 1" GetXY(Select a point) SetValue(Zoom,=-2) CheckWhen(zoom,-2)}
79
{"1 : 1" GetXY(Select a point) SetValue(Zoom,0) CheckWhen(zoom,0)}
80
{"1 : 2" GetXY(Select a point) SetValue(Zoom,2) CheckWhen(zoom,2)}
81
{"1 : 4" GetXY(Select a point) SetValue(Zoom,4) CheckWhen(zoom,4)}
82
{"1 : 8" GetXY(Select a point) SetValue(Zoom,6) CheckWhen(zoom,6)}
83
{"1 : 16" GetXY(Select a point) SetValue(Zoom,8) CheckWhen(zoom,8)}
85
{"Displayed element-name..." foreground=red sensitive=false vertSpace=60}
86
{"Description" Display(Description) CheckWhen(elementname,1)}
87
{"Reference Designator" Display(NameOnPCB) CheckWhen(elementname,2)}
88
{"Value" Display(Value) CheckWhen(elementname,3)}
90
{"Pinout shows number" CheckWhen(shownumber) Display(ToggleName)}
91
{"Open pinout menu" GetXY(Select an element) Display(Pinout) a={"Shift-D" "Shift<Key>d"}}
96
{"Adjust active sizes ..." AdjustStyle(0)}
100
{"Layer groups" foreground=red sensitive=false vertSpace=60}
101
{"Edit layer groupings" EditLayerGroups()}
103
{"'All-direction' lines" CheckWhen(alldirection) Display(Toggle45Degree) a={"." "<Key>."}}
104
{"Auto swap line start angle" CheckWhen(swapstartdir) Display(ToggleStartDirection)}
105
{"Orthogonal moves" CheckWhen(orthomove) Display(ToggleOrthoMove)}
106
{"Crosshair snaps to pins and pads" CheckWhen(snappin) Display(ToggleSnapPin)}
107
{"Crosshair shows DRC clearance" CheckWhen(showdrc) Display(ToggleShowDRC)}
108
{"Auto enforce DRC clearance" CheckWhen(autodrc) Display(ToggleAutoDRC)}
110
{"Rubber band mode" CheckWhen(rubberband) Display(ToggleRubberBandMode)}
111
{"Require unique element names" CheckWhen(uniquename) Display(ToggleUniqueNames)}
112
{"Auto-zero delta measurements" CheckWhen(localref) Display(ToggleLocalRef)}
113
{"New lines, arcs clear polygons" CheckWhen(clearnew) Display(ToggleClearLine)}
114
{"Show autorouter trials" CheckWhen(liveroute) Display(ToggleLiveRoute)}
115
{"Thin draw" CheckWhen(thindraw) Display(ToggleThindraw) a={"|" "<Key>|"}}
116
{"Check polygons" CheckWhen(checkplanes) Display(ToggleCheckPlanes)}
118
{"Enable vendor drill mapping" ToggleVendor() CheckWhen(VendorMapOn)}
122
{"Select all objects" Select(All)}
123
{"Select all connected objects" Select(Connection)}
125
{"Unselect all objects" Unselect(All)}
126
{"unselect all connected objects" Unselect(Connection)}
128
{"Select by name" foreground=red sensitive=false vertSpace=60}
129
{"All objects" Select(ObjectByName) ActiveWhen(have_regex)}
130
{"Elements" Select(ElementByName) ActiveWhen(have_regex)}
131
{"Pads" Select(PadByName) ActiveWhen(have_regex)}
132
{"Pins" Select(PinByName) ActiveWhen(have_regex)}
133
{"Text Objects" Select(TextByName) ActiveWhen(have_regex)}
134
{"Vias" Select(ViaByName) ActiveWhen(have_regex)}
136
{"Auto-place selected elements" AutoPlaceSelected() a={"Ctrl-P" "Ctrl<Key>p"}}
137
{"Disperse all elements" DisperseElements(All)}
138
{"Disperse selected elements" DisperseElements(Selected)}
139
{"Move selected elements to other side" Flip(SelectedElements) a={"Shift-B" "Shift<Key>b"}}
140
{"Delete selected objects" RemoveSelected()}
141
{"Convert selection to element" Select(Convert)}
143
{"Optimize selected rats" DeleteRats(SelectedRats) AddRats(SelectedRats)}
144
{"Auto-route selected rats" AutoRoute(SelectedRats) a={"Alt-R" "Mod1<Key>r"}}
145
{"Rip-up selected auto-routed tracks" RipUp(Selected)}
147
{"Change size of selected objects" foreground=red sensitive=false vertSpace=60}
148
{"Lines -10 mil" ChangeSize(SelectedLines,-10,mil)}
149
{"Lines +10 mil" ChangeSize(SelectedLines,+10,mil)}
150
{"Pads -10 mil" ChangeSize(SelectedPads,-10,mil)}
151
{"Pads +10 mil" ChangeSize(SelectedPads,+10,mil)}
152
{"Pins -10 mil" ChangeSize(SelectedPins,-10,mil)}
153
{"Pins +10 mil" ChangeSize(SelectedPins,+10,mil)}
154
{"Texts -10 mil" ChangeSize(SelectedTexts,-10,mil)}
155
{"Texts +10 mil" ChangeSize(SelectedTexts,+10,mil)}
156
{"Vias -10 mil" ChangeSize(SelectedVias,-10,mil)}
157
{"Vias +10 mil" ChangeSize(SelectedVias,+10,mil)}
159
{"Change drilling hole of selected objects" foreground=red sensitive=false vertSpace=60}
160
{"Vias -10 mil" ChangeDrillSize(SelectedVias,-10,mil)}
161
{"Vias +10 mil" ChangeDrillSize(SelectedVias,+10,mil)}
162
{"Pins -10 mil" ChangeDrillSize(SelectedPins,-10,mil)}
163
{"Pins +10 mil" ChangeDrillSize(SelectedPins,+10,mil)}
165
{"Change square-flag of selected objects" foreground=red sensitive=false vertSpace=60}
166
{"Elements" ChangeSquare(SelectedElements)}
167
{"Pins" ChangeSquare(SelectedPins)}
171
{"Copy selection to buffer" GetXY(Press a button at the element's location)
172
PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)}
173
{"Cut selection to buffer" GetXY(Press a button at the element's location)
174
PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)}
175
{"Paste buffer to layout" Mode(PasteBuffer)}
177
{"Rotate buffer 90 deg CCW" Mode(PasteBuffer) PasteBuffer(Rotate,1)}
178
{"Rotate buffer 90 deg CW" Mode(PasteBuffer) PasteBuffer(Rotate,3)}
179
{"Mirror buffer (up/down)" Mode(PasteBuffer) PasteBuffer(Mirror)}
180
{"Mirror buffer (left/right)" Mode(PasteBuffer) PasteBuffer(Rotate,1)
181
PasteBuffer(Mirror) PasteBuffer(Rotate,3)}
183
{"Clear buffer" PasteBuffer(Clear)}
184
{"Convert buffer to element" PasteBuffer(Convert)}
185
{"Break buffer elements to pieces" PasteBuffer(Restore)}
186
{"Save buffer elements to file" PasteBuffer(Save)}
188
{"Select current buffer" foreground=red sensitive=false vertSpace=60}
189
{"#1" CheckWhen(buffer,1) PasteBuffer(1) a={"Shift-1" "Shift<Key>1"}}
190
{"#2" CheckWhen(buffer,2) PasteBuffer(2) a={"Shift-2" "Shift<Key>2"}}
191
{"#3" CheckWhen(buffer,3) PasteBuffer(3) a={"Shift-3" "Shift<Key>3"}}
192
{"#4" CheckWhen(buffer,4) PasteBuffer(4) a={"Shift-4" "Shift<Key>4"}}
193
{"#5" CheckWhen(buffer,5) PasteBuffer(5) a={"Shift-5" "Shift<Key>5"}}
197
{"Lookup connection to object" GetXY(Select the object) Connection(Find) a={"Ctrl-F" "Ctrl<Key>f"}}
198
{"Reset scanned pads/pins/vias" Connection(ResetPinsViasAndPads) Display(Redraw)}
199
{"Reset scanned lines/polygons" Connection(ResetLinesAndPolygons) Display(Redraw)}
200
{"Reset all connections" Connection(Reset) Display(Redraw) a={"Shift-F" "Shift<Key>f"}}
202
{"Optimize rats-nest" Atomic(Save) DeleteRats(AllRats)
203
Atomic(Restore) AddRats(AllRats) Atomic(Block) a={"O" "<Key>o"}}
204
{"Erase rats-nest" DeleteRats(AllRats) a={"E" "<Key>e"}}
206
{"Auto-route selected rats" AutoRoute(Selected)}
207
{"Auto-route all rats" AutoRoute(AllRats)}
208
{"Rip up all auto-routed tracks" RipUp(All)}
210
{"Auto-Optimize" djopt(auto) Display(ClearAndRedraw) a={"Shift-=" "Shift<Key>="}}
211
{"Debumpify" djopt(debumpify) Display(ClearAndRedraw)}
212
{"Unjaggy" djopt(unjaggy) Display(ClearAndRedraw)}
213
{"Vianudge" djopt(vianudge) Display(ClearAndRedraw)}
214
{"Viatrim" djopt(viatrim) Display(ClearAndRedraw)}
215
{"Orthopull" djopt(orthopull) Display(ClearAndRedraw)}
216
{"SimpleOpts" djopt(simple) Display(ClearAndRedraw) a={"=" "<Key>="}}
217
{"Miter" djopt(miter) Display(ClearAndRedraw)}
218
{"Only autorouted nets" OptAutoOnly() CheckWhen(OptAutoOnly)}
220
{"Design Rule Checker" DRC()}
222
{"Apply vendor drill mapping" ApplyVendor()}
226
{"Generate object report" GetXY(Select the object) Report(Object) a={"Ctrl-R" "Ctrl<Key>r"}}
227
{"Generate drill summary" Report(DrillReport)}
228
{"Report found pins/pads" Report(FoundPins)}
232
{"Board Layout" DoWindows(1)}
233
{"Library" DoWindows(2)}
234
{"Message Log" DoWindows(3) ActiveWhen(uselogwindow)}
235
{"Netlist" DoWindows(4) ActiveWhen(netlist)}
240
{"Operations on Selections" foreground=red sensitive=false}
241
{"Unselect All" Unselect(All)}
242
{"Remove Selected" RemoveSelected()}
243
{"Copy Selection to Buffer" PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)}
244
{"Cut Selection to Buffer"
245
PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)}
246
{"Convert Selection to Element" Select(Convert)}
247
{"break element to pieces" RipUp(Element)}
248
{"Auto-place Selected" AutoPlaceSelected()}
249
{"Auto-route Selected Rats" AutoRoute(SelectedRats)}
250
{"Rip-up selected auto-routed tracks" RipUp(Selected)}
252
{"Operations on This Location" foreground=red sensitive=false}
253
{"Toggle Name Visibility" ToggleHideName(Selected)}
254
{"Edit Name" ChangeName(Object)}
255
{"Object Report" Report(Object)}
256
{"Rotate Object CCW" Mode(Save) Mode(Rotate) Mode(Notify) Mode(Restore)}
258
Mode(Save) Atomic(Save) Mode(Rotate) Mode(Notify)
259
Atomic(Restore) Mode(Notify) Atomic(Restore)
260
Mode(Notify) Atomic(Block) Mode(Restore)}
261
{"Send To Other Side" Flip(Object)}
263
Mode(Save) Mode(Thermal) Mode(Notify) Mode(Restore)}
264
{"Lookup Connections" Connection(Find)}
266
{"Undo Last Operation" Undo()}
267
{"Redo Last Undone Operation" Redo()}
269
{"Line Tool" Mode(Line)}
270
{"Via Tool" Mode(Via)}
271
{"Rectangle Tool" Mode(Rectangle)}
272
{"Selection Tool" Mode(Arrow)}
273
{"Text Tool" Mode(Text)}
274
{"Panner Tool" Mode(None)}