KiCad PCB EDA Suite
ee_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) 2019 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #include <tool/tool_action.h>
25 #include <bitmaps.h>
26 #include <tools/ee_actions.h>
27 #include <core/typeinfo.h>
29 
30 
31 // Actions, being statically-defined, require specialized I18N handling. We continue to
32 // use the _() macro so that string harvesting by the I18N framework doesn't have to be
33 // specialized, but we don't translate on initialization and instead do it in the getters.
34 
35 #undef _
36 #define _(s) s
37 
38 
39 // EE_INSPECTION_TOOL
40 //
41 TOOL_ACTION EE_ACTIONS::runERC( "eeschema.InspectionTool.runERC",
42  AS_GLOBAL, 0, "",
43  _( "Electrical Rules Checker" ), _( "Perform electrical rules check" ),
44  erc_xpm );
45 
46 TOOL_ACTION EE_ACTIONS::runSimulation( "eeschema.EditorControl.runSimulation",
47  AS_GLOBAL, 0, "",
48  _( "Simulator..." ), _( "Simulate circuit in SPICE" ),
49  simulator_xpm );
50 
51 TOOL_ACTION EE_ACTIONS::showDatasheet( "eeschema.InspectionTool.showDatasheet",
52  AS_GLOBAL,
53  'D', LEGACY_HK_NAME( "Show Datasheet" ),
54  _( "Show Datasheet" ), _( "Opens the datasheet in a browser" ),
55  datasheet_xpm );
56 
57 TOOL_ACTION EE_ACTIONS::showMarkerInfo( "eeschema.InspectionTool.showMarkerInfo",
58  AS_GLOBAL, 0, "",
59  _( "Show Marker Info" ), _( "Display the marker's info in a dialog" ),
60  info_xpm );
61 
62 
63 // EE_POINT_EDITOR
64 //
65 TOOL_ACTION EE_ACTIONS::pointEditorAddCorner( "eeschema.PointEditor.addCorner",
66  AS_GLOBAL, 0, "",
67  _( "Create Corner" ), _( "Create a corner" ),
68  add_corner_xpm );
69 
70 TOOL_ACTION EE_ACTIONS::pointEditorRemoveCorner( "eeschema.PointEditor.removeCorner",
71  AS_GLOBAL, 0, "",
72  _( "Remove Corner" ), _( "Remove corner" ),
73  delete_xpm );
74 
75 
76 // EE_SELECTION_TOOL
77 //
78 TOOL_ACTION EE_ACTIONS::selectionActivate( "eeschema.InteractiveSelection",
79  AS_GLOBAL, 0, "", "", "", // No description, not shown anywhere
80  nullptr, AF_ACTIVATE );
81 
82 TOOL_ACTION EE_ACTIONS::selectNode( "eeschema.InteractiveSelection.SelectNode",
83  AS_GLOBAL,
84  MD_ALT + '3', LEGACY_HK_NAME( "Select Node" ),
85  _( "Select Node" ), _( "Select a connection item under the cursor" ) );
86 
87 TOOL_ACTION EE_ACTIONS::selectConnection( "eeschema.InteractiveSelection.SelectConnection",
88  AS_GLOBAL,
89  MD_ALT + '4', LEGACY_HK_NAME( "Select Connection" ),
90  _( "Select Connection" ), _( "Select a complete connection" ) );
91 
92 TOOL_ACTION EE_ACTIONS::selectionMenu( "eeschema.InteractiveSelection.SelectionMenu",
93  AS_GLOBAL );
94 
95 TOOL_ACTION EE_ACTIONS::addItemToSel( "eeschema.InteractiveSelection.AddItemToSel",
96  AS_GLOBAL );
97 
98 TOOL_ACTION EE_ACTIONS::addItemsToSel( "eeschema.InteractiveSelection.AddItemsToSel",
99  AS_GLOBAL );
100 
101 TOOL_ACTION EE_ACTIONS::removeItemFromSel( "eeschema.InteractiveSelection.RemoveItemFromSel",
102  AS_GLOBAL );
103 
104 TOOL_ACTION EE_ACTIONS::removeItemsFromSel( "eeschema.InteractiveSelection.RemoveItemsFromSel",
105  AS_GLOBAL );
106 
107 TOOL_ACTION EE_ACTIONS::clearSelection( "eeschema.InteractiveSelection.ClearSelection",
108  AS_GLOBAL );
109 
110 
111 // LIB_CONTROL
112 //
113 TOOL_ACTION EE_ACTIONS::newSymbol( "eeschema.SymbolLibraryControl.newSymbol",
114  AS_GLOBAL, 0, "",
115  _( "New Symbol..." ), _( "Create a new symbol" ),
116  new_component_xpm );
117 
118 TOOL_ACTION EE_ACTIONS::editSymbol( "eeschema.SymbolLibraryControl.editSymbol",
119  AS_GLOBAL, 0, "",
120  _( "Edit Symbol" ), _( "Show selected symbol on editor canvas" ),
121  edit_xpm );
122 
123 TOOL_ACTION EE_ACTIONS::duplicateSymbol( "eeschema.SymbolLibraryControl.duplicateSymbol",
124  AS_GLOBAL, 0, "",
125  _( "Duplicate Symbol" ), _( "Make a copy of the selected symbol" ),
126  duplicate_xpm );
127 
128 TOOL_ACTION EE_ACTIONS::deleteSymbol( "eeschema.SymbolLibraryControl.deleteSymbol",
129  AS_GLOBAL, 0, "",
130  _( "Delete Symbol" ), _( "Remove the selected symbol from its library" ),
131  delete_xpm );
132 
133 TOOL_ACTION EE_ACTIONS::cutSymbol( "eeschema.SymbolLibraryControl.cutSymbol",
134  AS_GLOBAL, 0, "",
135  _( "Cut Symbol" ), "",
136  cut_xpm );
137 
138 TOOL_ACTION EE_ACTIONS::copySymbol( "eeschema.SymbolLibraryControl.copySymbol",
139  AS_GLOBAL, 0, "",
140  _( "Copy Symbol" ), "",
141  copy_xpm );
142 
143 TOOL_ACTION EE_ACTIONS::pasteSymbol( "eeschema.SymbolLibraryControl.pasteSymbol",
144  AS_GLOBAL, 0, "",
145  _( "Paste Symbol" ), "",
146  paste_xpm );
147 
148 TOOL_ACTION EE_ACTIONS::importSymbol( "eeschema.SymbolLibraryControl.importSymbol",
149  AS_GLOBAL, 0, "",
150  _( "Import Symbol..." ), _( "Import a symbol to the current library" ),
151  import_part_xpm );
152 
153 TOOL_ACTION EE_ACTIONS::exportSymbol( "eeschema.SymbolLibraryControl.exportSymbol",
154  AS_GLOBAL, 0, "",
155  _( "Export Symbol..." ), _( "Export a symbol to a new library file" ),
156  export_part_xpm );
157 
158 TOOL_ACTION EE_ACTIONS::addSymbolToSchematic( "eeschema.SymbolLibraryControl.addSymbolToSchematic",
159  AS_GLOBAL, 0, "",
160  _( "Add Symbol to Schematic" ), _( "Add Symbol to Schematic" ),
161  export_xpm );
162 
163 TOOL_ACTION EE_ACTIONS::showElectricalTypes( "eeschema.SymbolLibraryControl.showElectricalTypes",
164  AS_GLOBAL, 0, "",
165  _( "Show Pin Electrical Types" ), _( "Annotate pins with their electrical types" ),
166  pin_show_etype_xpm );
167 
168 TOOL_ACTION EE_ACTIONS::showComponentTree( "eeschema.SymbolLibraryControl.showComponentTree",
169  AS_GLOBAL, 0, "",
170  _( "Show Symbol Tree" ), "",
171  search_tree_xpm );
172 
173 TOOL_ACTION EE_ACTIONS::exportSymbolView( "eeschema.SymbolLibraryControl.exportSymbolView",
174  AS_GLOBAL, 0, "",
175  _( "Export View as PNG..." ), _( "Create PNG file from the current view" ),
176  plot_xpm );
177 
178 TOOL_ACTION EE_ACTIONS::exportSymbolAsSVG( "eeschema.SymbolLibraryControl.exportSymbolAsSVG",
179  AS_GLOBAL, 0, "",
180  _( "Export Symbol as SVG..." ), _( "Create SVG file from the current symbol" ),
181  plot_svg_xpm );
182 
183 TOOL_ACTION EE_ACTIONS::toggleSyncedPinsMode( "eeschema.SymbolLibraryControl.toggleSyncedPinsMode",
184  AS_GLOBAL, 0, "",
185  _( "Synchronized Pins Edit Mode" ),
186  _( "Synchronized Pins Edit Mode\n"
187  "When enabled propagates all changes (except pin numbers) to other units.\n"
188  "Enabled by default for multiunit parts with interchangeable units." ),
189  pin2pin_xpm );
190 
191 
192 // LIB_DRAWING_TOOLS
193 //
194 TOOL_ACTION EE_ACTIONS::placeSymbolPin( "eeschema.SymbolDrawing.placeSymbolPin",
195  AS_GLOBAL,
196  'P', LEGACY_HK_NAME( "Create Pin" ),
197  _( "Add Pin" ), _( "Add a pin" ),
198  pin_xpm, AF_ACTIVATE, (void*) LIB_PIN_T );
199 
200 TOOL_ACTION EE_ACTIONS::placeSymbolText( "eeschema.SymbolDrawing.placeSymbolText",
201  AS_GLOBAL, 0, "",
202  _( "Add Text" ), _( "Add a text item" ),
203  text_xpm, AF_ACTIVATE, (void*) LIB_TEXT_T );
204 
205 TOOL_ACTION EE_ACTIONS::drawSymbolRectangle( "eeschema.SymbolDrawing.drawSymbolRectangle",
206  AS_GLOBAL, 0, "",
207  _( "Add Rectangle" ), _( "Add a rectangle" ),
208  add_rectangle_xpm, AF_ACTIVATE, (void*) LIB_RECTANGLE_T );
209 
210 TOOL_ACTION EE_ACTIONS::drawSymbolCircle( "eeschema.SymbolDrawing.drawSymbolCircle",
211  AS_GLOBAL, 0, "",
212  _( "Add Circle" ), _( "Add a circle" ),
213  add_circle_xpm, AF_ACTIVATE, (void*) LIB_CIRCLE_T );
214 
215 TOOL_ACTION EE_ACTIONS::drawSymbolArc( "eeschema.SymbolDrawing.drawSymbolArc",
216  AS_GLOBAL, 0, "",
217  _( "Add Arc" ), _( "Add an arc" ),
218  add_arc_xpm, AF_ACTIVATE, (void*) LIB_ARC_T );
219 
220 TOOL_ACTION EE_ACTIONS::drawSymbolLines( "eeschema.SymbolDrawing.drawSymbolLines",
221  AS_GLOBAL, 0, "",
222  _( "Add Lines" ), _( "Add connected graphic lines" ),
223  add_graphical_segments_xpm, AF_ACTIVATE, (void*) LIB_POLYLINE_T );
224 
225 TOOL_ACTION EE_ACTIONS::placeSymbolAnchor( "eeschema.SymbolDrawing.placeSymbolAnchor",
226  AS_GLOBAL, 0, "",
227  _( "Move Symbol Anchor" ), _( "Specify a new location for the symbol anchor" ),
228  anchor_xpm, AF_ACTIVATE );
229 
230 TOOL_ACTION EE_ACTIONS::finishDrawing( "eeschema.SymbolDrawing.finishDrawing",
231  AS_GLOBAL, 0, "",
232  _( "Finish Drawing" ), _( "Finish drawing shape" ),
233  checked_ok_xpm, AF_NONE );
234 
235 
236 // LIB_PIN_TOOL
237 //
238 TOOL_ACTION EE_ACTIONS::pushPinLength( "eeschema.PinEditing.pushPinLength",
239  AS_GLOBAL, 0, "",
240  _( "Push Pin Length" ), _( "Copy pin length to other pins in symbol" ),
241  pin_size_to_xpm );
242 
243 TOOL_ACTION EE_ACTIONS::pushPinNameSize( "eeschema.PinEditing.pushPinNameSize",
244  AS_GLOBAL, 0, "",
245  _( "Push Pin Name Size" ), _( "Copy pin name size to other pins in symbol" ),
246  pin_size_to_xpm );
247 
248 TOOL_ACTION EE_ACTIONS::pushPinNumSize( "eeschema.PinEditing.pushPinNumSize",
249  AS_GLOBAL, 0, "",
250  _( "Push Pin Number Size" ), _( "Copy pin number size to other pins in symbol" ),
251  pin_size_to_xpm );
252 
253 
254 // SCH_DRAWING_TOOLS
255 //
256 TOOL_ACTION EE_ACTIONS::placeSymbol( "eeschema.InteractiveDrawing.placeSymbol",
257  AS_GLOBAL,
258  'A', LEGACY_HK_NAME( "Add Symbol" ),
259  _( "Add Symbol" ), _( "Add a symbol" ),
260  add_component_xpm, AF_ACTIVATE );
261 
262 TOOL_ACTION EE_ACTIONS::placePower( "eeschema.InteractiveDrawing.placePowerPort",
263  AS_GLOBAL,
264  'P', LEGACY_HK_NAME( "Add Power" ),
265  _( "Add Power" ), _( "Add a power port" ),
266  add_power_xpm, AF_ACTIVATE );
267 
268 TOOL_ACTION EE_ACTIONS::placeNoConnect( "eeschema.InteractiveDrawing.placeNoConnect",
269  AS_GLOBAL,
270  'Q', LEGACY_HK_NAME( "Add No Connect Flag" ),
271  _( "Add No Connect Flag" ), _( "Add a no-connection flag" ),
272  noconn_xpm, AF_ACTIVATE, (void*) SCH_NO_CONNECT_T );
273 
274 TOOL_ACTION EE_ACTIONS::placeJunction( "eeschema.InteractiveDrawing.placeJunction",
275  AS_GLOBAL,
276  'J', LEGACY_HK_NAME( "Add Junction" ),
277  _( "Add Junction" ), _( "Add a junction" ),
278  add_junction_xpm, AF_ACTIVATE, (void*) SCH_JUNCTION_T );
279 
280 TOOL_ACTION EE_ACTIONS::placeBusWireEntry( "eeschema.InteractiveDrawing.placeBusWireEntry",
281  AS_GLOBAL,
282  'Z', LEGACY_HK_NAME( "Add Wire Entry" ),
283  _( "Add Wire to Bus Entry" ), _( "Add a wire entry to a bus" ),
284  add_line2bus_xpm, AF_ACTIVATE, (void*) SCH_BUS_WIRE_ENTRY_T );
285 
286 TOOL_ACTION EE_ACTIONS::placeBusBusEntry( "eeschema.InteractiveDrawing.placeBusBusEntry",
287  AS_GLOBAL,
288  '/', LEGACY_HK_NAME( "Add Bus Entry" ),
289  _( "Add Bus to Bus Entry" ), _( "Add a bus entry to a bus" ),
290  add_bus2bus_xpm, AF_ACTIVATE, (void*) SCH_BUS_BUS_ENTRY_T );
291 
292 TOOL_ACTION EE_ACTIONS::placeLabel( "eeschema.InteractiveDrawing.placeLabel",
293  AS_GLOBAL,
294  'L', LEGACY_HK_NAME( "Add Label" ),
295  _( "Add Label" ), _( "Add a net label" ),
296  add_line_label_xpm, AF_ACTIVATE, (void*) SCH_LABEL_T );
297 
298 TOOL_ACTION EE_ACTIONS::placeHierLabel( "eeschema.InteractiveDrawing.placeHierarchicalLabel",
299  AS_GLOBAL,
300  'H', LEGACY_HK_NAME( "Add Hierarchical Label" ),
301  _( "Add Hierarchical Label" ), _( "Add a hierarchical sheet label" ),
302  add_hierarchical_label_xpm, AF_ACTIVATE, (void*) SCH_HIER_LABEL_T );
303 
304 TOOL_ACTION EE_ACTIONS::drawSheet( "eeschema.InteractiveDrawing.drawSheet",
305  AS_GLOBAL,
306  'S', LEGACY_HK_NAME( "Add Sheet" ),
307  _( "Add Sheet" ), _( "Add a hierarchical sheet" ),
308  add_hierarchical_subsheet_xpm, AF_ACTIVATE, (void*) SCH_SHEET_T );
309 
310 TOOL_ACTION EE_ACTIONS::placeSheetPin( "eeschema.InteractiveDrawing.placeSheetPin",
311  AS_GLOBAL, 0, "",
312  _( "Add Sheet Pin" ), _( "Add a sheet pin" ),
313  add_hierar_pin_xpm, AF_ACTIVATE, (void*) SCH_SHEET_PIN_T );
314 
315 TOOL_ACTION EE_ACTIONS::importSheetPin( "eeschema.InteractiveDrawing.importSheetPin",
316  AS_GLOBAL, 0, "",
317  _( "Import Sheet Pin" ), _( "Import a hierarchical sheet pin" ),
318  import_hierarchical_label_xpm, AF_ACTIVATE, (void*) SCH_SHEET_PIN_T );
319 
320 TOOL_ACTION EE_ACTIONS::placeGlobalLabel( "eeschema.InteractiveDrawing.placeGlobalLabel",
321  AS_GLOBAL,
322  MD_CTRL + 'H', LEGACY_HK_NAME( "Add Global Label" ),
323  _( "Add Global Label" ), _( "Add a global label" ),
324  add_glabel_xpm, AF_ACTIVATE, (void*) SCH_GLOBAL_LABEL_T );
325 
326 TOOL_ACTION EE_ACTIONS::placeSchematicText( "eeschema.InteractiveDrawing.placeSchematicText",
327  AS_GLOBAL,
328  'T', LEGACY_HK_NAME( "Add Graphic Text" ),
329  _( "Add Text" ), _( "Add text" ),
330  text_xpm, AF_ACTIVATE, (void*) SCH_TEXT_T );
331 
332 TOOL_ACTION EE_ACTIONS::placeImage( "eeschema.InteractiveDrawing.placeImage",
333  AS_GLOBAL, 0, "",
334  _( "Add Image" ), _( "Add bitmap image" ),
335  image_xpm, AF_ACTIVATE );
336 
337 TOOL_ACTION EE_ACTIONS::finishSheet( "eeschema.InteractiveDrawing.finishSheet",
338  AS_GLOBAL, 0, "",
339  _( "Finish Sheet" ), _( "Finish drawing sheet" ),
340  checked_ok_xpm, AF_NONE );
341 
342 
343 // SCH_EDIT_TOOL
344 //
345 TOOL_ACTION EE_ACTIONS::repeatDrawItem( "eeschema.InteractiveEdit.repeatDrawItem",
346  AS_GLOBAL,
347  WXK_INSERT, LEGACY_HK_NAME( "Repeat Last Item" ),
348  _( "Repeat Last Item" ), _( "Duplicates the last drawn item" ),
349  nullptr );
350 
351 TOOL_ACTION EE_ACTIONS::rotateCW( "eeschema.InteractiveEdit.rotateCW",
352  AS_GLOBAL, 0, "",
353  _( "Rotate Clockwise" ), _( "Rotates selected item(s) clockwise" ),
354  rotate_cw_xpm );
355 
356 TOOL_ACTION EE_ACTIONS::rotateCCW( "eeschema.InteractiveEdit.rotateCCW",
357  AS_GLOBAL,
358  'R', LEGACY_HK_NAME( "Rotate Item" ),
359  _( "Rotate" ), _( "Rotates selected item(s) counter-clockwise" ),
360  rotate_ccw_xpm );
361 
362 TOOL_ACTION EE_ACTIONS::mirrorX( "eeschema.InteractiveEdit.mirrorX",
363  AS_GLOBAL,
364  'X', LEGACY_HK_NAME( "Mirror X" ),
365  _( "Mirror Around Horizontal Axis" ), _( "Flips selected item(s) from top to bottom" ),
366  mirror_v_xpm );
367 
368 TOOL_ACTION EE_ACTIONS::mirrorY( "eeschema.InteractiveEdit.mirrorY",
369  AS_GLOBAL,
370  'Y', LEGACY_HK_NAME( "Mirror Y" ),
371  _( "Mirror Around Vertical Axis" ), _( "Flips selected item(s) from left to right" ),
372  mirror_h_xpm );
373 
374 TOOL_ACTION EE_ACTIONS::properties( "eeschema.InteractiveEdit.properties",
375  AS_GLOBAL,
376  'E', LEGACY_HK_NAME( "Edit Item" ),
377  _( "Properties..." ), _( "Displays item properties dialog" ),
378  edit_xpm );
379 
380 TOOL_ACTION EE_ACTIONS::editReference( "eeschema.InteractiveEdit.editReference",
381  AS_GLOBAL,
382  'U', LEGACY_HK_NAME( "Edit Symbol Reference" ),
383  _( "Edit Reference..." ), _( "Displays reference field dialog" ),
384  edit_comp_ref_xpm );
385 
386 TOOL_ACTION EE_ACTIONS::editValue( "eeschema.InteractiveEdit.editValue",
387  AS_GLOBAL,
388  'V', LEGACY_HK_NAME( "Edit Symbol Value" ),
389  _( "Edit Value..." ), _( "Displays value field dialog" ),
390  edit_comp_value_xpm );
391 
392 TOOL_ACTION EE_ACTIONS::editFootprint( "eeschema.InteractiveEdit.editFootprint",
393  AS_GLOBAL,
394  'F', LEGACY_HK_NAME( "Edit Symbol Footprint" ),
395  _( "Edit Footprint..." ), _( "Displays footprint field dialog" ),
396  edit_comp_footprint_xpm );
397 
398 TOOL_ACTION EE_ACTIONS::autoplaceFields( "eeschema.InteractiveEdit.autoplaceFields",
399  AS_GLOBAL,
400  'O', LEGACY_HK_NAME( "Autoplace Fields" ),
401  _( "Autoplace Fields" ), _( "Runs the automatic placement algorithm on the symbol's fields" ),
402  autoplace_fields_xpm );
403 
404 TOOL_ACTION EE_ACTIONS::updateFieldsFromLibrary( "eeschema.InteractiveEdit.updateFieldsFromLibrary",
405  AS_GLOBAL, 0, "",
406  _( "Update Fields from Library..." ), _( "Sets symbol fields to original library values" ),
407  update_fields_xpm );
408 
409 TOOL_ACTION EE_ACTIONS::toggleDeMorgan( "eeschema.InteractiveEdit.toggleDeMorgan",
410  AS_GLOBAL, 0, "",
411  _( "DeMorgan Conversion" ), _( "Switch between DeMorgan representations" ),
412  morgan2_xpm );
413 
414 TOOL_ACTION EE_ACTIONS::showDeMorganStandard( "eeschema.InteractiveEdit.showDeMorganStandard",
415  AS_GLOBAL, 0, "",
416  _( "DeMorgan Standard" ), _( "Switch to standard DeMorgan representation" ),
417  morgan1_xpm );
418 
419 TOOL_ACTION EE_ACTIONS::showDeMorganAlternate( "eeschema.InteractiveEdit.showDeMorganAlternate",
420  AS_GLOBAL, 0, "",
421  _( "DeMorgan Alternate" ), _( "Switch to alternate DeMorgan representation" ),
422  morgan2_xpm );
423 
424 TOOL_ACTION EE_ACTIONS::toShapeSlash( "eeschema.InteractiveEdit.toShapeSlash",
425  AS_GLOBAL, 0, "",
426  _( "Set Bus Entry Shape /" ), _( "Change the bus entry shape to /" ),
427  change_entry_orient_xpm, AF_NONE, (void*) '/' );
428 
429 TOOL_ACTION EE_ACTIONS::toShapeBackslash( "eeschema.InteractiveEdit.toShapeBackslash",
430  AS_GLOBAL, 0, "",
431  _( "Set Bus Entry Shape \\" ), _( "Change the bus entry shape to \\" ),
432  change_entry_orient_xpm, AF_NONE, (void*) '\\' );
433 
434 TOOL_ACTION EE_ACTIONS::toLabel( "eeschema.InteractiveEdit.toLabel",
435  AS_GLOBAL, 0, "",
436  _( "Change to Label" ), _( "Change existing item to a label" ),
437  add_line_label_xpm, AF_NONE, (void*) SCH_LABEL_T );
438 
439 TOOL_ACTION EE_ACTIONS::toHLabel( "eeschema.InteractiveEdit.toHLabel",
440  AS_GLOBAL, 0, "",
441  _( "Change to Hierarchical Label" ), _( "Change existing item to a hierarchical label" ),
442  add_hierarchical_label_xpm, AF_NONE, (void*) SCH_HIER_LABEL_T );
443 
444 TOOL_ACTION EE_ACTIONS::toGLabel( "eeschema.InteractiveEdit.toGLabel",
445  AS_GLOBAL, 0, "",
446  _( "Change to Global Label" ), _( "Change existing item to a global label" ),
447  add_glabel_xpm, AF_NONE, (void*) SCH_GLOBAL_LABEL_T );
448 
449 TOOL_ACTION EE_ACTIONS::toText( "eeschema.InteractiveEdit.toText",
450  AS_GLOBAL, 0, "",
451  _( "Change to Text" ), _( "Change existing item to a text comment" ),
452  text_xpm, AF_NONE, (void*) SCH_TEXT_T );
453 
454 TOOL_ACTION EE_ACTIONS::cleanupSheetPins( "eeschema.InteractiveEdit.cleanupSheetPins",
455  AS_GLOBAL, 0, "",
456  _( "Cleanup Sheet Pins" ), _( "Delete unreferenced sheet pins" ),
457  nullptr );
458 
459 TOOL_ACTION EE_ACTIONS::editTextAndGraphics( "eeschema.InteractiveEdit.editTextAndGraphics",
460  AS_GLOBAL, 0, "",
461  _( "Edit Text & Graphics Properties..." ),
462  _( "Edit text and graphics properties globally across schematic" ),
463  reset_text_xpm );
464 
465 TOOL_ACTION EE_ACTIONS::symbolProperties( "eeschema.InteractiveEdit.symbolProperties",
466  AS_GLOBAL, 0, "",
467  _( "Symbol Properties..." ), _( "Displays symbol properties dialog" ),
468  part_properties_xpm );
469 
470 TOOL_ACTION EE_ACTIONS::pinTable( "eeschema.InteractiveEdit.pinTable",
471  AS_GLOBAL, 0, "",
472  _( "Pin Table..." ), _( "Displays pin table for bulk editing of pins" ),
473  pin_table_xpm );
474 
475 TOOL_ACTION EE_ACTIONS::deleteItemCursor( "eeschema.InteractiveEdit.deleteTool",
476  AS_GLOBAL, 0, "",
477  _( "Delete Tool" ), _( "Delete clicked items" ),
478  delete_xpm, AF_ACTIVATE );
479 
480 TOOL_ACTION EE_ACTIONS::breakWire( "eeschema.InteractiveEdit.breakWire",
481  AS_GLOBAL, 0, "",
482  _( "Break Wire" ), _( "Divide a wire into segments which can be dragged independently" ),
483  break_line_xpm );
484 
485 TOOL_ACTION EE_ACTIONS::breakBus( "eeschema.InteractiveEdit.breakBus",
486  AS_GLOBAL, 0, "",
487  _( "Break Bus" ), _( "Divide a bus into segments which can be dragged independently" ),
488  break_line_xpm );
489 
490 
491 // SCH_EDITOR_CONTROL
492 //
493 TOOL_ACTION EE_ACTIONS::restartMove( "eeschema.EditorControl.restartMove",
494  AS_GLOBAL );
495 
496 TOOL_ACTION EE_ACTIONS::simProbe( "eeschema.Simulation.probe",
497  AS_GLOBAL, 0, "",
498  _( "Add a simulator probe" ), "" );
499 
500 TOOL_ACTION EE_ACTIONS::simTune( "eeschema.Simulation.tune",
501  AS_GLOBAL, 0, "",
502  _( "Select a value to be tuned" ), "" );
503 
504 TOOL_ACTION EE_ACTIONS::highlightNet( "eeschema.EditorControl.highlightNet",
505  AS_GLOBAL,
506  '`', "",
507  _( "Highlight Net" ), _( "Highlight net under cursor" ),
508  net_highlight_schematic_xpm );
509 
510 TOOL_ACTION EE_ACTIONS::clearHighlight( "eeschema.EditorControl.clearHighlight",
511  AS_GLOBAL );
512 
513 TOOL_ACTION EE_ACTIONS::updateNetHighlighting( "eeschema.EditorControl.updateNetHighlighting",
514  AS_GLOBAL );
515 
516 TOOL_ACTION EE_ACTIONS::highlightNetCursor( "eeschema.EditorControl.highlightNetTool",
517  AS_GLOBAL, 0, "",
518  _( "Highlight Nets" ), _( "Highlight wires and pins of a net" ),
519  net_highlight_schematic_xpm, AF_ACTIVATE );
520 
521 TOOL_ACTION EE_ACTIONS::editWithLibEdit( "eeschema.EditorControl.editWithSymbolEditor",
522  AS_GLOBAL,
523  MD_CTRL + 'E', LEGACY_HK_NAME( "Edit with Symbol Editor" ),
524  _( "Edit with Symbol Editor" ), _( "Open the symbol editor to edit the symbol" ),
525  libedit_xpm );
526 
527 TOOL_ACTION EE_ACTIONS::editSymbolFields( "eeschema.EditorControl.editSymbolFields",
528  AS_GLOBAL, 0, "",
529  _( "Edit Symbol Fields..." ), _( "Bulk-edit fields of all symbols in schematic" ),
530  spreadsheet_xpm );
531 
532 TOOL_ACTION EE_ACTIONS::editSymbolLibraryLinks( "eeschema.EditorControl.editSymbolLibraryLinks",
533  AS_GLOBAL, 0, "",
534  _( "Edit Symbol Library Links..." ), _( "Edit links between schematic and library symbols" ),
535  edit_cmp_symb_links_xpm );
536 
537 TOOL_ACTION EE_ACTIONS::assignFootprints( "eeschema.EditorControl.assignFootprints",
538  AS_GLOBAL, 0, "",
539  _( "Assign Footprints..." ), _( "Run Cvpcb" ),
540  cvpcb_xpm );
541 
542 TOOL_ACTION EE_ACTIONS::importFPAssignments( "eeschema.EditorControl.importFPAssignments",
543  AS_GLOBAL, 0, "",
544  _( "Import Footprint Assignments..." ),
545  _( "Import symbol footprint assignments from .cmp file created by Pcbnew" ),
546  import_footprint_names_xpm );
547 
548 TOOL_ACTION EE_ACTIONS::annotate( "eeschema.EditorControl.annotate",
549  AS_GLOBAL, 0, "",
550  _( "Annotate Schematic..." ), _( "Fill in schematic symbol reference designators" ),
551  annotate_xpm );
552 
553 TOOL_ACTION EE_ACTIONS::showBusManager( "eeschema.EditorControl.showBusManager",
554  AS_GLOBAL, 0, "",
555  _( "Bus Definitions..." ), _( "Manage bus definitions" ),
556  bus_definition_tool_xpm );
557 
558 TOOL_ACTION EE_ACTIONS::drawSheetOnClipboard( "eeschema.EditorControl.drawSheetOnClipboard",
559  AS_GLOBAL, 0, "",
560  _( "Export Drawing to Clipboard" ), _( "Export drawing of current sheet to clipboard" ),
561  copy_xpm );
562 
563 TOOL_ACTION EE_ACTIONS::showPcbNew( "eeschema.EditorControl.showPcbNew",
564  AS_GLOBAL, 0, "",
565  _( "Switch to PCB Editor" ), _( "Open PCB in Pcbnew" ),
566  pcbnew_xpm );
567 
568 TOOL_ACTION EE_ACTIONS::exportNetlist( "eeschema.EditorControl.exportNetlist",
569  AS_GLOBAL, 0, "",
570  _( "Export Netlist..." ), _( "Export file containing netlist in one of several formats" ),
571  netlist_xpm );
572 
573 TOOL_ACTION EE_ACTIONS::generateBOM( "eeschema.EditorControl.generateBOM",
574  AS_GLOBAL, 0, "",
575  _( "Generate BOM..." ), _( "Generate a bill of materials for the current schematic" ),
576  bom_xpm );
577 
578 TOOL_ACTION EE_ACTIONS::enterSheet( "eeschema.EditorControl.enterSheet",
579  AS_GLOBAL, 0, "",
580  _( "Enter Sheet" ), _( "Display the selected sheet's contents in the Eeschema window" ),
581  enter_sheet_xpm );
582 
583 TOOL_ACTION EE_ACTIONS::leaveSheet( "eeschema.EditorControl.leaveSheet",
584  AS_GLOBAL,
585  MD_ALT + WXK_BACK, LEGACY_HK_NAME( "Leave Sheet" ),
586  _( "Leave Sheet" ), _( "Display the parent sheet in the Eeschema window" ),
587  leave_sheet_xpm );
588 
589 TOOL_ACTION EE_ACTIONS::navigateHierarchy( "eeschema.EditorControl.navigateHierarchy",
590  AS_GLOBAL, 0, "",
591  _( "Show Hierarchy Navigator" ), "",
592  hierarchy_nav_xpm );
593 
594 TOOL_ACTION EE_ACTIONS::explicitCrossProbe( "eeschema.EditorControl.explicitCrossProbe",
595  AS_GLOBAL, 0, "",
596  _( "Highlight on PCB" ), _( "Highlight corresponding items in PCBNew" ),
597  select_same_sheet_xpm );
598 
599 TOOL_ACTION EE_ACTIONS::toggleHiddenPins( "eeschema.EditorControl.showHiddenPins",
600  AS_GLOBAL, 0, "",
601  _( "Show Hidden Pins" ), "",
602  hidden_pin_xpm );
603 
604 TOOL_ACTION EE_ACTIONS::toggleForceHV( "eeschema.EditorControl.forceHVLines",
605  AS_GLOBAL, 0, "",
606  _( "Force H/V Wires and Busses" ), "",
607  lines90_xpm );
608 
609 
610 // SCH_LINE_WIRE_BUS_TOOL
611 //
613  "eeschema.InteractiveDrawingLineWireBus.addNeededJunctions", AS_ACTIVE, 0, "",
614  _( "Add Junctions to Selection where needed" ), "", nullptr, AF_ACTIVATE );
615 
616 TOOL_ACTION EE_ACTIONS::drawWire( "eeschema.InteractiveDrawingLineWireBus.drawWires",
617  AS_GLOBAL,
618  'W', LEGACY_HK_NAME( "Begin Wire" ),
619  _( "Add Wire" ), _( "Add a wire" ),
620  add_line_xpm, AF_ACTIVATE, (void*) LAYER_WIRE );
621 
622 TOOL_ACTION EE_ACTIONS::drawBus( "eeschema.InteractiveDrawingLineWireBus.drawBusses",
623  AS_GLOBAL,
624  'B', LEGACY_HK_NAME( "Begin Bus" ),
625  _( "Add Bus" ), _( "Add a bus" ),
626  add_bus_xpm, AF_ACTIVATE, (void*) LAYER_BUS );
627 
628 TOOL_ACTION EE_ACTIONS::unfoldBus( "eeschema.InteractiveDrawingLineWireBus.unfoldBus",
629  AS_GLOBAL,
630  'C', LEGACY_HK_NAME( "Unfold from Bus" ),
631  _( "Unfold from Bus" ), _( "Break a wire out of a bus" ),
632  nullptr, AF_ACTIVATE );
633 
634 TOOL_ACTION EE_ACTIONS::drawLines( "eeschema.InteractiveDrawingLineWireBus.drawLines",
635  AS_GLOBAL,
636  'I', LEGACY_HK_NAME( "Add Graphic PolyLine" ),
637  _( "Add Lines" ), _( "Add connected graphic lines" ),
638  add_dashed_line_xpm, AF_ACTIVATE, (void*) LAYER_NOTES );
639 
640 TOOL_ACTION EE_ACTIONS::finishLineWireOrBus( "eeschema.InteractiveDrawingLineWireBus.finish",
641  AS_GLOBAL,
642  'K', LEGACY_HK_NAME( "End Line Wire Bus" ),
643  _( "Finish Wire or Bus" ), _( "Complete drawing at current segment" ),
644  checked_ok_xpm, AF_NONE );
645 
646 TOOL_ACTION EE_ACTIONS::finishWire( "eeschema.InteractiveDrawingLineWireBus.finishWire",
647  AS_GLOBAL, 0, "",
648  _( "Finish Wire" ), _( "Complete wire with current segment" ),
649  checked_ok_xpm, AF_NONE );
650 
651 TOOL_ACTION EE_ACTIONS::finishBus( "eeschema.InteractiveDrawingLineWireBus.finishBus",
652  AS_GLOBAL, 0, "",
653  _( "Finish Bus" ), _( "Complete bus with current segment" ),
654  checked_ok_xpm, AF_NONE );
655 
656 TOOL_ACTION EE_ACTIONS::finishLine( "eeschema.InteractiveDrawingLineWireBus.finishLine",
657  AS_GLOBAL, 0, "",
658  _( "Finish Lines" ), _( "Complete connected lines with current segment" ),
659  checked_ok_xpm, AF_NONE );
660 
661 
662 // SCH_MOVE_TOOL
663 //
664 TOOL_ACTION EE_ACTIONS::move( "eeschema.InteractiveMove.move",
665  AS_GLOBAL,
666  'M', LEGACY_HK_NAME( "Move Item" ),
667  _( "Move" ), _( "Moves the selected item(s)" ), move_xpm, AF_ACTIVATE );
668 
669 TOOL_ACTION EE_ACTIONS::drag( "eeschema.InteractiveMove.drag",
670  AS_GLOBAL,
671  'G', LEGACY_HK_NAME( "Drag Item" ),
672  _( "Drag" ), _( "Drags the selected item(s)" ), move_xpm, AF_ACTIVATE );
673 
674 TOOL_ACTION EE_ACTIONS::moveActivate( "eeschema.InteractiveMove",
675  AS_GLOBAL, 0, "",
676  _( "Move Activate" ), "", move_xpm, AF_ACTIVATE );
677 
678 
static TOOL_ACTION moveActivate
Definition: ee_actions.h:114
static TOOL_ACTION pinTable
Definition: ee_actions.h:150
static TOOL_ACTION properties
Definition: ee_actions.h:122
static TOOL_ACTION showDatasheet
Inspection and Editing.
Definition: ee_actions.h:143
static TOOL_ACTION placeSymbolText
Definition: ee_actions.h:105
static TOOL_ACTION drawSymbolLines
Definition: ee_actions.h:109
static TOOL_ACTION deleteItemCursor
Definition: ee_actions.h:96
static TOOL_ACTION exportNetlist
Definition: ee_actions.h:159
static TOOL_ACTION navigateHierarchy
Definition: ee_actions.h:178
static TOOL_ACTION finishSheet
Definition: ee_actions.h:101
static TOOL_ACTION assignFootprints
Definition: ee_actions.h:152
static TOOL_ACTION toggleDeMorgan
Definition: ee_actions.h:127
static TOOL_ACTION pasteSymbol
Definition: ee_actions.h:171
#define LEGACY_HK_NAME(x)
Definition: actions.h:35
static TOOL_ACTION breakBus
Definition: ee_actions.h:138
static TOOL_ACTION runERC
Definition: ee_actions.h:144
static TOOL_ACTION toShapeBackslash
Definition: ee_actions.h:132
static TOOL_ACTION addItemsToSel
Selects a list of items (specified as the event parameter)
Definition: ee_actions.h:64
static TOOL_ACTION duplicateSymbol
Definition: ee_actions.h:167
static TOOL_ACTION pointEditorAddCorner
Definition: ee_actions.h:139
static TOOL_ACTION restartMove
Definition: ee_actions.h:185
static TOOL_ACTION mirrorY
Definition: ee_actions.h:121
static TOOL_ACTION placeHierLabel
Definition: ee_actions.h:89
static TOOL_ACTION placeJunction
Definition: ee_actions.h:84
static TOOL_ACTION selectConnection
If current selection is a wire or bus, expand to entire connection.
Definition: ee_actions.h:54
static TOOL_ACTION unfoldBus
Definition: ee_actions.h:82
static TOOL_ACTION finishLineWireOrBus
Definition: ee_actions.h:97
static TOOL_ACTION toText
Definition: ee_actions.h:136
static TOOL_ACTION autoplaceFields
Definition: ee_actions.h:126
static TOOL_ACTION placeBusBusEntry
Definition: ee_actions.h:86
static TOOL_ACTION placeBusWireEntry
Definition: ee_actions.h:85
static TOOL_ACTION showComponentTree
Definition: ee_actions.h:191
static TOOL_ACTION removeItemsFromSel
Definition: ee_actions.h:65
static TOOL_ACTION showDeMorganAlternate
Definition: ee_actions.h:129
static TOOL_ACTION updateNetHighlighting
Definition: ee_actions.h:204
static TOOL_ACTION pushPinNameSize
Definition: ee_actions.h:188
static TOOL_ACTION breakWire
Definition: ee_actions.h:137
static TOOL_ACTION rotateCW
Definition: ee_actions.h:118
static TOOL_ACTION finishLine
Definition: ee_actions.h:100
static TOOL_ACTION drawSymbolRectangle
Definition: ee_actions.h:106
static TOOL_ACTION leaveSheet
Definition: ee_actions.h:177
static TOOL_ACTION removeItemFromSel
Definition: ee_actions.h:61
static TOOL_ACTION runSimulation
Definition: ee_actions.h:161
static TOOL_ACTION showMarkerInfo
Definition: ee_actions.h:145
static TOOL_ACTION annotate
Definition: ee_actions.h:146
static TOOL_ACTION drawSheet
Definition: ee_actions.h:90
static TOOL_ACTION showPcbNew
Definition: ee_actions.h:157
static TOOL_ACTION cleanupSheetPins
Definition: ee_actions.h:181
static TOOL_ACTION rotateCCW
Definition: ee_actions.h:119
static TOOL_ACTION showBusManager
Definition: ee_actions.h:153
static TOOL_ACTION editSymbolFields
Definition: ee_actions.h:147
static TOOL_ACTION editSymbol
Definition: ee_actions.h:166
static TOOL_ACTION placeSymbolPin
Definition: ee_actions.h:104
Action belongs to a particular tool (i.e. a part of a pop-up menu)
Definition: tool_event.h:143
static TOOL_ACTION editFootprint
Definition: ee_actions.h:125
static TOOL_ACTION placePower
Definition: ee_actions.h:79
static TOOL_ACTION addItemToSel
Selects an item (specified as the event parameter).
Definition: ee_actions.h:60
static TOOL_ACTION pointEditorRemoveCorner
Definition: ee_actions.h:140
static TOOL_ACTION drawWire
Definition: ee_actions.h:80
static TOOL_ACTION simTune
Definition: ee_actions.h:199
static TOOL_ACTION placeSheetPin
Definition: ee_actions.h:91
static TOOL_ACTION explicitCrossProbe
Definition: ee_actions.h:186
static TOOL_ACTION placeSchematicText
Definition: ee_actions.h:93
static TOOL_ACTION symbolProperties
Definition: ee_actions.h:149
static TOOL_ACTION placeImage
Definition: ee_actions.h:95
static TOOL_ACTION repeatDrawItem
Definition: ee_actions.h:117
static TOOL_ACTION drawSymbolCircle
Definition: ee_actions.h:107
static TOOL_ACTION deleteSymbol
Definition: ee_actions.h:168
static TOOL_ACTION cutSymbol
Definition: ee_actions.h:169
static TOOL_ACTION pushPinLength
Definition: ee_actions.h:187
static TOOL_ACTION mirrorX
Definition: ee_actions.h:120
static TOOL_ACTION selectionActivate
Activation of the selection tool.
Definition: ee_actions.h:47
static TOOL_ACTION importSymbol
Definition: ee_actions.h:172
static TOOL_ACTION importSheetPin
Definition: ee_actions.h:92
static TOOL_ACTION clearSelection
Clears the current selection.
Definition: ee_actions.h:57
static TOOL_ACTION placeSymbol
Definition: ee_actions.h:78
static TOOL_ACTION finishDrawing
Definition: ee_actions.h:111
static TOOL_ACTION addSymbolToSchematic
Definition: ee_actions.h:162
static TOOL_ACTION addNeededJunctions
Definition: ee_actions.h:76
static TOOL_ACTION editTextAndGraphics
Definition: ee_actions.h:182
All active tools
Definition: tool_event.h:144
static TOOL_ACTION showDeMorganStandard
Definition: ee_actions.h:128
static TOOL_ACTION showElectricalTypes
Definition: ee_actions.h:190
static TOOL_ACTION highlightNetCursor
Definition: ee_actions.h:205
static TOOL_ACTION exportSymbolView
Definition: ee_actions.h:194
static TOOL_ACTION drawBus
Definition: ee_actions.h:81
static TOOL_ACTION updateFieldsFromLibrary
Definition: ee_actions.h:151
static TOOL_ACTION newSymbol
Definition: ee_actions.h:165
static TOOL_ACTION placeLabel
Definition: ee_actions.h:87
static TOOL_ACTION exportSymbol
Definition: ee_actions.h:173
static TOOL_ACTION copySymbol
Definition: ee_actions.h:170
static TOOL_ACTION editValue
Definition: ee_actions.h:124
Board layer functions and definitions.
static TOOL_ACTION toggleHiddenPins
Definition: ee_actions.h:183
static TOOL_ACTION importFPAssignments
Definition: ee_actions.h:158
static TOOL_ACTION drag
Definition: ee_actions.h:116
static TOOL_ACTION selectionMenu
Runs a selection menu to select from a list of items.
Definition: ee_actions.h:68
Class TOOL_ACTION.
Definition: tool_action.h:46
static TOOL_ACTION placeNoConnect
Definition: ee_actions.h:83
static TOOL_ACTION selectNode
Select the junction, wire or bus segment under the cursor.
Definition: ee_actions.h:50
static TOOL_ACTION drawSymbolArc
Definition: ee_actions.h:108
static TOOL_ACTION drawSheetOnClipboard
Definition: ee_actions.h:193
static TOOL_ACTION enterSheet
Definition: ee_actions.h:176
static TOOL_ACTION clearHighlight
Definition: ee_actions.h:203
static TOOL_ACTION pushPinNumSize
Definition: ee_actions.h:189
static TOOL_ACTION editWithLibEdit
Definition: ee_actions.h:156
static TOOL_ACTION move
Definition: ee_actions.h:115
static TOOL_ACTION simProbe
Definition: ee_actions.h:198
static TOOL_ACTION toggleSyncedPinsMode
Definition: ee_actions.h:184
static TOOL_ACTION toLabel
Definition: ee_actions.h:133
static TOOL_ACTION generateBOM
Definition: ee_actions.h:160
static TOOL_ACTION drawLines
Definition: ee_actions.h:94
static TOOL_ACTION highlightNet
Definition: ee_actions.h:202
static TOOL_ACTION toHLabel
Definition: ee_actions.h:134
#define _(s)
Definition: ee_actions.cpp:36
static TOOL_ACTION editReference
Definition: ee_actions.h:123
static TOOL_ACTION placeGlobalLabel
Definition: ee_actions.h:88
static TOOL_ACTION editSymbolLibraryLinks
Definition: ee_actions.h:148
static TOOL_ACTION finishBus
Definition: ee_actions.h:99
static TOOL_ACTION toggleForceHV
Definition: ee_actions.h:192
static const char * text_xpm[]
static TOOL_ACTION exportSymbolAsSVG
Definition: ee_actions.h:195
static TOOL_ACTION toGLabel
Definition: ee_actions.h:135
static TOOL_ACTION finishWire
Definition: ee_actions.h:98
static TOOL_ACTION placeSymbolAnchor
Definition: ee_actions.h:110
static TOOL_ACTION toShapeSlash
Definition: ee_actions.h:131