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