KiCad PCB EDA Suite
pcb_actions.cpp
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2013-2016 CERN
5  * Copyright (C) 2016-2021 KiCad Developers, see AUTHORS.txt for contributors.
6  * @author Maciej Suminski <[email protected]>
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, you may find one here:
20  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21  * or you may search the http://www.gnu.org website for the version 2 license,
22  * or you may write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24  */
25 
26 #include "pcb_actions.h"
27 #include "tool/tool_event.h"
28 #include <pcbnew_id.h>
29 #include <bitmaps.h>
30 #include <layer_ids.h>
32 #include <tool/tool_manager.h>
33 #include <router/pns_router.h>
35 
36 // Actions, being statically-defined, require specialized I18N handling. We continue to
37 // use the _() macro so that string harvesting by the I18N framework doesn't have to be
38 // specialized, but we don't translate on initialization and instead do it in the getters.
39 
40 #undef _
41 #define _(s) s
42 
43 
44 // CONVERT_TOOL
45 //
46 TOOL_ACTION PCB_ACTIONS::convertToPoly( "pcbnew.Convert.convertToPoly",
47  AS_GLOBAL, 0, "",
48  _( "Create Polygon from Selection" ), _( "Creates a graphic polygon from the selection" ),
50 
51 TOOL_ACTION PCB_ACTIONS::convertToZone( "pcbnew.Convert.convertToZone",
52  AS_GLOBAL, 0, "",
53  _( "Create Zone from Selection" ), _( "Creates a copper zone from the selection" ),
55 
56 TOOL_ACTION PCB_ACTIONS::convertToKeepout( "pcbnew.Convert.convertToKeepout",
57  AS_GLOBAL, 0, "",
58  _( "Create Rule Area from Selection" ), _( "Creates a rule area from the selection" ),
60 
61 TOOL_ACTION PCB_ACTIONS::convertToLines( "pcbnew.Convert.convertToLines",
62  AS_GLOBAL, 0, "",
63  _( "Create Lines from Selection" ), _( "Creates graphic lines from the selection" ),
65 
66 TOOL_ACTION PCB_ACTIONS::convertToArc( "pcbnew.Convert.convertToArc",
67  AS_GLOBAL, 0, "",
68  _( "Create Arc from Selection" ), _( "Creates an arc from the selected line segment" ),
70 
71 TOOL_ACTION PCB_ACTIONS::convertToTracks( "pcbnew.Convert.convertToTracks",
72  AS_GLOBAL, 0, "",
73  _( "Create Tracks from Selection" ), _( "Creates tracks from the selected graphic lines" ),
75 
76 
77 // DRAWING_TOOL
78 //
79 TOOL_ACTION PCB_ACTIONS::drawLine( "pcbnew.InteractiveDrawing.line",
80  AS_GLOBAL,
81  MD_SHIFT + MD_CTRL + 'L', LEGACY_HK_NAME( "Draw Line" ),
82  _( "Draw Line" ), _( "Draw a line" ),
84 
85 TOOL_ACTION PCB_ACTIONS::drawPolygon( "pcbnew.InteractiveDrawing.graphicPolygon",
86  AS_GLOBAL,
87  MD_SHIFT + MD_CTRL + 'P', LEGACY_HK_NAME( "Draw Graphic Polygon" ),
88  _( "Draw Graphic Polygon" ), _( "Draw a graphic polygon" ),
90 
91 TOOL_ACTION PCB_ACTIONS::drawRectangle( "pcbnew.InteractiveDrawing.rectangle",
92  AS_GLOBAL, 0, "",
93  _( "Draw Rectangle" ), _( "Draw a rectangle" ),
95 
96 TOOL_ACTION PCB_ACTIONS::drawCircle( "pcbnew.InteractiveDrawing.circle",
97  AS_GLOBAL,
98  MD_SHIFT + MD_CTRL + 'C', LEGACY_HK_NAME( "Draw Circle" ),
99  _( "Draw Circle" ), _( "Draw a circle" ),
101 
102 TOOL_ACTION PCB_ACTIONS::drawArc( "pcbnew.InteractiveDrawing.arc",
103  AS_GLOBAL,
104  MD_SHIFT + MD_CTRL + 'A', LEGACY_HK_NAME( "Draw Arc" ),
105  _( "Draw Arc" ), _( "Draw an arc" ),
107 
108 TOOL_ACTION PCB_ACTIONS::placeCharacteristics( "pcbnew.InteractiveDrawing.placeCharacteristics",
109  AS_GLOBAL, 0, LEGACY_HK_NAME( "Add Board Characteristics" ),
110  _( "Add Board Characteristics" ),
111  _( "Add a board characteristics table on a graphic layer" ),
113 
114 TOOL_ACTION PCB_ACTIONS::placeStackup( "pcbnew.InteractiveDrawing.placeStackup", AS_GLOBAL, 0,
115  LEGACY_HK_NAME( "Add Stackup Table" ),
116  _( "Add Stackup Table" ),
117  _( "Add a board stackup table on a graphic layer" ),
119 
120 TOOL_ACTION PCB_ACTIONS::placeText( "pcbnew.InteractiveDrawing.text",
121  AS_GLOBAL,
122  MD_SHIFT + MD_CTRL + 'T', LEGACY_HK_NAME( "Add Text" ),
123  _( "Add Text" ), _( "Add a text item" ),
125 
126 TOOL_ACTION PCB_ACTIONS::drawAlignedDimension( "pcbnew.InteractiveDrawing.alignedDimension",
127  AS_GLOBAL,
128  MD_SHIFT + MD_CTRL + 'H', LEGACY_HK_NAME( "Add Dimension" ),
129  _( "Add Aligned Dimension" ), _( "Add an aligned linear dimension" ),
131 
132 TOOL_ACTION PCB_ACTIONS::drawCenterDimension( "pcbnew.InteractiveDrawing.centerDimension",
133  AS_GLOBAL, 0, "",
134  _( "Add Center Dimension" ), _( "Add a center dimension" ),
136 
137 TOOL_ACTION PCB_ACTIONS::drawOrthogonalDimension( "pcbnew.InteractiveDrawing.orthogonalDimension",
138  AS_GLOBAL, 0, "",
139  _( "Add Orthogonal Dimension" ), _( "Add an orthogonal dimension" ),
141 
142 TOOL_ACTION PCB_ACTIONS::drawLeader( "pcbnew.InteractiveDrawing.leader",
143  AS_GLOBAL, 0, "",
144  _( "Add Leader" ), _( "Add a leader dimension" ),
146 
147 TOOL_ACTION PCB_ACTIONS::drawZone( "pcbnew.InteractiveDrawing.zone",
148  AS_GLOBAL,
149 #ifdef __WXOSX_MAC__
150  MD_ALT + 'Z',
151 #else
152  MD_SHIFT + MD_CTRL + 'Z',
153 #endif
154  LEGACY_HK_NAME( "Add Filled Zone" ),
155  _( "Add Filled Zone" ), _( "Add a filled zone" ),
157 
158 TOOL_ACTION PCB_ACTIONS::drawVia( "pcbnew.InteractiveDrawing.via",
159  AS_GLOBAL,
160  MD_SHIFT + MD_CTRL + 'V', LEGACY_HK_NAME( "Add Vias" ),
161  _( "Add Vias" ), _( "Add free-standing vias" ),
163 
164 TOOL_ACTION PCB_ACTIONS::drawRuleArea( "pcbnew.InteractiveDrawing.ruleArea",
165  AS_GLOBAL,
166  MD_SHIFT + MD_CTRL + 'K', LEGACY_HK_NAME( "Add Keepout Area" ),
167  _( "Add Rule Area" ), _( "Add a rule area (keepout)" ),
169 
170 TOOL_ACTION PCB_ACTIONS::drawZoneCutout( "pcbnew.InteractiveDrawing.zoneCutout",
171  AS_GLOBAL,
172  MD_SHIFT + 'C', LEGACY_HK_NAME( "Add a Zone Cutout" ),
173  _( "Add a Zone Cutout" ), _( "Add a cutout area of an existing zone" ),
175 
176 TOOL_ACTION PCB_ACTIONS::drawSimilarZone( "pcbnew.InteractiveDrawing.similarZone",
177  AS_GLOBAL,
178  MD_SHIFT + MD_CTRL + '.', LEGACY_HK_NAME( "Add a Similar Zone" ),
179  _( "Add a Similar Zone" ), _( "Add a zone with the same settings as an existing zone" ),
181 
182 TOOL_ACTION PCB_ACTIONS::placeImportedGraphics( "pcbnew.InteractiveDrawing.placeImportedGraphics",
183  AS_GLOBAL,
184  MD_SHIFT + MD_CTRL + 'F', LEGACY_HK_NAME( "Place DXF" ),
185  _( "Import Graphics..." ), _( "Import 2D drawing file" ),
187 
188 TOOL_ACTION PCB_ACTIONS::setAnchor( "pcbnew.InteractiveDrawing.setAnchor",
189  AS_GLOBAL,
190  MD_SHIFT + MD_CTRL + 'N', LEGACY_HK_NAME( "Place the Footprint Anchor" ),
191  _( "Place the Footprint Anchor" ), _( "Set the coordinate origin point (anchor) of the footprint" ),
193 
194 TOOL_ACTION PCB_ACTIONS::incWidth( "pcbnew.InteractiveDrawing.incWidth",
195  AS_CONTEXT,
196  MD_CTRL + '+', LEGACY_HK_NAME( "Increase Line Width" ),
197  _( "Increase Line Width" ), _( "Increase the line width" ) );
198 
199 TOOL_ACTION PCB_ACTIONS::decWidth( "pcbnew.InteractiveDrawing.decWidth",
200  AS_CONTEXT,
201  MD_CTRL + '-', LEGACY_HK_NAME( "Decrease Line Width" ),
202  _( "Decrease Line Width" ), _( "Decrease the line width" ) );
203 
204 TOOL_ACTION PCB_ACTIONS::arcPosture( "pcbnew.InteractiveDrawing.arcPosture",
205  AS_CONTEXT,
206  '/', LEGACY_HK_NAME( "Switch Track Posture" ),
207  _( "Switch Arc Posture" ), _( "Switch the arc posture" ) );
208 
209 TOOL_ACTION PCB_ACTIONS::deleteLastPoint( "pcbnew.InteractiveDrawing.deleteLastPoint",
210  AS_CONTEXT,
211  WXK_BACK, "",
212  _( "Delete Last Point" ), _( "Delete the last point added to the current item" ),
213  BITMAPS::undo );
214 
215 TOOL_ACTION PCB_ACTIONS::closeOutline( "pcbnew.InteractiveDrawing.closeOutline",
216  AS_CONTEXT, 0, "",
217  _( "Close Outline" ), _( "Close the in progress outline" ),
219 
220 // DRC
221 //
222 TOOL_ACTION PCB_ACTIONS::runDRC( "pcbnew.DRCTool.runDRC",
223  AS_GLOBAL, 0, "",
224  _( "Design Rules Checker" ), _( "Show the design rules checker window" ),
225  BITMAPS::erc );
226 
227 
228 // EDIT_TOOL
229 //
230 TOOL_ACTION PCB_ACTIONS::editFpInFpEditor( "pcbnew.EditorControl.EditFpInFpEditor",
231  AS_GLOBAL,
232  MD_CTRL + 'E', LEGACY_HK_NAME( "Edit with Footprint Editor" ),
233  _( "Open in Footprint Editor" ),
234  _( "Opens the selected footprint in the Footprint Editor" ),
236 
237 TOOL_ACTION PCB_ACTIONS::editLibFpInFpEditor( "pcbnew.EditorControl.EditLibFpInFpEditor",
238  AS_GLOBAL,
239  MD_CTRL + MD_SHIFT + 'E', "",
240  _( "Edit Library Footprint..." ),
241  _( "Opens the selected footprint in the Footprint Editor" ),
243 
244 TOOL_ACTION PCB_ACTIONS::getAndPlace( "pcbnew.InteractiveEdit.FindMove",
245  AS_GLOBAL,
246  'T', LEGACY_HK_NAME( "Get and Move Footprint" ),
247  _( "Get and Move Footprint" ),
248  _( "Selects a footprint by reference designator and places it under the cursor for moving"),
250 
251 TOOL_ACTION PCB_ACTIONS::move( "pcbnew.InteractiveMove.move",
252  AS_GLOBAL,
253  'M', LEGACY_HK_NAME( "Move Item" ),
254  _( "Move" ), _( "Moves the selected item(s)" ),
256 
257 TOOL_ACTION PCB_ACTIONS::moveWithReference( "pcbnew.InteractiveMove.moveWithReference",
258  AS_GLOBAL, 0, "",
259  _( "Move with Reference" ),
260  _( "Moves the selected item(s) with a specified starting point" ),
262 
263 TOOL_ACTION PCB_ACTIONS::copyWithReference( "pcbnew.InteractiveMove.copyWithReference",
264  AS_GLOBAL, 0, "",
265  _( "Copy with Reference" ),
266  _( "Copy selected item(s) to clipboard with a specified starting point" ),
268 
269 TOOL_ACTION PCB_ACTIONS::duplicateIncrement( "pcbnew.InteractiveEdit.duplicateIncrementPads",
270  AS_GLOBAL,
271  MD_SHIFT + MD_CTRL + 'D', LEGACY_HK_NAME( "Duplicate Item and Increment" ),
272  _( "Duplicate and Increment" ), _( "Duplicates the selected item(s), incrementing pad numbers" ),
274 
275 TOOL_ACTION PCB_ACTIONS::moveExact( "pcbnew.InteractiveEdit.moveExact",
276  AS_GLOBAL,
277  MD_SHIFT + 'M', LEGACY_HK_NAME( "Move Item Exactly" ),
278  _( "Move Exactly..." ), _( "Moves the selected item(s) by an exact amount" ),
280 
281 TOOL_ACTION PCB_ACTIONS::createArray( "pcbnew.InteractiveEdit.createArray",
282  AS_GLOBAL,
283  MD_CTRL + 'T', LEGACY_HK_NAME( "Create Array" ),
284  _( "Create Array..." ), _( "Create array" ),
286 
287 TOOL_ACTION PCB_ACTIONS::rotateCw( "pcbnew.InteractiveEdit.rotateCw",
288  AS_GLOBAL,
289  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
290  MD_SHIFT + 'R', LEGACY_HK_NAME( "Rotate Item Clockwise (Modern Toolset only)" ),
291  _( "Rotate Clockwise" ), _( "Rotates selected item(s) clockwise" ),
292  BITMAPS::rotate_cw, AF_NONE, (void*) -1 );
293 
294 TOOL_ACTION PCB_ACTIONS::rotateCcw( "pcbnew.InteractiveEdit.rotateCcw",
295  AS_GLOBAL,
296  'R', LEGACY_HK_NAME( "Rotate Item" ),
297  _( "Rotate Counterclockwise" ), _( "Rotates selected item(s) counterclockwise" ),
298  BITMAPS::rotate_ccw, AF_NONE, (void*) 1 );
299 
300 TOOL_ACTION PCB_ACTIONS::flip( "pcbnew.InteractiveEdit.flip",
301  AS_GLOBAL,
302  'F', LEGACY_HK_NAME( "Flip Item" ),
303  _( "Change Side / Flip" ), _( "Flips selected item(s) to opposite side of board" ),
305 
306 TOOL_ACTION PCB_ACTIONS::mirror( "pcbnew.InteractiveEdit.mirror",
307  AS_GLOBAL, 0, "",
308  _( "Mirror" ), _( "Mirrors selected item" ),
310 
311 TOOL_ACTION PCB_ACTIONS::changeTrackWidth( "pcbnew.InteractiveEdit.changeTrackWidth",
312  AS_GLOBAL, 0, "",
313  _( "Change Track Width" ), _( "Updates selected track & via sizes" ) );
314 
315 TOOL_ACTION PCB_ACTIONS::filletTracks( "pcbnew.InteractiveEdit.filletTracks",
316  AS_GLOBAL, 0, "",
317  _( "Fillet Tracks" ), _( "Adds arcs tangent to the selected straight track segments" ) );
318 
319 TOOL_ACTION PCB_ACTIONS::deleteFull( "pcbnew.InteractiveEdit.deleteFull",
320  AS_GLOBAL,
321  MD_SHIFT + WXK_DELETE, LEGACY_HK_NAME( "Delete Full Track" ),
322  _( "Delete Full Track" ), _( "Deletes selected item(s) and copper connections" ),
323  BITMAPS::delete_cursor, AF_NONE, (void*) REMOVE_FLAGS::ALT );
324 
325 TOOL_ACTION PCB_ACTIONS::properties( "pcbnew.InteractiveEdit.properties",
326  AS_GLOBAL,
327  'E', LEGACY_HK_NAME( "Edit Item" ),
328  _( "Properties..." ), _( "Displays item properties dialog" ),
329  BITMAPS::edit );
330 
331 
332 // FOOTPRINT_EDITOR_CONTROL
333 //
334 TOOL_ACTION PCB_ACTIONS::showFootprintTree( "pcbnew.ModuleEditor.showFootprintTree",
335  AS_GLOBAL, 0, "",
336  _( "Show Footprint Tree" ), "",
338 
339 TOOL_ACTION PCB_ACTIONS::hideFootprintTree( "pcbnew.ModuleEditor.hideFootprintTree",
340  AS_GLOBAL, 0, "",
341  _( "Hide Footprint Tree" ), "",
343 
344 TOOL_ACTION PCB_ACTIONS::newFootprint( "pcbnew.ModuleEditor.newFootprint",
345  AS_GLOBAL,
346  MD_CTRL + 'N', LEGACY_HK_NAME( "New" ),
347  _( "New Footprint..." ), _( "Create a new, empty footprint" ),
349 
350 TOOL_ACTION PCB_ACTIONS::createFootprint( "pcbnew.ModuleEditor.createFootprint",
351  AS_GLOBAL, 0, "",
352  _( "Create Footprint..." ), _( "Create a new footprint using the Footprint Wizard" ),
354 
355 TOOL_ACTION PCB_ACTIONS::editFootprint( "pcbnew.ModuleEditor.editFootprint",
356  AS_GLOBAL, 0, "",
357  _( "Edit Footprint" ), _( "Show selected footprint on editor canvas" ),
358  BITMAPS::edit );
359 
360 TOOL_ACTION PCB_ACTIONS::deleteFootprint( "pcbnew.ModuleEditor.deleteFootprint",
361  AS_GLOBAL, 0, "",
362  _( "Delete Footprint from Library" ), "",
363  BITMAPS::trash );
364 
365 TOOL_ACTION PCB_ACTIONS::cutFootprint( "pcbnew.ModuleEditor.cutFootprint",
366  AS_GLOBAL, 0, "",
367  _( "Cut Footprint" ), "",
368  BITMAPS::cut );
369 
370 TOOL_ACTION PCB_ACTIONS::copyFootprint( "pcbnew.ModuleEditor.copyFootprint",
371  AS_GLOBAL, 0, "",
372  _( "Copy Footprint" ), "",
373  BITMAPS::copy );
374 
375 TOOL_ACTION PCB_ACTIONS::pasteFootprint( "pcbnew.ModuleEditor.pasteFootprint",
376  AS_GLOBAL, 0, "",
377  _( "Paste Footprint" ), "",
378  BITMAPS::paste );
379 
380 TOOL_ACTION PCB_ACTIONS::importFootprint( "pcbnew.ModuleEditor.importFootprint",
381  AS_GLOBAL, 0, "",
382  _( "Import Footprint..." ), _( "Import footprint from file" ),
384 
385 TOOL_ACTION PCB_ACTIONS::exportFootprint( "pcbnew.ModuleEditor.exportFootprint",
386  AS_GLOBAL, 0, "",
387  _( "Export Footprint..." ), _( "Export footprint to file" ),
389 
390 TOOL_ACTION PCB_ACTIONS::footprintProperties( "pcbnew.ModuleEditor.footprintProperties",
391  AS_GLOBAL, 0, "",
392  _( "Footprint Properties..." ), _( "Edit footprint properties" ),
394 
395 TOOL_ACTION PCB_ACTIONS::checkFootprint( "pcbnew.ModuleEditor.checkFootprint",
396  AS_GLOBAL, 0, "",
397  _( "Footprint Checker" ), _( "Show the footprint checker window" ),
398  BITMAPS::erc );
399 
400 // GLOBAL_EDIT_TOOL
401 //
402 TOOL_ACTION PCB_ACTIONS::updateFootprint( "pcbnew.GlobalEdit.updateFootprint",
403  AS_GLOBAL, 0, "",
404  _( "Update Footprint..." ),
405  _( "Update footprint to include any changes from the library" ),
407 
408 TOOL_ACTION PCB_ACTIONS::updateFootprints( "pcbnew.GlobalEdit.updateFootprints",
409  AS_GLOBAL, 0, "",
410  _( "Update Footprints from Library..." ),
411  _( "Update footprints to include any changes from the library" ),
413 
414 TOOL_ACTION PCB_ACTIONS::removeUnusedPads( "pcbnew.GlobalEdit.removeUnusedPads",
415  AS_GLOBAL, 0, "",
416  _( "Remove Unused Pads..." ),
417  _( "Remove or restore the unconnected inner layers on through hole pads and vias" ),
419 
420 TOOL_ACTION PCB_ACTIONS::changeFootprint( "pcbnew.GlobalEdit.changeFootprint",
421  AS_GLOBAL, 0, "",
422  _( "Change Footprint..." ), _( "Assign a different footprint from the library" ),
424 
425 TOOL_ACTION PCB_ACTIONS::changeFootprints( "pcbnew.GlobalEdit.changeFootprints",
426  AS_GLOBAL, 0, "",
427  _( "Change Footprints..." ), _( "Assign different footprints from the library" ),
429 
430 TOOL_ACTION PCB_ACTIONS::swapLayers( "pcbnew.GlobalEdit.swapLayers",
431  AS_GLOBAL, 0, "",
432  _( "Swap Layers..." ), _( "Move tracks or drawings from one layer to another" ),
434 
435 TOOL_ACTION PCB_ACTIONS::editTracksAndVias( "pcbnew.GlobalEdit.editTracksAndVias",
436  AS_GLOBAL, 0, "",
437  _( "Edit Track & Via Properties..." ),
438  _( "Edit track and via properties globally across board" ),
440 
441 TOOL_ACTION PCB_ACTIONS::editTextAndGraphics( "pcbnew.GlobalEdit.editTextAndGraphics",
442  AS_GLOBAL, 0, "",
443  _( "Edit Text & Graphics Properties..." ),
444  _( "Edit Text and graphics properties globally across board" ),
445  BITMAPS::text );
446 
447 TOOL_ACTION PCB_ACTIONS::globalDeletions( "pcbnew.GlobalEdit.globalDeletions",
448  AS_GLOBAL, 0, "",
449  _( "Global Deletions..." ),
450  _( "Delete tracks, footprints and graphic items from board" ),
452 
453 TOOL_ACTION PCB_ACTIONS::cleanupTracksAndVias( "pcbnew.GlobalEdit.cleanupTracksAndVias",
454  AS_GLOBAL, 0, "",
455  _( "Cleanup Tracks & Vias..." ),
456  _( "Cleanup redundant items, shorting items, etc." ),
458 
459 TOOL_ACTION PCB_ACTIONS::cleanupGraphics( "pcbnew.GlobalEdit.cleanupGraphics",
460  AS_GLOBAL, 0, "",
461  _( "Cleanup Graphics..." ),
462  _( "Cleanup redundant items, etc." ),
464 
465 // MICROWAVE_TOOL
466 //
467 TOOL_ACTION PCB_ACTIONS::microwaveCreateGap( "pcbnew.MicrowaveTool.createGap",
468  AS_GLOBAL, 0, "",
469  _( "Add Microwave Gap" ), _( "Create gap of specified length for microwave applications" ),
471 
472 TOOL_ACTION PCB_ACTIONS::microwaveCreateStub( "pcbnew.MicrowaveTool.createStub",
473  AS_GLOBAL, 0, "",
474  _( "Add Microwave Stub" ), _( "Create stub of specified length for microwave applications" ),
476 
477 TOOL_ACTION PCB_ACTIONS::microwaveCreateStubArc( "pcbnew.MicrowaveTool.createStubArc",
478  AS_GLOBAL, 0, "",
479  _( "Add Microwave Arc Stub" ), _( "Create stub (arc) of specified size for microwave applications" ),
481 
482 TOOL_ACTION PCB_ACTIONS::microwaveCreateFunctionShape( "pcbnew.MicrowaveTool.createFunctionShape",
483  AS_GLOBAL, 0, "",
484  _( "Add Microwave Polygonal Shape" ), _( "Create a microwave polygonal shape from a list of vertices" ),
486 
487 TOOL_ACTION PCB_ACTIONS::microwaveCreateLine( "pcbnew.MicrowaveTool.createLine",
488  AS_GLOBAL, 0, "",
489  _( "Add Microwave Line" ), _( "Create line of specified length for microwave applications" ),
491 
492 
493 // PAD_TOOL
494 //
495 TOOL_ACTION PCB_ACTIONS::copyPadSettings( "pcbnew.PadTool.CopyPadSettings",
496  AS_GLOBAL, 0, "",
497  _( "Copy Pad Properties to Default" ), _( "Copy current pad's properties" ),
499 
500 TOOL_ACTION PCB_ACTIONS::applyPadSettings( "pcbnew.PadTool.ApplyPadSettings",
501  AS_GLOBAL, 0, "",
502  _( "Paste Default Pad Properties to Selected" ),
503  _( "Replace the current pad's properties with those copied earlier" ),
505 
506 TOOL_ACTION PCB_ACTIONS::pushPadSettings( "pcbnew.PadTool.PushPadSettings",
507  AS_GLOBAL, 0, "",
508  _( "Push Pad Properties to Other Pads..." ),
509  _( "Copy the current pad's properties to other pads" ),
511 
512 TOOL_ACTION PCB_ACTIONS::enumeratePads( "pcbnew.PadTool.enumeratePads",
513  AS_GLOBAL, 0, "",
514  _( "Renumber Pads..." ),
515  _( "Renumber pads by clicking on them in the desired order" ),
517 
518 TOOL_ACTION PCB_ACTIONS::placePad( "pcbnew.PadTool.placePad",
519  AS_GLOBAL, 0, "",
520  _( "Add Pad" ), _( "Add a pad" ),
522 
523 TOOL_ACTION PCB_ACTIONS::explodePad( "pcbnew.PadTool.explodePad",
524  AS_GLOBAL,
525  MD_CTRL + 'E', "",
526  _( "Edit Pad as Graphic Shapes" ),
527  _( "Ungroups a custom-shaped pad for editing as individual graphic shapes" ),
529 
530 TOOL_ACTION PCB_ACTIONS::recombinePad( "pcbnew.PadTool.recombinePad",
531  AS_GLOBAL,
532  MD_CTRL + 'E', "",
533  _( "Finish Pad Edit" ),
534  _( "Regroups all touching graphic shapes into the edited pad" ),
536 
537 TOOL_ACTION PCB_ACTIONS::defaultPadProperties( "pcbnew.PadTool.defaultPadProperties",
538  AS_GLOBAL, 0, "",
539  _( "Default Pad Properties..." ), _( "Edit the pad properties used when creating new pads" ),
541 
542 
543 // SCRIPTING TOOL
544 //
545 TOOL_ACTION PCB_ACTIONS::pluginsReload( "pcbnew.ScriptingTool.pluginsReload",
546  AS_GLOBAL, 0, "",
547  _( "Refresh Plugins" ), _( "Reload all python plugins and refresh plugin menus" ),
548  BITMAPS::reload );
549 
550 TOOL_ACTION PCB_ACTIONS::pluginsShowFolder( "pcbnew.ScriptingTool.pluginsShowFolder",
551  AS_GLOBAL, 0, "",
552 #ifdef __WXMAC__
553  _( "Reveal Plugin Folder in Finder" ), _( "Reveals the plugins folder in a Finder window" ),
554 #else
555  _( "Open Plugin Directory" ), _( "Opens the directory in the default system file manager" ),
556 #endif
558 
559 // BOARD_EDITOR_CONTROL
560 //
561 TOOL_ACTION PCB_ACTIONS::boardSetup( "pcbnew.EditorControl.boardSetup",
562  AS_GLOBAL, 0, "",
563  _( "Board Setup..." ),
564  _( "Edit board setup including layers, design rules and various defaults" ),
566 
567 TOOL_ACTION PCB_ACTIONS::importNetlist( "pcbnew.EditorControl.importNetlist",
568  AS_GLOBAL, 0, "",
569  _( "Import Netlist..." ), _( "Read netlist and update board connectivity" ),
571 
572 TOOL_ACTION PCB_ACTIONS::importSpecctraSession( "pcbnew.EditorControl.importSpecctraSession",
573  AS_GLOBAL, 0, "",
574  _( "Import Specctra Session..." ), _( "Import routed Specctra session (*.ses) file" ),
575  BITMAPS::import );
576 
577 TOOL_ACTION PCB_ACTIONS::exportSpecctraDSN( "pcbnew.EditorControl.exportSpecctraDSN",
578  AS_GLOBAL, 0, "",
579  _( "Export Specctra DSN..." ), _( "Export Specctra DSN routing info" ),
581 
582 TOOL_ACTION PCB_ACTIONS::generateGerbers( "pcbnew.EditorControl.generateGerbers",
583  AS_GLOBAL, 0, "",
584  _( "Gerbers (.gbr)..." ), _( "Generate Gerbers for fabrication" ),
586 
587 TOOL_ACTION PCB_ACTIONS::generateDrillFiles( "pcbnew.EditorControl.generateDrillFiles",
588  AS_GLOBAL, 0, "",
589  _( "Drill Files (.drl)..." ), _( "Generate Excellon drill file(s)" ),
591 
592 TOOL_ACTION PCB_ACTIONS::generatePosFile( "pcbnew.EditorControl.generatePosFile",
593  AS_GLOBAL, 0, "",
594  _( "Component Placement (.pos)..." ),
595  _( "Generate component placement file(s) for pick and place" ),
597 
598 TOOL_ACTION PCB_ACTIONS::generateReportFile( "pcbnew.EditorControl.generateReportFile",
599  AS_GLOBAL, 0, "",
600  _( "Footprint Report (.rpt)..." ),
601  _( "Create report of all footprints from current board" ),
603 
604 TOOL_ACTION PCB_ACTIONS::generateD356File( "pcbnew.EditorControl.generateD356File",
605  AS_GLOBAL, 0, "",
606  _( "IPC-D-356 Netlist File..." ), _( "Generate IPC-D-356 netlist file" ),
608 
609 TOOL_ACTION PCB_ACTIONS::generateBOM( "pcbnew.EditorControl.generateBOM",
610  AS_GLOBAL, 0, "",
611  _( "BOM..." ), _( "Create bill of materials from board" ),
613 
614 // Track & via size control
615 TOOL_ACTION PCB_ACTIONS::trackWidthInc( "pcbnew.EditorControl.trackWidthInc",
616  AS_GLOBAL,
617  'W', LEGACY_HK_NAME( "Switch Track Width To Next" ),
618  _( "Switch Track Width to Next" ), _( "Change track width to next pre-defined size" ) );
619 
620 TOOL_ACTION PCB_ACTIONS::trackWidthDec( "pcbnew.EditorControl.trackWidthDec",
621  AS_GLOBAL,
622  MD_SHIFT + 'W', LEGACY_HK_NAME( "Switch Track Width To Previous" ),
623  _( "Switch Track Width to Previous" ), _( "Change track width to previous pre-defined size" ) );
624 
625 TOOL_ACTION PCB_ACTIONS::viaSizeInc( "pcbnew.EditorControl.viaSizeInc",
626  AS_GLOBAL,
627  '\'', LEGACY_HK_NAME( "Increase Via Size" ),
628  _( "Increase Via Size" ), _( "Change via size to next pre-defined size" ) );
629 
630 TOOL_ACTION PCB_ACTIONS::viaSizeDec( "pcbnew.EditorControl.viaSizeDec",
631  AS_GLOBAL,
632  '\\', LEGACY_HK_NAME( "Decrease Via Size" ),
633  _( "Decrease Via Size" ), _( "Change via size to previous pre-defined size" ) );
634 
635 TOOL_ACTION PCB_ACTIONS::trackViaSizeChanged( "pcbnew.EditorControl.trackViaSizeChanged",
636  AS_GLOBAL, 0, "",
637  "", "",
639 
640 TOOL_ACTION PCB_ACTIONS::zoneMerge( "pcbnew.EditorControl.zoneMerge",
641  AS_GLOBAL, 0, "",
642  _( "Merge Zones" ), _( "Merge zones" ) );
643 
644 TOOL_ACTION PCB_ACTIONS::zoneDuplicate( "pcbnew.EditorControl.zoneDuplicate",
645  AS_GLOBAL, 0, "",
646  _( "Duplicate Zone onto Layer..." ), _( "Duplicate zone outline onto a different layer" ),
648 
649 TOOL_ACTION PCB_ACTIONS::placeTarget( "pcbnew.EditorControl.placeTarget",
650  AS_GLOBAL, 0, "",
651  _( "Add Layer Alignment Target" ), _( "Add a layer alignment target" ),
653 
654 TOOL_ACTION PCB_ACTIONS::placeFootprint( "pcbnew.EditorControl.placeFootprint",
655  AS_GLOBAL,
656  'O', LEGACY_HK_NAME( "Add Footprint" ),
657  _( "Add Footprint" ), _( "Add a footprint" ),
659 
660 TOOL_ACTION PCB_ACTIONS::drillOrigin( "pcbnew.EditorControl.drillOrigin",
661  AS_GLOBAL, 0, "",
662  _( "Drill/Place File Origin" ),
663  _( "Place origin point for drill files and component placement files" ),
665 
666 TOOL_ACTION PCB_ACTIONS::toggleLock( "pcbnew.EditorControl.toggleLock",
667  AS_GLOBAL,
668  'L', LEGACY_HK_NAME( "Lock/Unlock Footprint" ),
669  _( "Toggle Lock" ), _( "Lock or unlock selected items" ),
671 
672 TOOL_ACTION PCB_ACTIONS::toggle45( "pcbnew.EditorControl.toggle45",
673  AS_GLOBAL,
674  MD_SHIFT + ' ', "",
675  _( "Constrain to H, V, 45" ),
676  _( "Limit actions to horizontal, vertical, or 45 degrees from the starting point" ),
678 
679 TOOL_ACTION PCB_ACTIONS::lock( "pcbnew.EditorControl.lock",
680  AS_GLOBAL, 0, "",
681  _( "Lock" ), _( "Prevent items from being moved and/or resized on the canvas" ),
682  BITMAPS::locked );
683 
684 TOOL_ACTION PCB_ACTIONS::unlock( "pcbnew.EditorControl.unlock",
685  AS_GLOBAL, 0, "",
686  _( "Unlock" ), _( "Allow items to be moved and/or resized on the canvas" ),
688 
689 TOOL_ACTION PCB_ACTIONS::group( "pcbnew.EditorControl.group",
690  AS_GLOBAL, 0, "",
691  _( "Group" ), _( "Group the selected items so that they are treated as a single item" ),
692  BITMAPS::group );
693 
694 TOOL_ACTION PCB_ACTIONS::ungroup( "pcbnew.EditorControl.ungroup",
695  AS_GLOBAL, 0, "",
696  _( "Ungroup" ), _( "Ungroup any selected groups" ),
698 
699 TOOL_ACTION PCB_ACTIONS::removeFromGroup( "pcbnew.EditorControl.removeFromGroup",
700  AS_GLOBAL, 0, "",
701  _( "Remove Items" ), _( "Remove items from group" ),
703 
704 TOOL_ACTION PCB_ACTIONS::groupEnter( "pcbnew.EditorControl.groupEnter",
705  AS_GLOBAL, 0, "",
706  _( "Enter Group" ), _( "Enter the group to edit items" ),
708 
709 TOOL_ACTION PCB_ACTIONS::groupLeave( "pcbnew.EditorControl.groupLeave",
710  AS_GLOBAL, 0, "",
711  _( "Leave Group" ), _( "Leave the current group" ),
713 
714 TOOL_ACTION PCB_ACTIONS::appendBoard( "pcbnew.EditorControl.appendBoard",
715  AS_GLOBAL, 0, "",
716  _( "Append Board..." ), _( "Open another board and append its contents to this board" ),
718 
719 TOOL_ACTION PCB_ACTIONS::highlightNet( "pcbnew.EditorControl.highlightNet",
720  AS_GLOBAL, 0, "",
721  _( "Highlight Net" ), _( "Highlight the selected net" ),
723 
724 TOOL_ACTION PCB_ACTIONS::toggleLastNetHighlight( "pcbnew.EditorControl.toggleLastNetHighlight",
725  AS_GLOBAL, 0, "",
726  _( "Toggle Last Net Highlight" ), _( "Toggle between last two highlighted nets" ) );
727 
728 TOOL_ACTION PCB_ACTIONS::clearHighlight( "pcbnew.EditorControl.clearHighlight",
729  AS_GLOBAL,
730  '~', "",
731  _( "Clear Net Highlighting" ), _( "Clear any existing net highlighting" ) );
732 
733 TOOL_ACTION PCB_ACTIONS::toggleNetHighlight( "pcbnew.EditorControl.toggleNetHighlight",
734  AS_GLOBAL,
735  MD_CTRL + '`', "",
736  _( "Toggle Net Highlight" ), _( "Toggle net highlighting" ),
738 
739 TOOL_ACTION PCB_ACTIONS::highlightNetSelection( "pcbnew.EditorControl.highlightNetSelection",
740  AS_GLOBAL,
741  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
742  '`', LEGACY_HK_NAME( "Toggle Highlight of Selected Net (Modern Toolset only)" ),
743  _( "Highlight Net" ), _( "Highlight all copper items on the selected net(s)" ),
745 
746 TOOL_ACTION PCB_ACTIONS::highlightItem( "pcbnew.EditorControl.highlightItem",
747  AS_GLOBAL );
748 
749 TOOL_ACTION PCB_ACTIONS::hideNet( "pcbnew.EditorControl.hideNet",
750  AS_GLOBAL, 0, "",
751  _( "Hide Net" ), _( "Hide the ratsnest for the selected net" ),
753 
754 TOOL_ACTION PCB_ACTIONS::showNet( "pcbnew.EditorControl.showNet",
755  AS_GLOBAL, 0, "",
756  _( "Show Net" ), _( "Show the ratsnest for the selected net" ),
758 
759 TOOL_ACTION PCB_ACTIONS::showEeschema( "pcbnew.EditorControl.showEeschema",
760  AS_GLOBAL, 0, "",
761  _( "Switch to Schematic Editor" ), _( "Open schematic in Eeschema" ),
763 
764 
765 // PCB_CONTROL
766 //
767 
768 TOOL_ACTION PCB_ACTIONS::localRatsnestTool( "pcbnew.Control.localRatsnestTool",
769  AS_GLOBAL, 0, "",
770  _( "Local Ratsnest" ), _( "Toggle ratsnest display of selected item(s)" ),
772 
773 TOOL_ACTION PCB_ACTIONS::hideDynamicRatsnest( "pcbnew.Control.hideDynamicRatsnest",
774  AS_GLOBAL );
775 
776 TOOL_ACTION PCB_ACTIONS::updateLocalRatsnest( "pcbnew.Control.updateLocalRatsnest",
777  AS_GLOBAL );
778 
779 TOOL_ACTION PCB_ACTIONS::listNets( "pcbnew.Control.listNets",
780  AS_GLOBAL, 0, "",
781  _( "Net Inspector" ), _( "Show the net inspector" ),
783 
784 TOOL_ACTION PCB_ACTIONS::showPythonConsole( "pcbnew.Control.showPythonConsole",
785  AS_GLOBAL, 0, "",
786  _( "Scripting Console" ), _( "Show the Python scripting console" ),
788 
789 TOOL_ACTION PCB_ACTIONS::showLayersManager( "pcbnew.Control.showLayersManager",
790  AS_GLOBAL, 0, "",
791  _( "Show Appearance Manager" ), _( "Show/hide the appearance manager" ),
793 
794 TOOL_ACTION PCB_ACTIONS::flipBoard( "pcbnew.Control.flipBoard",
795  AS_GLOBAL, 0, "",
796  _( "Flip Board View" ), _( "View board from the opposite side" ),
798 
799 // Display modes
800 TOOL_ACTION PCB_ACTIONS::showRatsnest( "pcbnew.Control.showRatsnest",
801  AS_GLOBAL, 0, "",
802  _( "Show Ratsnest" ), _( "Show board ratsnest" ),
804 
805 TOOL_ACTION PCB_ACTIONS::ratsnestLineMode( "pcbnew.Control.ratsnestLineMode",
806  AS_GLOBAL, 0, "",
807  _( "Curved Ratsnest Lines" ), _( "Show ratsnest with curved lines" ),
809 
810 TOOL_ACTION PCB_ACTIONS::ratsnestModeCycle( "pcbnew.Control.ratsnestModeCycle",
811  AS_GLOBAL, 0, "",
812  _( "Ratsnest Mode (3-state)" ),
813  _( "Cycle between showing ratsnests for all layers, just visible layers, and none" ) );
814 
815 TOOL_ACTION PCB_ACTIONS::netColorModeCycle( "pcbnew.Control.netColorMode",
816  AS_GLOBAL, 0, "",
817  _( "Net Color Mode (3-state)" ),
818  _( "Cycle between using net and netclass colors for all nets, just ratsnests, and none" ) );
819 
820 TOOL_ACTION PCB_ACTIONS::trackDisplayMode( "pcbnew.Control.trackDisplayMode",
821  AS_GLOBAL,
822  'K', LEGACY_HK_NAME( "Track Display Mode" ),
823  _( "Sketch Tracks" ), _( "Show tracks in outline mode" ),
825 
826 TOOL_ACTION PCB_ACTIONS::padDisplayMode( "pcbnew.Control.padDisplayMode",
827  AS_GLOBAL, 0, "",
828  _( "Sketch Pads" ), _( "Show pads in outline mode" ),
830 
831 TOOL_ACTION PCB_ACTIONS::viaDisplayMode( "pcbnew.Control.viaDisplayMode",
832  AS_GLOBAL, 0, "",
833  _( "Sketch Vias" ), _( "Show vias in outline mode" ),
835 
836 TOOL_ACTION PCB_ACTIONS::graphicsOutlines( "pcbnew.Control.graphicOutlines",
837  AS_GLOBAL, 0, "",
838  _( "Sketch Graphic Items" ), _( "Show graphic items in outline mode" ),
840 
841 TOOL_ACTION PCB_ACTIONS::textOutlines( "pcbnew.Control.textOutlines",
842  AS_GLOBAL, 0, "",
843  _( "Sketch Text Items" ), _( "Show footprint texts in line mode" ),
845 
846 TOOL_ACTION PCB_ACTIONS::showPadNumbers( "pcbnew.Control.showPadNumbers",
847  AS_GLOBAL, 0, "",
848  _( "Show pad numbers" ), _( "Show pad numbers" ),
850 
851 TOOL_ACTION PCB_ACTIONS::zoneDisplayFilled( "pcbnew.Control.zoneDisplayEnable",
852  AS_GLOBAL, 0, "",
853  _( "Draw Zone Fills" ), _( "Show filled areas of zones" ),
855 
856 TOOL_ACTION PCB_ACTIONS::zoneDisplayOutline( "pcbnew.Control.zoneDisplayDisable",
857  AS_GLOBAL, 0, "",
858  _( "Draw Zone Outlines" ), _( "Show only zone boundaries" ),
860 
861 TOOL_ACTION PCB_ACTIONS::zoneDisplayFractured( "pcbnew.Control.zoneDisplayOutlines",
862  AS_GLOBAL, 0, "",
863  _( "Draw Zone Fill Fracture Borders" ), "",
865 
866 TOOL_ACTION PCB_ACTIONS::zoneDisplayTriangulated( "pcbnew.Control.zoneDisplayTesselation",
867  AS_GLOBAL, 0, "",
868  _( "Draw Zone Fill Triangulation" ), "",
870 
871 TOOL_ACTION PCB_ACTIONS::zoneDisplayToggle( "pcbnew.Control.zoneDisplayToggle",
872  AS_GLOBAL,
873  'A', "",
874  _( "Toggle Zone Display" ),
875  _( "Cycle between showing zone fills and just their outlines" ),
877 
878 
879 // Layer control
880 TOOL_ACTION PCB_ACTIONS::layerTop( "pcbnew.Control.layerTop",
881  AS_GLOBAL,
882  WXK_PAGEUP, LEGACY_HK_NAME( "Switch to Component (F.Cu) layer" ),
883  _( "Switch to Component (F.Cu) layer" ), "",
885 
886 TOOL_ACTION PCB_ACTIONS::layerInner1( "pcbnew.Control.layerInner1",
887  AS_GLOBAL,
888  0, LEGACY_HK_NAME( "Switch to Inner layer 1" ),
889  _( "Switch to Inner layer 1" ), "",
891 
892 TOOL_ACTION PCB_ACTIONS::layerInner2( "pcbnew.Control.layerInner2",
893  AS_GLOBAL,
894  0, LEGACY_HK_NAME( "Switch to Inner layer 2" ),
895  _( "Switch to Inner layer 2" ), "",
897 
898 TOOL_ACTION PCB_ACTIONS::layerInner3( "pcbnew.Control.layerInner3",
899  AS_GLOBAL,
900  0, LEGACY_HK_NAME( "Switch to Inner layer 3" ),
901  _( "Switch to Inner layer 3" ), "",
903 
904 TOOL_ACTION PCB_ACTIONS::layerInner4( "pcbnew.Control.layerInner4",
905  AS_GLOBAL,
906  0, LEGACY_HK_NAME( "Switch to Inner layer 4" ),
907  _( "Switch to Inner layer 4" ), "",
909 
910 TOOL_ACTION PCB_ACTIONS::layerInner5( "pcbnew.Control.layerInner5",
911  AS_GLOBAL,
912  0, LEGACY_HK_NAME( "Switch to Inner layer 5" ),
913  _( "Switch to Inner layer 5" ), "",
915 
916 TOOL_ACTION PCB_ACTIONS::layerInner6( "pcbnew.Control.layerInner6",
917  AS_GLOBAL,
918  0, LEGACY_HK_NAME( "Switch to Inner layer 6" ),
919  _( "Switch to Inner layer 6" ), "",
921 
922 TOOL_ACTION PCB_ACTIONS::layerInner7( "pcbnew.Control.layerInner7",
923  AS_GLOBAL, 0, "",
924  _( "Switch to Inner layer 7" ), "",
926 
927 TOOL_ACTION PCB_ACTIONS::layerInner8( "pcbnew.Control.layerInner8",
928  AS_GLOBAL, 0, "",
929  _( "Switch to Inner layer 8" ), "",
931 
932 TOOL_ACTION PCB_ACTIONS::layerInner9( "pcbnew.Control.layerInner9",
933  AS_GLOBAL, 0, "",
934  _( "Switch to Inner layer 9" ), "",
936 
937 TOOL_ACTION PCB_ACTIONS::layerInner10( "pcbnew.Control.layerInner10",
938  AS_GLOBAL, 0, "",
939  _( "Switch to Inner layer 10" ), "",
941 
942 TOOL_ACTION PCB_ACTIONS::layerInner11( "pcbnew.Control.layerInner11",
943  AS_GLOBAL, 0, "",
944  _( "Switch to Inner layer 11" ), "",
946 
947 TOOL_ACTION PCB_ACTIONS::layerInner12( "pcbnew.Control.layerInner12",
948  AS_GLOBAL, 0, "",
949  _( "Switch to Inner layer 12" ), "",
951 
952 TOOL_ACTION PCB_ACTIONS::layerInner13( "pcbnew.Control.layerInner13",
953  AS_GLOBAL, 0, "",
954  _( "Switch to Inner layer 13" ), "",
956 
957 TOOL_ACTION PCB_ACTIONS::layerInner14( "pcbnew.Control.layerInner14",
958  AS_GLOBAL, 0, "",
959  _( "Switch to Inner layer 14" ), "",
961 
962 TOOL_ACTION PCB_ACTIONS::layerInner15( "pcbnew.Control.layerInner15",
963  AS_GLOBAL, 0, "",
964  _( "Switch to Inner layer 15" ), "",
966 
967 TOOL_ACTION PCB_ACTIONS::layerInner16( "pcbnew.Control.layerInner16",
968  AS_GLOBAL, 0, "",
969  _( "Switch to Inner layer 16" ), "",
971 
972 TOOL_ACTION PCB_ACTIONS::layerInner17( "pcbnew.Control.layerInner17",
973  AS_GLOBAL, 0, "",
974  _( "Switch to Inner layer 17" ), "",
976 
977 TOOL_ACTION PCB_ACTIONS::layerInner18( "pcbnew.Control.layerInner18",
978  AS_GLOBAL, 0, "",
979  _( "Switch to Inner layer 18" ), "",
981 
982 TOOL_ACTION PCB_ACTIONS::layerInner19( "pcbnew.Control.layerInner19",
983  AS_GLOBAL, 0, "",
984  _( "Switch to Inner layer 19" ), "",
986 
987 TOOL_ACTION PCB_ACTIONS::layerInner20( "pcbnew.Control.layerInner20",
988  AS_GLOBAL, 0, "",
989  _( "Switch to Inner layer 20" ), "",
991 
992 TOOL_ACTION PCB_ACTIONS::layerInner21( "pcbnew.Control.layerInner21",
993  AS_GLOBAL, 0, "",
994  _( "Switch to Inner layer 21" ), "",
996 
997 TOOL_ACTION PCB_ACTIONS::layerInner22( "pcbnew.Control.layerInner22",
998  AS_GLOBAL, 0, "",
999  _( "Switch to Inner layer 22" ), "",
1001 
1002 TOOL_ACTION PCB_ACTIONS::layerInner23( "pcbnew.Control.layerInner23",
1003  AS_GLOBAL, 0, "",
1004  _( "Switch to Inner layer 23" ), "",
1006 
1007 TOOL_ACTION PCB_ACTIONS::layerInner24( "pcbnew.Control.layerInner24",
1008  AS_GLOBAL, 0, "",
1009  _( "Switch to Inner layer 24" ), "",
1011 
1012 TOOL_ACTION PCB_ACTIONS::layerInner25( "pcbnew.Control.layerInner25",
1013  AS_GLOBAL, 0, "",
1014  _( "Switch to Inner layer 25" ), "",
1016 
1017 TOOL_ACTION PCB_ACTIONS::layerInner26( "pcbnew.Control.layerInner26",
1018  AS_GLOBAL, 0, "",
1019  _( "Switch to Inner layer 26" ), "",
1021 
1022 TOOL_ACTION PCB_ACTIONS::layerInner27( "pcbnew.Control.layerInner27",
1023  AS_GLOBAL, 0, "",
1024  _( "Switch to Inner layer 27" ), "",
1026 
1027 TOOL_ACTION PCB_ACTIONS::layerInner28( "pcbnew.Control.layerInner28",
1028  AS_GLOBAL, 0, "",
1029  _( "Switch to Inner layer 28" ), "",
1031 
1032 TOOL_ACTION PCB_ACTIONS::layerInner29( "pcbnew.Control.layerInner29",
1033  AS_GLOBAL, 0, "",
1034  _( "Switch to Inner layer 29" ), "",
1036 
1037 TOOL_ACTION PCB_ACTIONS::layerInner30( "pcbnew.Control.layerInner30",
1038  AS_GLOBAL, 0, "",
1039  _( "Switch to Inner layer 30" ), "",
1041 
1042 TOOL_ACTION PCB_ACTIONS::layerBottom( "pcbnew.Control.layerBottom",
1043  AS_GLOBAL,
1044  WXK_PAGEDOWN, LEGACY_HK_NAME( "Switch to Copper (B.Cu) layer" ),
1045  _( "Switch to Copper (B.Cu) layer" ), "",
1047 
1048 TOOL_ACTION PCB_ACTIONS::layerNext( "pcbnew.Control.layerNext",
1049  AS_GLOBAL,
1050  '+', LEGACY_HK_NAME( "Switch to Next Layer" ),
1051  _( "Switch to Next Layer" ), "",
1053 
1054 TOOL_ACTION PCB_ACTIONS::layerPrev( "pcbnew.Control.layerPrev",
1055  AS_GLOBAL,
1056  '-', LEGACY_HK_NAME( "Switch to Previous Layer" ),
1057  _( "Switch to Previous Layer" ), "",
1059 
1060 TOOL_ACTION PCB_ACTIONS::layerToggle( "pcbnew.Control.layerToggle",
1061  AS_GLOBAL,
1062  'V', LEGACY_HK_NAME( "Add Through Via" ),
1063  _( "Toggle Layer" ), _( "Switch between layers in active layer pair" ),
1065 
1066 TOOL_ACTION PCB_ACTIONS::layerAlphaInc( "pcbnew.Control.layerAlphaInc",
1067  AS_GLOBAL,
1068  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1069  '}', LEGACY_HK_NAME( "Increment Layer Transparency (Modern Toolset only)" ),
1070  _( "Increase Layer Opacity" ), _( "Make the current layer less transparent" ),
1072 
1073 TOOL_ACTION PCB_ACTIONS::layerAlphaDec( "pcbnew.Control.layerAlphaDec",
1074  AS_GLOBAL,
1075  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1076  '{', LEGACY_HK_NAME( "Decrement Layer Transparency (Modern Toolset only)" ),
1077  _( "Decrease Layer Opacity" ), _( "Make the current layer more transparent" ),
1079 
1080 TOOL_ACTION PCB_ACTIONS::layerChanged( "pcbnew.Control.layerChanged",
1081  AS_GLOBAL, 0, "",
1082  "", "",
1084 
1085 //Show board statistics tool
1086 TOOL_ACTION PCB_ACTIONS::boardStatistics( "pcbnew.InspectionTool.ShowStatisticsDialog",
1087  AS_GLOBAL, 0, "",
1088  _( "Show Board Statistics" ), _( "Shows board statistics" ) );
1089 
1090 TOOL_ACTION PCB_ACTIONS::inspectClearance( "pcbnew.InspectionTool.InspectClearance",
1091  AS_GLOBAL, 0, "",
1092  _( "Clearance Resolution..." ),
1093  _( "Show clearance resolution for the active layer between two selected objects" ),
1095 
1096 TOOL_ACTION PCB_ACTIONS::inspectConstraints( "pcbnew.InspectionTool.InspectConstraints",
1097  AS_GLOBAL, 0, "",
1098  _( "Constraints Resolution..." ),
1099  _( "Show constraints resolution for the selected object" ),
1101 
1102 //Geographic re-annotation tool
1103 TOOL_ACTION PCB_ACTIONS::boardReannotate( "pcbnew.ReannotateTool.ShowReannotateDialog",
1104  AS_GLOBAL, 0, "",
1105  _( "Geographical Reannotate..." ), _( "Reannotate PCB in geographical order" ),
1107 
1108 TOOL_ACTION PCB_ACTIONS::repairBoard( "pcbnew.Control.repairBoard",
1109  AS_GLOBAL, 0, "",
1110  _( "Repair Board" ),
1111  _( "Run various diagnostics and attempt to repair board" ),
1112  BITMAPS::rescue );
1113 
1114 TOOL_ACTION PCB_ACTIONS::repairFootprint( "pcbnew.ModuleEditor.repairFootprint",
1115  AS_GLOBAL, 0, "",
1116  _( "Repair Footprint" ),
1117  _( "Run various diagnostics and attempt to repair footprint" ) );
1118 
1119 
1120 // PLACEMENT_TOOL
1121 //
1122 TOOL_ACTION PCB_ACTIONS::alignTop( "pcbnew.AlignAndDistribute.alignTop",
1123  AS_GLOBAL, 0, "",
1124  _( "Align to Top" ), _( "Aligns selected items to the top edge" ),
1126 
1127 TOOL_ACTION PCB_ACTIONS::alignBottom( "pcbnew.AlignAndDistribute.alignBottom",
1128  AS_GLOBAL, 0, "",
1129  _( "Align to Bottom" ), _( "Aligns selected items to the bottom edge" ),
1131 
1132 TOOL_ACTION PCB_ACTIONS::alignLeft( "pcbnew.AlignAndDistribute.alignLeft",
1133  AS_GLOBAL, 0, "",
1134  _( "Align to Left" ), _( "Aligns selected items to the left edge" ),
1136 
1137 TOOL_ACTION PCB_ACTIONS::alignRight( "pcbnew.AlignAndDistribute.alignRight",
1138  AS_GLOBAL, 0, "",
1139  _( "Align to Right" ), _( "Aligns selected items to the right edge" ),
1141 
1142 TOOL_ACTION PCB_ACTIONS::alignCenterY( "pcbnew.AlignAndDistribute.alignCenterY",
1143  AS_GLOBAL, 0, "",
1144  _( "Align to Vertical Center" ), _( "Aligns selected items to the vertical center" ),
1146 
1147 TOOL_ACTION PCB_ACTIONS::alignCenterX( "pcbnew.AlignAndDistribute.alignCenterX",
1148  AS_GLOBAL, 0, "",
1149  _( "Align to Horizontal Center" ), _( "Aligns selected items to the horizontal center" ),
1151 
1152 TOOL_ACTION PCB_ACTIONS::distributeHorizontally( "pcbnew.AlignAndDistribute.distributeHorizontally",
1153  AS_GLOBAL, 0, "",
1154  _( "Distribute Horizontally" ), _( "Distributes selected items along the horizontal axis" ),
1156 
1157 TOOL_ACTION PCB_ACTIONS::distributeVertically( "pcbnew.AlignAndDistribute.distributeVertically",
1158  AS_GLOBAL, 0, "",
1159  _( "Distribute Vertically" ), _( "Distributes selected items along the vertical axis" ),
1161 
1162 
1163 // PCB_POINT_EDITOR
1164 //
1165 TOOL_ACTION PCB_ACTIONS::pointEditorAddCorner( "pcbnew.PointEditor.addCorner",
1166  AS_GLOBAL,
1167 #ifdef __WXMAC__
1168  'I', "",
1169 #else
1170  WXK_INSERT, "",
1171 #endif
1172  _( "Create Corner" ), _( "Create a corner" ),
1174 
1175 TOOL_ACTION PCB_ACTIONS::pointEditorRemoveCorner( "pcbnew.PointEditor.removeCorner",
1176  AS_GLOBAL, 0, "",
1177  _( "Remove Corner" ), _( "Remove corner" ),
1179 
1180 
1181 // GROUP_TOOL
1182 //
1183 TOOL_ACTION PCB_ACTIONS::groupProperties( "pcbnew.Groups.groupProperties",
1184  AS_GLOBAL );
1185 
1186 TOOL_ACTION PCB_ACTIONS::pickNewGroupMember( "pcbnew.Groups.selectNewGroupMember",
1187  AS_GLOBAL );
1188 
1189 
1190 
1191 // POSITION_RELATIVE_TOOL
1192 //
1193 TOOL_ACTION PCB_ACTIONS::positionRelative( "pcbnew.PositionRelative.positionRelative",
1194  AS_GLOBAL,
1195  MD_SHIFT + 'P', LEGACY_HK_NAME( "Position Item Relative" ),
1196  _( "Position Relative To..." ),
1197  _( "Positions the selected item(s) by an exact amount relative to another" ),
1199 
1200 TOOL_ACTION PCB_ACTIONS::selectpositionRelativeItem( "pcbnew.PositionRelative.selectpositionRelativeItem",
1201  AS_GLOBAL );
1202 
1203 
1204 // PCB_SELECTION_TOOL
1205 //
1206 TOOL_ACTION PCB_ACTIONS::selectionActivate( "pcbnew.InteractiveSelection",
1207  AS_GLOBAL, 0, "", "", "", // No description, not shown anywhere
1209 
1210 TOOL_ACTION PCB_ACTIONS::selectionCursor( "pcbnew.InteractiveSelection.Cursor",
1211  AS_GLOBAL );
1212 
1213 TOOL_ACTION PCB_ACTIONS::selectItem( "pcbnew.InteractiveSelection.SelectItem",
1214  AS_GLOBAL );
1215 
1216 TOOL_ACTION PCB_ACTIONS::selectItems( "pcbnew.InteractiveSelection.SelectItems",
1217  AS_GLOBAL );
1218 
1219 TOOL_ACTION PCB_ACTIONS::unselectItem( "pcbnew.InteractiveSelection.UnselectItem",
1220  AS_GLOBAL );
1221 
1222 TOOL_ACTION PCB_ACTIONS::unselectItems( "pcbnew.InteractiveSelection.UnselectItems",
1223  AS_GLOBAL );
1224 
1225 TOOL_ACTION PCB_ACTIONS::selectionClear( "pcbnew.InteractiveSelection.Clear",
1226  AS_GLOBAL );
1227 
1228 TOOL_ACTION PCB_ACTIONS::selectionMenu( "pcbnew.InteractiveSelection.SelectionMenu",
1229  AS_GLOBAL );
1230 
1231 TOOL_ACTION PCB_ACTIONS::selectConnection( "pcbnew.InteractiveSelection.SelectConnection",
1232  AS_GLOBAL,
1233  'U', LEGACY_HK_NAME( "Select Single Track" ),
1234  _( "Select/Expand Connection" ),
1235  _( "Selects a connection or expands an existing selection to junctions, pads, or entire connections" ),
1237 
1238 TOOL_ACTION PCB_ACTIONS::selectNet( "pcbnew.InteractiveSelection.SelectNet",
1239  AS_GLOBAL, 0, "",
1240  _( "Select All Tracks in Net" ),
1241  _( "Selects all tracks & vias belonging to the same net." ) );
1242 
1243 TOOL_ACTION PCB_ACTIONS::deselectNet( "pcbnew.InteractiveSelection.DeselectNet",
1244  AS_GLOBAL, 0, "",
1245  _( "Deselect All Tracks in Net" ),
1246  _( "Deselects all tracks & vias belonging to the same net." ) );
1247 
1248 TOOL_ACTION PCB_ACTIONS::selectOnSheetFromEeschema( "pcbnew.InteractiveSelection.SelectOnSheet",
1249  AS_GLOBAL, 0, "",
1250  _( "Sheet" ),
1251  _( "Selects all footprints and tracks in the schematic sheet" ),
1253 
1254 TOOL_ACTION PCB_ACTIONS::selectSameSheet( "pcbnew.InteractiveSelection.SelectSameSheet",
1255  AS_GLOBAL, 0, "",
1256  _( "Items in Same Hierarchical Sheet" ),
1257  _( "Selects all footprints and tracks in the same schematic sheet" ),
1259 
1260 TOOL_ACTION PCB_ACTIONS::filterSelection( "pcbnew.InteractiveSelection.FilterSelection",
1261  AS_GLOBAL, 0, "",
1262  _( "Filter Selected Items..." ), _( "Remove items from the selection by type" ),
1263  BITMAPS::filter );
1264 
1265 
1266 // ZONE_FILLER_TOOL
1267 //
1268 TOOL_ACTION PCB_ACTIONS::zoneFill( "pcbnew.ZoneFiller.zoneFill",
1269  AS_GLOBAL, 0, "",
1270  _( "Fill Zone" ), _( "Update copper fill of selected zone(s)" ),
1272 
1273 TOOL_ACTION PCB_ACTIONS::zoneFillAll( "pcbnew.ZoneFiller.zoneFillAll",
1274  AS_GLOBAL,
1275  'B', LEGACY_HK_NAME( "Fill or Refill All Zones" ),
1276  _( "Fill All Zones" ), _( "Update copper fill of all zones" ),
1278 
1279 TOOL_ACTION PCB_ACTIONS::zoneUnfill( "pcbnew.ZoneFiller.zoneUnfill",
1280  AS_GLOBAL, 0, "",
1281  _( "Unfill Zone" ), _( "Remove copper fill from selected zone(s)" ),
1283 
1284 TOOL_ACTION PCB_ACTIONS::zoneUnfillAll( "pcbnew.ZoneFiller.zoneUnfillAll",
1285  AS_GLOBAL,
1286  MD_CTRL + 'B', LEGACY_HK_NAME( "Remove Filled Areas in All Zones" ),
1287  _( "Unfill All Zones" ), _( "Remove copper fill from all zones" ),
1289 
1290 
1291 // AUTOPLACER_TOOL
1292 //
1293 TOOL_ACTION PCB_ACTIONS::autoplaceSelectedComponents( "pcbnew.Autoplacer.autoplaceSelected",
1294  AS_GLOBAL, 0, "",
1295  _( "Place Selected Footprints" ),
1296  _( "Performs automatic placement of selected components" ) );
1297 
1298 TOOL_ACTION PCB_ACTIONS::autoplaceOffboardComponents( "pcbnew.Autoplacer.autoplaceOffboard",
1299  AS_GLOBAL, 0, "",
1300  _( "Place Off-Board Footprints" ),
1301  _( "Performs automatic placement of components outside board area" ) );
1302 
1303 
1304 // ROUTER_TOOL
1305 //
1306 TOOL_ACTION PCB_ACTIONS::routeSingleTrack( "pcbnew.InteractiveRouter.SingleTrack",
1307  AS_GLOBAL,
1308  'X', LEGACY_HK_NAME( "Add New Track" ),
1309  _( "Route Single Track" ), _( "Route tracks" ),
1311 
1312 TOOL_ACTION PCB_ACTIONS::routeDiffPair( "pcbnew.InteractiveRouter.DiffPair",
1313  AS_GLOBAL,
1314  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1315  '6', LEGACY_HK_NAME( "Route Differential Pair (Modern Toolset only)" ),
1316  _( "Route Differential Pair" ), _( "Route differential pairs" ),
1318 
1319 TOOL_ACTION PCB_ACTIONS::routerSettingsDialog( "pcbnew.InteractiveRouter.SettingsDialog",
1320  AS_GLOBAL,
1321  MD_CTRL + MD_SHIFT + ',', LEGACY_HK_NAME( "Routing Options" ),
1322  _( "Interactive Router Settings..." ), _( "Open Interactive Router settings" ),
1323  BITMAPS::tools );
1324 
1325 TOOL_ACTION PCB_ACTIONS::routerDiffPairDialog( "pcbnew.InteractiveRouter.DiffPairDialog",
1326  AS_GLOBAL, 0, "",
1327  _( "Differential Pair Dimensions..." ), _( "Open Differential Pair Dimension settings" ),
1329 
1330 TOOL_ACTION PCB_ACTIONS::routerHighlightMode( "pcbnew.InteractiveRouter.HighlightMode",
1331  AS_GLOBAL, 0, "",
1332  _( "Router Highlight Mode" ), _( "Switch router to highlight mode" ),
1334 
1335 TOOL_ACTION PCB_ACTIONS::routerShoveMode( "pcbnew.InteractiveRouter.ShoveMode",
1336  AS_GLOBAL, 0, "",
1337  _( "Router Shove Mode" ), _( "Switch router to shove mode" ),
1339 
1340 TOOL_ACTION PCB_ACTIONS::routerWalkaroundMode( "pcbnew.InteractiveRouter.WalkaroundMode",
1341  AS_GLOBAL, 0, "",
1342  _( "Router Walkaround Mode" ), _( "Switch router to walkaround mode" ),
1344 
1345 TOOL_ACTION PCB_ACTIONS::cycleRouterMode( "pcbnew.InteractiveRouter.CycleRouterMode",
1346  AS_GLOBAL, 0, "",
1347  _( "Cycle Router Mode" ), _( "Cycle router to the next mode" ),
1349 
1350 TOOL_ACTION PCB_ACTIONS::selectLayerPair( "pcbnew.InteractiveRouter.SelectLayerPair",
1351  AS_GLOBAL, 0, "",
1352  _( "Set Layer Pair..." ), _( "Change active layer pair for routing" ),
1354 
1355 TOOL_ACTION PCB_ACTIONS::routerTuneSingleTrace( "pcbnew.LengthTuner.TuneSingleTrack",
1356  AS_GLOBAL,
1357  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1358  '7', LEGACY_HK_NAME( "Tune Single Track (Modern Toolset only)" ),
1359  _( "Tune length of a single track" ), _( "Tune length of a single track" ),
1361 
1362 TOOL_ACTION PCB_ACTIONS::routerTuneDiffPair( "pcbnew.LengthTuner.TuneDiffPair",
1363  AS_GLOBAL,
1364  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1365  '8', LEGACY_HK_NAME( "Tune Differential Pair Length (Modern Toolset only)" ),
1366  _( "Tune length of a differential pair" ), _( "Tune length of a differential pair" ),
1368 
1369 TOOL_ACTION PCB_ACTIONS::routerTuneDiffPairSkew( "pcbnew.LengthTuner.TuneDiffPairSkew",
1370  AS_GLOBAL,
1371  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1372  '9', LEGACY_HK_NAME( "Tune Differential Pair Skew (Modern Toolset only)" ),
1373  _( "Tune skew of a differential pair" ), _( "Tune skew of a differential pair" ),
1375 
1376 TOOL_ACTION PCB_ACTIONS::routerInlineDrag( "pcbnew.InteractiveRouter.InlineDrag",
1377  AS_CONTEXT );
1378 
1379 TOOL_ACTION PCB_ACTIONS::routerUndoLastSegment( "pcbnew.InteractiveRouter.UndoLastSegment",
1380  AS_CONTEXT,
1381  WXK_BACK, "",
1382  _( "Undo Last Segment" ), _( "Walks the current track back one segment." ) );
1383 
1384 TOOL_ACTION PCB_ACTIONS::breakTrack( "pcbnew.InteractiveRouter.BreakTrack",
1385  AS_GLOBAL, 0, "",
1386  _( "Break Track" ),
1387  _( "Splits the track segment into two segments connected at the cursor position." ),
1389 
1390 TOOL_ACTION PCB_ACTIONS::drag45Degree( "pcbnew.InteractiveRouter.Drag45Degree",
1391  AS_GLOBAL,
1392  'D', LEGACY_HK_NAME( "Drag Track Keep Slope" ),
1393  _( "Drag (45 degree mode)" ),
1394  _( "Drags the track segment while keeping connected tracks at 45 degrees." ),
1396 
1397 TOOL_ACTION PCB_ACTIONS::dragFreeAngle( "pcbnew.InteractiveRouter.DragFreeAngle",
1398  AS_GLOBAL,
1399  'G', LEGACY_HK_NAME( "Drag Item" ),
1400  _( "Drag (free angle)" ),
1401  _( "Drags the nearest joint in the track without restricting the track angle." ),
1402  BITMAPS::drag );
1403 
1404 
1405 // LENGTH_TUNER_TOOL
1406 //
1407 TOOL_ACTION PCB_ACTIONS::lengthTunerSettingsDialog( "pcbnew.LengthTuner.Settings",
1408  AS_CONTEXT,
1409  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1410  MD_CTRL + 'L', LEGACY_HK_NAME( "Length Tuning Settings (Modern Toolset only)" ),
1411  _( "Length Tuning Settings..." ),
1412  _( "Sets the length tuning parameters for currently routed item." ),
static TOOL_ACTION selectItems
Select a list of items (specified as the event parameter)
Definition: pcb_actions.h:66
static TOOL_ACTION alignRight
Definition: pcb_actions.h:222
static TOOL_ACTION selectionClear
Clear the current selection.
Definition: pcb_actions.h:59
static TOOL_ACTION selectionActivate
Activation of the selection tool.
Definition: pcb_actions.h:53
static TOOL_ACTION layerBottom
Definition: pcb_actions.h:282
static TOOL_ACTION toggleLock
Definition: pcb_actions.h:423
static TOOL_ACTION layerInner26
Definition: pcb_actions.h:277
static TOOL_ACTION drawLine
Definition: pcb_actions.h:139
static TOOL_ACTION drawCenterDimension
Definition: pcb_actions.h:146
static TOOL_ACTION hideFootprintTree
Definition: pcb_actions.h:353
static TOOL_ACTION placeImportedGraphics
Definition: pcb_actions.h:158
static TOOL_ACTION explodePad
Definition: pcb_actions.h:383
static TOOL_ACTION move
move or drag an item
Definition: pcb_actions.h:92
static TOOL_ACTION footprintProperties
Definition: pcb_actions.h:375
static TOOL_ACTION deleteFull
Definition: pcb_actions.h:127
static TOOL_ACTION unlock
Definition: pcb_actions.h:425
static TOOL_ACTION layerNext
Definition: pcb_actions.h:283
static TOOL_ACTION globalDeletions
Definition: pcb_actions.h:319
static TOOL_ACTION repairFootprint
Definition: pcb_actions.h:445
static TOOL_ACTION layerInner2
Definition: pcb_actions.h:253
static TOOL_ACTION selectLayerPair
Definition: pcb_actions.h:129
static TOOL_ACTION groupLeave
Definition: pcb_actions.h:432
static TOOL_ACTION generateGerbers
Definition: pcb_actions.h:334
static TOOL_ACTION convertToTracks
Definition: pcb_actions.h:479
Add a new zone with the same settings as an existing one.
static TOOL_ACTION editFpInFpEditor
Definition: pcb_actions.h:344
#define LEGACY_HK_NAME(x)
Definition: actions.h:32
static TOOL_ACTION incWidth
Increase width of currently drawn line.
Definition: pcb_actions.h:164
static TOOL_ACTION layerInner5
Definition: pcb_actions.h:256
static TOOL_ACTION changeTrackWidth
Update selected tracks & vias to the current track & via dimensions.
Definition: pcb_actions.h:111
static TOOL_ACTION convertToLines
Definition: pcb_actions.h:477
static TOOL_ACTION autoplaceOffboardComponents
Definition: pcb_actions.h:470
static TOOL_ACTION drawSimilarZone
Definition: pcb_actions.h:153
static TOOL_ACTION drillOrigin
Definition: pcb_actions.h:438
static TOOL_ACTION lock
Definition: pcb_actions.h:424
static TOOL_ACTION layerInner6
Definition: pcb_actions.h:257
static TOOL_ACTION routerDiffPairDialog
Definition: pcb_actions.h:193
static TOOL_ACTION zoneFillAll
Definition: pcb_actions.h:303
static TOOL_ACTION viaSizeInc
Definition: pcb_actions.h:296
static TOOL_ACTION checkFootprint
Definition: pcb_actions.h:378
static TOOL_ACTION drawArc
Definition: pcb_actions.h:143
static TOOL_ACTION hideNet
Definition: pcb_actions.h:456
static TOOL_ACTION layerInner7
Definition: pcb_actions.h:258
static TOOL_ACTION layerInner8
Definition: pcb_actions.h:259
static TOOL_ACTION microwaveCreateStubArc
Definition: pcb_actions.h:414
static TOOL_ACTION highlightItem
Definition: pcb_actions.h:455
static TOOL_ACTION layerInner21
Definition: pcb_actions.h:272
static TOOL_ACTION ratsnestLineMode
Definition: pcb_actions.h:237
static TOOL_ACTION cleanupGraphics
Definition: pcb_actions.h:321
static TOOL_ACTION autoplaceSelectedComponents
Definition: pcb_actions.h:471
static TOOL_ACTION layerAlphaDec
Definition: pcb_actions.h:286
static TOOL_ACTION boardStatistics
Definition: pcb_actions.h:442
static TOOL_ACTION routerUndoLastSegment
Definition: pcb_actions.h:189
static TOOL_ACTION unselectItem
Definition: pcb_actions.h:63
static TOOL_ACTION pluginsReload
Scripting Actions.
Definition: pcb_actions.h:312
static TOOL_ACTION selectNet
Select all connections belonging to a single net.
Definition: pcb_actions.h:77
static TOOL_ACTION dragFreeAngle
Definition: pcb_actions.h:135
static TOOL_ACTION enumeratePads
Tool for quick pad enumeration.
Definition: pcb_actions.h:387
static TOOL_ACTION unselectItems
Definition: pcb_actions.h:67
static TOOL_ACTION layerAlphaInc
Definition: pcb_actions.h:285
static TOOL_ACTION routerTuneDiffPair
Activation of the Push and Shove router (diff pair tuning mode)
Definition: pcb_actions.h:184
static TOOL_ACTION drawAlignedDimension
Definition: pcb_actions.h:145
static TOOL_ACTION alignCenterY
Definition: pcb_actions.h:224
static TOOL_ACTION properties
Activation of the edit tool.
Definition: pcb_actions.h:117
static TOOL_ACTION trackWidthDec
Definition: pcb_actions.h:295
static TOOL_ACTION drawOrthogonalDimension
Definition: pcb_actions.h:147
static TOOL_ACTION selectionMenu
Run a selection menu to select from a list of items.
Definition: pcb_actions.h:70
static TOOL_ACTION drawPolygon
Definition: pcb_actions.h:140
static TOOL_ACTION selectConnection
Select tracks between junctions or expands an existing selection to pads or the entire connection.
Definition: pcb_actions.h:74
static TOOL_ACTION routerHighlightMode
Actions to enable switching modes via hotkey assignments.
Definition: pcb_actions.h:197
static TOOL_ACTION selectpositionRelativeItem
Selection of anchor item for position relative tool.
Definition: pcb_actions.h:233
static TOOL_ACTION getAndPlace
Find an item and start moving.
Definition: pcb_actions.h:468
static TOOL_ACTION microwaveCreateLine
Definition: pcb_actions.h:418
static TOOL_ACTION trackViaSizeChanged
Definition: pcb_actions.h:299
static TOOL_ACTION showPythonConsole
Definition: pcb_actions.h:348
static TOOL_ACTION placePad
Activation of the drawing tool (placing a PAD)
Definition: pcb_actions.h:381
static TOOL_ACTION drag45Degree
Definition: pcb_actions.h:134
static TOOL_ACTION mirror
Mirroring of selected items.
Definition: pcb_actions.h:108
static TOOL_ACTION changeFootprint
Definition: pcb_actions.h:324
static TOOL_ACTION showLayersManager
Definition: pcb_actions.h:347
static TOOL_ACTION group
Definition: pcb_actions.h:428
static TOOL_ACTION updateFootprint
Definition: pcb_actions.h:322
static TOOL_ACTION distributeVertically
Definition: pcb_actions.h:226
static TOOL_ACTION swapLayers
Definition: pcb_actions.h:326
static TOOL_ACTION ungroup
Definition: pcb_actions.h:429
static TOOL_ACTION localRatsnestTool
Definition: pcb_actions.h:460
static TOOL_ACTION zoneDisplayFilled
Definition: pcb_actions.h:243
static TOOL_ACTION toggleLastNetHighlight
Definition: pcb_actions.h:452
static TOOL_ACTION changeFootprints
Definition: pcb_actions.h:325
static TOOL_ACTION layerInner3
Definition: pcb_actions.h:254
static TOOL_ACTION setAnchor
Definition: pcb_actions.h:159
static TOOL_ACTION layerInner24
Definition: pcb_actions.h:275
static TOOL_ACTION editTracksAndVias
Definition: pcb_actions.h:317
static TOOL_ACTION generateReportFile
Definition: pcb_actions.h:337
static TOOL_ACTION placeText
Definition: pcb_actions.h:144
static TOOL_ACTION zoneFill
Definition: pcb_actions.h:302
static TOOL_ACTION layerInner11
Definition: pcb_actions.h:262
static TOOL_ACTION alignBottom
Definition: pcb_actions.h:220
static TOOL_ACTION generateD356File
Definition: pcb_actions.h:338
static TOOL_ACTION createFootprint
Definition: pcb_actions.h:360
static TOOL_ACTION decWidth
Decrease width of currently drawn line.
Definition: pcb_actions.h:167
static TOOL_ACTION cutFootprint
Definition: pcb_actions.h:369
static TOOL_ACTION routerTuneDiffPairSkew
Activation of the Push and Shove router (skew tuning mode)
Definition: pcb_actions.h:187
static TOOL_ACTION toggleNetHighlight
Definition: pcb_actions.h:453
static TOOL_ACTION inspectConstraints
Definition: pcb_actions.h:447
static TOOL_ACTION moveExact
Activation of the exact move tool.
Definition: pcb_actions.h:120
static TOOL_ACTION copyFootprint
Definition: pcb_actions.h:370
static TOOL_ACTION layerTop
Definition: pcb_actions.h:251
static TOOL_ACTION filletTracks
Fillet (i.e. adds an arc tangent to) all selected straight tracks by a user defined radius.
Definition: pcb_actions.h:114
static TOOL_ACTION distributeHorizontally
Definition: pcb_actions.h:225
static TOOL_ACTION pushPadSettings
Copy the current pad's settings to other pads in the footprint or on the board.
Definition: pcb_actions.h:407
static TOOL_ACTION cleanupTracksAndVias
Definition: pcb_actions.h:320
static TOOL_ACTION layerInner23
Definition: pcb_actions.h:274
static TOOL_ACTION removeFromGroup
Definition: pcb_actions.h:430
static TOOL_ACTION trackWidthInc
Definition: pcb_actions.h:294
static TOOL_ACTION lengthTunerSettingsDialog
Definition: pcb_actions.h:194
static TOOL_ACTION duplicateIncrement
Activation of the duplication tool with incrementing (e.g. pad number)
Definition: pcb_actions.h:123
static TOOL_ACTION appendBoard
Definition: pcb_actions.h:440
static TOOL_ACTION zoneDisplayToggle
Definition: pcb_actions.h:247
static TOOL_ACTION zoneDisplayFractured
Definition: pcb_actions.h:245
static TOOL_ACTION routerSettingsDialog
Activation of the Push and Shove settings dialogs.
Definition: pcb_actions.h:192
static TOOL_ACTION rotateCw
Rotation of selected objects.
Definition: pcb_actions.h:101
static TOOL_ACTION layerInner13
Definition: pcb_actions.h:264
static TOOL_ACTION layerPrev
Definition: pcb_actions.h:284
static TOOL_ACTION importNetlist
Definition: pcb_actions.h:329
static TOOL_ACTION copyPadSettings
Copy the selected pad's settings to the board design settings.
Definition: pcb_actions.h:401
static TOOL_ACTION exportFootprint
Definition: pcb_actions.h:373
static TOOL_ACTION showPadNumbers
Definition: pcb_actions.h:248
static TOOL_ACTION layerInner25
Definition: pcb_actions.h:276
static TOOL_ACTION editFootprint
Definition: pcb_actions.h:367
static TOOL_ACTION layerInner18
Definition: pcb_actions.h:269
Action activates a tool.
Definition: tool_action.h:52
static TOOL_ACTION boardReannotate
Definition: pcb_actions.h:443
static TOOL_ACTION pointEditorAddCorner
Break outline (insert additional points to an edge)
Definition: pcb_actions.h:207
static TOOL_ACTION pointEditorRemoveCorner
Removes a corner.
Definition: pcb_actions.h:210
static TOOL_ACTION createArray
Tool for creating an array of objects.
Definition: pcb_actions.h:390
static TOOL_ACTION applyPadSettings
Copy the default pad settings to the selected pad.
Definition: pcb_actions.h:404
static TOOL_ACTION zoneMerge
Definition: pcb_actions.h:306
static TOOL_ACTION alignLeft
Definition: pcb_actions.h:221
static TOOL_ACTION layerInner30
Definition: pcb_actions.h:281
static TOOL_ACTION recombinePad
Definition: pcb_actions.h:384
static TOOL_ACTION convertToZone
Definition: pcb_actions.h:475
static TOOL_ACTION layerInner29
Definition: pcb_actions.h:280
static TOOL_ACTION pickNewGroupMember
Definition: pcb_actions.h:215
static TOOL_ACTION showRatsnest
Definition: pcb_actions.h:236
static TOOL_ACTION drawRectangle
Definition: pcb_actions.h:141
static TOOL_ACTION convertToKeepout
Definition: pcb_actions.h:476
Add a new zone/keepout with fresh settings.
static TOOL_ACTION microwaveCreateGap
Definition: pcb_actions.h:410
static TOOL_ACTION layerInner10
Definition: pcb_actions.h:261
static TOOL_ACTION drawVia
Definition: pcb_actions.h:150
static TOOL_ACTION alignTop
Definition: pcb_actions.h:219
static TOOL_ACTION cycleRouterMode
Definition: pcb_actions.h:200
static TOOL_ACTION zoneDisplayTriangulated
Definition: pcb_actions.h:246
static TOOL_ACTION showEeschema
Definition: pcb_actions.h:441
static TOOL_ACTION generatePosFile
Definition: pcb_actions.h:336
static TOOL_ACTION copyWithReference
copy command with manual reference point selection
Definition: pcb_actions.h:98
static TOOL_ACTION drawZoneCutout
Definition: pcb_actions.h:152
static TOOL_ACTION routerWalkaroundMode
Definition: pcb_actions.h:199
static TOOL_ACTION layerInner15
Definition: pcb_actions.h:266
static TOOL_ACTION placeTarget
Definition: pcb_actions.h:155
static TOOL_ACTION routerInlineDrag
Activation of the Push and Shove router (inline dragging mode)
Definition: pcb_actions.h:203
static TOOL_ACTION hideDynamicRatsnest
Definition: pcb_actions.h:461
static TOOL_ACTION layerInner28
Definition: pcb_actions.h:279
static TOOL_ACTION zoneUnfillAll
Definition: pcb_actions.h:305
static TOOL_ACTION importFootprint
Definition: pcb_actions.h:372
static TOOL_ACTION boardSetup
Definition: pcb_actions.h:316
static TOOL_ACTION layerInner27
Definition: pcb_actions.h:278
Make a cutout to an existing zone.
static TOOL_ACTION pluginsShowFolder
Definition: pcb_actions.h:313
static TOOL_ACTION inspectClearance
Definition: pcb_actions.h:446
static TOOL_ACTION layerInner17
Definition: pcb_actions.h:268
static TOOL_ACTION zoneDisplayOutline
Definition: pcb_actions.h:244
static TOOL_ACTION microwaveCreateStub
Definition: pcb_actions.h:412
static TOOL_ACTION zoneUnfill
Definition: pcb_actions.h:304
static TOOL_ACTION breakTrack
Break a single track into two segments at the cursor.
Definition: pcb_actions.h:132
static TOOL_ACTION clearHighlight
Definition: pcb_actions.h:450
static TOOL_ACTION layerInner20
Definition: pcb_actions.h:271
static TOOL_ACTION updateFootprints
Definition: pcb_actions.h:323
static TOOL_ACTION padDisplayMode
Definition: pcb_actions.h:241
static TOOL_ACTION importSpecctraSession
Definition: pcb_actions.h:331
static TOOL_ACTION rotateCcw
Definition: pcb_actions.h:102
static TOOL_ACTION placeCharacteristics
Definition: pcb_actions.h:154
static TOOL_ACTION drawCircle
Definition: pcb_actions.h:142
static TOOL_ACTION viaDisplayMode
Definition: pcb_actions.h:242
static TOOL_ACTION graphicsOutlines
Display footprint graphics as outlines.
Definition: pcb_actions.h:393
static TOOL_ACTION filterSelection
Filter the items in the current selection (invokes dialog)
Definition: pcb_actions.h:89
static TOOL_ACTION zoneDuplicate
Duplicate zone onto another layer.
Definition: pcb_actions.h:309
static TOOL_ACTION removeUnusedPads
Definition: pcb_actions.h:327
static TOOL_ACTION flip
Flipping of selected objects.
Definition: pcb_actions.h:105
static TOOL_ACTION generateBOM
Definition: pcb_actions.h:339
static TOOL_ACTION convertToArc
Definition: pcb_actions.h:478
static TOOL_ACTION layerInner22
Definition: pcb_actions.h:273
static TOOL_ACTION microwaveCreateFunctionShape
Definition: pcb_actions.h:416
static TOOL_ACTION defaultPadProperties
Definition: pcb_actions.h:376
static TOOL_ACTION arcPosture
Switch posture when drawing arc.
Definition: pcb_actions.h:170
static TOOL_ACTION layerChanged
Definition: pcb_actions.h:289
static TOOL_ACTION placeFootprint
Definition: pcb_actions.h:157
static TOOL_ACTION showNet
Definition: pcb_actions.h:457
static TOOL_ACTION drawLeader
Definition: pcb_actions.h:148
static TOOL_ACTION exportSpecctraDSN
Definition: pcb_actions.h:332
static TOOL_ACTION drawRuleArea
Definition: pcb_actions.h:151
Ignore collisions, mark obstacles.
static TOOL_ACTION showFootprintTree
Definition: pcb_actions.h:352
static TOOL_ACTION editTextAndGraphics
Definition: pcb_actions.h:318
static TOOL_ACTION highlightNet
Definition: pcb_actions.h:451
static TOOL_ACTION highlightNetSelection
Definition: pcb_actions.h:454
#define _(s)
Definition: pcb_actions.cpp:41
static TOOL_ACTION selectOnSheetFromEeschema
Select all components on sheet from Eeschema crossprobing.
Definition: pcb_actions.h:83
static TOOL_ACTION routeSingleTrack
Activation of the Push and Shove router.
Definition: pcb_actions.h:175
static TOOL_ACTION repairBoard
Definition: pcb_actions.h:444
static TOOL_ACTION listNets
Definition: pcb_actions.h:341
static TOOL_ACTION placeStackup
Definition: pcb_actions.h:156
Definition: layer_ids.h:71
static TOOL_ACTION layerInner14
Definition: pcb_actions.h:265
Represent a single user action.
Definition: tool_action.h:67
static TOOL_ACTION layerInner9
Definition: pcb_actions.h:260
static TOOL_ACTION selectItem
Select an item (specified as the event parameter).
Definition: pcb_actions.h:62
Action is a notification (it is by default passed to all tools)
Definition: tool_action.h:53
static TOOL_ACTION runDRC
Definition: pcb_actions.h:342
Only walk around.
static TOOL_ACTION positionRelative
Activation of the position relative tool.
Definition: pcb_actions.h:230
static TOOL_ACTION editLibFpInFpEditor
Definition: pcb_actions.h:345
static TOOL_ACTION layerInner16
Definition: pcb_actions.h:267
static TOOL_ACTION deleteLastPoint
Definition: pcb_actions.h:160
static TOOL_ACTION deselectNet
Remove all connections belonging to a single net from the active selection.
Definition: pcb_actions.h:80
static TOOL_ACTION pasteFootprint
Definition: pcb_actions.h:371
static TOOL_ACTION convertToPoly
Definition: pcb_actions.h:474
static TOOL_ACTION layerInner4
Definition: pcb_actions.h:255
static TOOL_ACTION updateLocalRatsnest
Definition: pcb_actions.h:462
static TOOL_ACTION ratsnestModeCycle
Definition: pcb_actions.h:239
static TOOL_ACTION flipBoard
Definition: pcb_actions.h:291
static TOOL_ACTION layerInner19
Definition: pcb_actions.h:270
static TOOL_ACTION groupEnter
Definition: pcb_actions.h:431
static TOOL_ACTION layerInner1
Definition: pcb_actions.h:252
static TOOL_ACTION moveWithReference
move with a reference point
Definition: pcb_actions.h:95
static TOOL_ACTION alignCenterX
Definition: pcb_actions.h:223
static TOOL_ACTION routerShoveMode
Definition: pcb_actions.h:198
static TOOL_ACTION toggle45
Definition: pcb_actions.h:420
static TOOL_ACTION viaSizeDec
Definition: pcb_actions.h:297
static TOOL_ACTION drawZone
Definition: pcb_actions.h:149
static TOOL_ACTION deleteFootprint
Definition: pcb_actions.h:368
static TOOL_ACTION netColorModeCycle
Definition: pcb_actions.h:238
static TOOL_ACTION selectionCursor
Select a single item under the cursor position.
Definition: pcb_actions.h:56
static TOOL_ACTION trackDisplayMode
Definition: pcb_actions.h:240
static TOOL_ACTION groupProperties
Definition: pcb_actions.h:214
static TOOL_ACTION newFootprint
Definition: pcb_actions.h:357
static TOOL_ACTION generateDrillFiles
Definition: pcb_actions.h:335
static TOOL_ACTION layerInner12
Definition: pcb_actions.h:263
static TOOL_ACTION selectSameSheet
Select all components on the same sheet as the selected footprint.
Definition: pcb_actions.h:86
static TOOL_ACTION closeOutline
Definition: pcb_actions.h:161
static TOOL_ACTION textOutlines
Display texts as lines.
Definition: pcb_actions.h:396
static TOOL_ACTION layerToggle
Definition: pcb_actions.h:287
static TOOL_ACTION routerTuneSingleTrace
Activation of the Push and Shove router (tune single line mode)
Definition: pcb_actions.h:181
static TOOL_ACTION routeDiffPair
Activation of the Push and Shove router (differential pair mode)
Definition: pcb_actions.h:178