KiCad PCB EDA Suite
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 <fctsys.h>
26 #include <tool/actions.h>
27 #include <bitmaps.h>
28 #include <frame_type.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 TOOL_ACTION ACTIONS::doNew( "common.Control.new",
39  AS_GLOBAL,
40  MD_CTRL + 'N', LEGACY_HK_NAME( "New" ),
41  _( "New..." ), _( "Create a new document in the editor" ),
43 
44 TOOL_ACTION ACTIONS::newLibrary( "common.Control.newLibrary",
45  AS_GLOBAL,
46  0, "",
47  _( "New Library..." ), _( "Create a new library folder" ),
49 
50 TOOL_ACTION ACTIONS::addLibrary( "common.Control.addLibrary",
51  AS_GLOBAL,
52  0, "",
53  _( "Add Library..." ), _( "Add an existing library folder" ),
55 
56 TOOL_ACTION ACTIONS::open( "common.Control.open",
57  AS_GLOBAL,
58  MD_CTRL + 'O', LEGACY_HK_NAME( "Open" ),
59  _( "Open..." ), _( "Open existing document" ),
60  directory_xpm );
61 
62 TOOL_ACTION ACTIONS::save( "common.Control.save",
63  AS_GLOBAL,
64  MD_CTRL + 'S', LEGACY_HK_NAME( "Save" ),
65  _( "Save" ), _( "Save changes" ),
66  save_xpm );
67 
68 TOOL_ACTION ACTIONS::saveAs( "common.Control.saveAs",
69  AS_GLOBAL,
70  MD_SHIFT + MD_CTRL + 'S', LEGACY_HK_NAME( "Save As" ),
71  _( "Save As..." ), _( "Save current document to another location" ),
72  save_as_xpm );
73 
74 TOOL_ACTION ACTIONS::saveCopyAs( "common.Control.saveCopyAs",
75  AS_GLOBAL,
76  0, "",
77  _( "Save Copy As..." ), _( "Save a copy of the current document to another location" ),
78  save_as_xpm );
79 
80 TOOL_ACTION ACTIONS::saveAll( "common.Control.saveAll",
81  AS_GLOBAL,
82  0, "",
83  _( "Save All" ), _( "Save all changes" ),
84  save_xpm );
85 
86 TOOL_ACTION ACTIONS::revert( "common.Control.revert",
87  AS_GLOBAL,
88  0, "",
89  _( "Revert" ), _( "Throw away changes" ),
90  undo_xpm );
91 
92 TOOL_ACTION ACTIONS::pageSettings( "common.Control.pageSettings",
93  AS_GLOBAL,
94  0, "",
95  _( "Page Settings..." ), _( "Settings for paper size and title block info" ),
96  sheetset_xpm );
97 
98 TOOL_ACTION ACTIONS::print( "common.Control.print",
99  AS_GLOBAL,
100  MD_CTRL + 'P', LEGACY_HK_NAME( "Print" ),
101  _( "Print..." ), _( "Print" ),
103 
104 TOOL_ACTION ACTIONS::plot( "common.Control.plot",
105  AS_GLOBAL,
106  0, "",
107  _( "Plot..." ), _( "Plot" ),
108  plot_xpm );
109 
110 TOOL_ACTION ACTIONS::quit( "common.Control.quit",
111  AS_GLOBAL,
112  0, "", // Not currently in use due to wxWidgets crankiness
113  _( "Quit" ), _( "Close the current editor" ),
114  exit_xpm );
115 
116 // Generic Edit Actions
117 TOOL_ACTION ACTIONS::cancelInteractive( "common.Interactive.cancel",
118  AS_GLOBAL,
119  0, "", // ESC key is handled in the dispatcher
120  _( "Cancel" ), _( "Cancel current tool" ),
121  cancel_xpm, AF_NONE );
122 
123 TOOL_ACTION ACTIONS::showContextMenu( "common.Control.showContextMenu",
124  AS_GLOBAL,
125  0, "",
126  _( "Show Context Menu" ), _( "Perform the right-mouse-button action" ),
127  nullptr, AF_NONE, (void*) CURSOR_RIGHT_CLICK );
128 
129 TOOL_ACTION ACTIONS::updateMenu( "common.Interactive.updateMenu",
130  AS_GLOBAL );
131 
132 TOOL_ACTION ACTIONS::undo( "common.Interactive.undo",
133  AS_GLOBAL,
134  MD_CTRL + 'Z', LEGACY_HK_NAME( "Undo" ),
135  _( "Undo" ), _( "Undo last edit" ),
136  undo_xpm );
137 
138 TOOL_ACTION ACTIONS::redo( "common.Interactive.redo",
139  AS_GLOBAL,
140 #if defined( __WXMAC__ )
141  MD_SHIFT + MD_CTRL + 'Z',
142 #else
143  MD_CTRL + 'Y',
144 #endif
145  LEGACY_HK_NAME( "Redo" ),
146  _( "Redo" ), _( "Redo last edit" ),
147  redo_xpm );
148 
149 TOOL_ACTION ACTIONS::cut( "common.Interactive.cut",
150  AS_GLOBAL,
151  MD_CTRL + 'X', LEGACY_HK_NAME( "Cut" ),
152  _( "Cut" ), _( "Cut selected item(s) to clipboard" ),
153  cut_xpm );
154 
155 TOOL_ACTION ACTIONS::copy( "common.Interactive.copy",
156  AS_GLOBAL,
157  MD_CTRL + 'C', LEGACY_HK_NAME( "Copy" ),
158  _( "Copy" ), _( "Copy selected item(s) to clipboard" ),
159  copy_xpm );
160 
161 TOOL_ACTION ACTIONS::paste( "common.Interactive.paste",
162  AS_GLOBAL,
163  MD_CTRL + 'V', LEGACY_HK_NAME( "Paste" ),
164  _( "Paste" ), _( "Paste clipboard into schematic" ),
165  paste_xpm );
166 
167 TOOL_ACTION ACTIONS::pasteSpecial( "common.Interactive.pasteSpecial",
168  AS_GLOBAL, 0, "",
169  _( "Paste Special..." ), _( "Paste clipboard into schematic with options" ),
170  paste_xpm );
171 
172 TOOL_ACTION ACTIONS::duplicate( "common.Interactive.duplicate",
173  AS_GLOBAL,
174  MD_CTRL + 'D', LEGACY_HK_NAME( "Duplicate" ),
175  _( "Duplicate" ), _( "Duplicates the selected item(s)" ),
176  duplicate_xpm );
177 
178 TOOL_ACTION ACTIONS::doDelete( "common.Interactive.delete",
179  AS_GLOBAL,
180  WXK_DELETE, LEGACY_HK_NAME( "Delete Item" ),
181  _( "Delete" ), _( "Deletes selected item(s)" ),
182  delete_xpm );
183 
184 TOOL_ACTION ACTIONS::deleteTool( "common.Interactive.deleteTool",
185  AS_GLOBAL, 0, "",
186  _( "Interactive Delete Tool" ), _( "Delete clicked items" ),
188 
189 TOOL_ACTION ACTIONS::activatePointEditor( "common.Control.activatePointEditor",
190  AS_GLOBAL );
191 
192 TOOL_ACTION ACTIONS::find( "common.Interactive.find",
193  AS_GLOBAL,
194  MD_CTRL + 'F', LEGACY_HK_NAME( "Find" ),
195  _( "Find" ), _( "Find text" ),
196  find_xpm );
197 
198 TOOL_ACTION ACTIONS::findAndReplace( "common.Interactive.findAndReplace",
199  AS_GLOBAL,
200  MD_CTRL + MD_ALT + 'F', LEGACY_HK_NAME( "Find and Replace" ),
201  _( "Find and Replace" ), _( "Find and replace text" ),
203 
204 TOOL_ACTION ACTIONS::findNext( "common.Interactive.findNext",
205  AS_GLOBAL,
206  WXK_F5, LEGACY_HK_NAME( "Find Next" ),
207  _( "Find Next" ), _( "Find next match" ),
208  find_xpm );
209 
210 TOOL_ACTION ACTIONS::findNextMarker( "common.Interactive.findNextMarker",
211  AS_GLOBAL,
212  MD_SHIFT + WXK_F5, LEGACY_HK_NAME( "Find Next Marker" ),
213  _( "Find Next Marker" ), "",
214  find_xpm );
215 
216 TOOL_ACTION ACTIONS::replaceAndFindNext( "common.Interactive.replaceAndFindNext",
217  AS_GLOBAL,
218  0, "",
219  _( "Replace and Find Next" ), _( "Replace current match and find next" ),
221 
222 TOOL_ACTION ACTIONS::replaceAll( "common.Interactive.replaceAll",
223  AS_GLOBAL,
224  0, "",
225  _( "Replace All" ), _( "Replace all matches" ),
227 
228 TOOL_ACTION ACTIONS::updateFind( "common.Control.updateFind",
229  AS_GLOBAL );
230 
231 // View Controls
232 TOOL_ACTION ACTIONS::zoomRedraw( "common.Control.zoomRedraw",
233  AS_GLOBAL,
234 #if defined( __WXMAC__ )
235  MD_CTRL + 'R',
236 #else
237  WXK_F3,
238 #endif
239  LEGACY_HK_NAME( "Zoom Redraw" ),
240  _( "Refresh" ), _( "Refresh" ),
241  zoom_redraw_xpm );
242 
243 TOOL_ACTION ACTIONS::zoomFitScreen( "common.Control.zoomFitScreen",
244  AS_GLOBAL,
245 #if defined( __WXMAC__ )
246  MD_CTRL + '0',
247 #else
248  WXK_HOME,
249 #endif
250  LEGACY_HK_NAME( "Zoom Auto" ),
251  _( "Zoom to Fit" ), _( "Zoom to Fit" ),
253 
254 TOOL_ACTION ACTIONS::zoomIn( "common.Control.zoomIn",
255  AS_GLOBAL,
256 #if defined( __WXMAC__ )
257  MD_CTRL + '+',
258 #else
259  WXK_F1,
260 #endif
261  LEGACY_HK_NAME( "Zoom In" ),
262  _( "Zoom In at Cursor" ), _( "Zoom In at Cursor" ),
263  zoom_in_xpm );
264 
265 TOOL_ACTION ACTIONS::zoomOut( "common.Control.zoomOut",
266  AS_GLOBAL,
267 #if defined( __WXMAC__ )
268  MD_CTRL + '-',
269 #else
270  WXK_F2,
271 #endif
272  LEGACY_HK_NAME( "Zoom Out" ),
273  _( "Zoom Out at Cursor" ), _( "Zoom Out at Cursor" ),
274  zoom_out_xpm );
275 
276 TOOL_ACTION ACTIONS::zoomInCenter( "common.Control.zoomInCenter",
277  AS_GLOBAL,
278  0, "",
279  _( "Zoom In" ), _( "Zoom In" ),
280  zoom_in_xpm );
281 
282 TOOL_ACTION ACTIONS::zoomOutCenter( "common.Control.zoomOutCenter",
283  AS_GLOBAL,
284  0, "",
285  _( "Zoom Out" ), _( "Zoom Out" ),
286  zoom_out_xpm );
287 
288 TOOL_ACTION ACTIONS::zoomCenter( "common.Control.zoomCenter",
289  AS_GLOBAL,
290  WXK_F4, LEGACY_HK_NAME( "Zoom Center" ),
291  _( "Center" ), _( "Center" ),
293 
294 TOOL_ACTION ACTIONS::zoomTool( "common.Control.zoomTool",
295  AS_GLOBAL,
296  MD_CTRL + WXK_F5, LEGACY_HK_NAME( "Zoom to Selection" ),
297  _( "Zoom to Selection" ), _( "Zoom to Selection" ),
299 
300 TOOL_ACTION ACTIONS::zoomPreset( "common.Control.zoomPreset",
301  AS_GLOBAL );
302 
303 TOOL_ACTION ACTIONS::centerContents( "common.Control.centerContents",
304  AS_GLOBAL );
305 
306 // Cursor control
307 TOOL_ACTION ACTIONS::cursorUp( "common.Control.cursorUp",
308  AS_GLOBAL,
309  WXK_UP, "",
310  _( "Cursor Up" ), "",
311  nullptr, AF_NONE, (void*) CURSOR_UP );
312 
313 TOOL_ACTION ACTIONS::cursorDown( "common.Control.cursorDown",
314  AS_GLOBAL,
315  WXK_DOWN, "",
316  _( "Cursor Down" ), "" ,
317  nullptr, AF_NONE, (void*) CURSOR_DOWN );
318 
319 TOOL_ACTION ACTIONS::cursorLeft( "common.Control.cursorLeft",
320  AS_GLOBAL,
321  WXK_LEFT, "",
322  _( "Cursor Left" ), "" ,
323  nullptr, AF_NONE, (void*) CURSOR_LEFT );
324 
325 TOOL_ACTION ACTIONS::cursorRight( "common.Control.cursorRight",
326  AS_GLOBAL,
327  WXK_RIGHT, "",
328  _( "Cursor Right" ), "" ,
329  nullptr, AF_NONE, (void*) CURSOR_RIGHT );
330 
331 
332 TOOL_ACTION ACTIONS::cursorUpFast( "common.Control.cursorUpFast",
333  AS_GLOBAL,
334  MD_CTRL + WXK_UP, "",
335  _( "Cursor Up Fast" ), "",
336  nullptr, AF_NONE, (void*) ( CURSOR_UP | CURSOR_FAST_MOVE ) );
337 
338 TOOL_ACTION ACTIONS::cursorDownFast( "common.Control.cursorDownFast",
339  AS_GLOBAL,
340  MD_CTRL + WXK_DOWN, "",
341  _( "Cursor Down Fast" ), "" ,
342  nullptr, AF_NONE, (void*) ( CURSOR_DOWN | CURSOR_FAST_MOVE ) );
343 
344 TOOL_ACTION ACTIONS::cursorLeftFast( "common.Control.cursorLeftFast",
345  AS_GLOBAL,
346  MD_CTRL + WXK_LEFT, "",
347  _( "Cursor Left Fast" ), "" ,
348  nullptr, AF_NONE, (void*) ( CURSOR_LEFT | CURSOR_FAST_MOVE ) );
349 
350 TOOL_ACTION ACTIONS::cursorRightFast( "common.Control.cursorRightFast",
351  AS_GLOBAL,
352  MD_CTRL + WXK_RIGHT, "",
353  _( "Cursor Right Fast" ), "" ,
354  nullptr, AF_NONE, (void*) ( CURSOR_RIGHT | CURSOR_FAST_MOVE ) );
355 
356 TOOL_ACTION ACTIONS::cursorClick( "common.Control.cursorClick",
357  AS_GLOBAL,
358  WXK_RETURN, LEGACY_HK_NAME( "Mouse Left Click" ),
359  _( "Click" ), _( "Performs left mouse button click" ),
360  nullptr, AF_NONE, (void*) CURSOR_CLICK );
361 
362 TOOL_ACTION ACTIONS::cursorDblClick( "common.Control.cursorDblClick",
363  AS_GLOBAL,
364  WXK_END, LEGACY_HK_NAME( "Mouse Left Double Click" ),
365  _( "Double-click" ), _( "Performs left mouse button double-click" ),
366  nullptr, AF_NONE, (void*) CURSOR_DBL_CLICK );
367 
368 TOOL_ACTION ACTIONS::refreshPreview( "common.Control.refreshPreview",
369  AS_GLOBAL );
370 
371 TOOL_ACTION ACTIONS::pinLibrary( "common.Control.pinLibrary",
372  AS_GLOBAL, 0, "",
373  _( "Pin Library" ), "Keep the library at the top of the list",
374  flag_xpm );
375 
376 TOOL_ACTION ACTIONS::unpinLibrary( "common.Control.unpinLibrary",
377  AS_GLOBAL, 0, "",
378  _( "Unpin Library" ), "No longer keep the library at the top of the list",
379  flag_remove_xpm );
380 
381 TOOL_ACTION ACTIONS::panUp( "common.Control.panUp",
382  AS_GLOBAL,
383  MD_SHIFT + WXK_UP, "",
384  _( "Pan Up" ), "",
385  nullptr, AF_NONE, (void*) CURSOR_UP );
386 
387 TOOL_ACTION ACTIONS::panDown( "common.Control.panDown",
388  AS_GLOBAL,
389  MD_SHIFT + WXK_DOWN, "",
390  _( "Pan Down" ), "" ,
391  nullptr, AF_NONE, (void*) CURSOR_DOWN );
392 
393 TOOL_ACTION ACTIONS::panLeft( "common.Control.panLeft",
394  AS_GLOBAL,
395  MD_SHIFT + WXK_LEFT, "",
396  _( "Pan Left" ), "" ,
397  nullptr, AF_NONE, (void*) CURSOR_LEFT );
398 
399 TOOL_ACTION ACTIONS::panRight( "common.Control.panRight",
400  AS_GLOBAL,
401  MD_SHIFT + WXK_RIGHT, "",
402  _( "Pan Right" ), "" ,
403  nullptr, AF_NONE, (void*) CURSOR_RIGHT );
404 
405 // Grid control
406 TOOL_ACTION ACTIONS::gridFast1( "common.Control.gridFast1",
407  AS_GLOBAL,
408  MD_ALT + '1', LEGACY_HK_NAME( "Switch Grid To Fast Grid1" ),
409  _( "Switch to Fast Grid 1" ), "" );
410 
411 TOOL_ACTION ACTIONS::gridFast2( "common.Control.gridFast2",
412  AS_GLOBAL,
413  MD_ALT + '2', LEGACY_HK_NAME( "Switch Grid To Fast Grid2" ),
414  _( "Switch to Fast Grid 2" ), "" );
415 
416 TOOL_ACTION ACTIONS::gridNext( "common.Control.gridNext",
417  AS_GLOBAL,
418  'N', LEGACY_HK_NAME( "Switch Grid To Next" ),
419  _("Switch to Next Grid" ), "" );
420 
421 TOOL_ACTION ACTIONS::gridPrev( "common.Control.gridPrev",
422  AS_GLOBAL, MD_SHIFT + 'N', LEGACY_HK_NAME( "Switch Grid To Previous" ),
423  _( "Switch to Previous Grid" ), "" );
424 
425 TOOL_ACTION ACTIONS::gridSetOrigin( "common.Control.gridSetOrigin",
426  AS_GLOBAL,
427  'S', LEGACY_HK_NAME( "Set Grid Origin" ),
428  _( "Grid Origin" ), _( "Set the grid origin point" ),
430 
431 TOOL_ACTION ACTIONS::gridResetOrigin( "common.Control.gridResetOrigin",
432  AS_GLOBAL,
433  'Z', LEGACY_HK_NAME( "Reset Grid Origin" ),
434  _( "Reset Grid Origin" ), "" );
435 
436 TOOL_ACTION ACTIONS::gridPreset( "common.Control.gridPreset",
437  AS_GLOBAL );
438 
439 TOOL_ACTION ACTIONS::toggleGrid( "common.Control.toggleGrid",
440  AS_GLOBAL, 0, "",
441  _( "Show Grid" ), _( "Display grid dots or lines in the edit window" ),
442  grid_xpm );
443 
444 TOOL_ACTION ACTIONS::gridProperties( "common.Control.gridProperties",
445  AS_GLOBAL, 0, "",
446  _( "Grid Properties..." ), _( "Set grid dimensions" ),
447  grid_select_xpm );
448 
449 TOOL_ACTION ACTIONS::imperialUnits( "common.Control.imperialUnits",
450  AS_GLOBAL, 0, "",
451  _( "Imperial" ), _( "Use inches and mils" ),
452  unit_inch_xpm );
453 
454 TOOL_ACTION ACTIONS::metricUnits( "common.Control.metricUnits",
455  AS_GLOBAL, 0, "",
456  _( "Metric" ), _( "Use millimeters" ),
457  unit_mm_xpm );
458 
459 TOOL_ACTION ACTIONS::toggleUnits( "common.Control.toggleUnits",
460  AS_GLOBAL,
461  MD_CTRL + 'U', LEGACY_HK_NAME( "Switch Units" ),
462  _( "Switch units" ), _( "Switch between inches and millimeters" ),
463  unit_mm_xpm );
464 
465 TOOL_ACTION ACTIONS::togglePolarCoords( "common.Control.togglePolarCoords",
466  AS_GLOBAL, 0, "",
467  _( "Polar Coordinates" ), _( "Switch between polar and cartesian coordinate systems" ),
468  polar_coord_xpm );
469 
470 TOOL_ACTION ACTIONS::resetLocalCoords( "common.Control.resetLocalCoords",
471  AS_GLOBAL,
472  ' ', LEGACY_HK_NAME( "Reset Local Coordinates" ),
473  _( "Reset Local Coordinates" ), "" );
474 
475 TOOL_ACTION ACTIONS::toggleCursor( "common.Control.toggleCursor",
476  AS_GLOBAL,
477  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
478  MD_CTRL + MD_SHIFT + 'X', LEGACY_HK_NAME( "Toggle Cursor Display (Modern Toolset only)" ),
479  _( "Always Show Cursor" ), _( "Display crosshairs even in selection tool" ),
480  cursor_xpm );
481 
482 TOOL_ACTION ACTIONS::toggleCursorStyle( "common.Control.toggleCursorStyle",
483  AS_GLOBAL, 0, "",
484  _( "Full-Window Crosshairs" ), _( "Switch display of full-window crosshairs" ),
486 
487 TOOL_ACTION ACTIONS::highContrastMode( "common.Control.highContrastMode",
488  AS_GLOBAL,
489  MD_CTRL + 'H', LEGACY_HK_NAME( "Toggle High Contrast Mode" ),
490  _( "High Contrast Mode" ), _( "Use high contrast display mode" ),
492 
493 TOOL_ACTION ACTIONS::selectionTool( "common.InteractiveSelection.selectionTool",
494  AS_GLOBAL, 0, "",
495  _( "Select item(s)" ), "",
497 
498 TOOL_ACTION ACTIONS::measureTool( "common.InteractiveEdit.measureTool",
499  AS_GLOBAL,
500  // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
501  MD_CTRL + MD_SHIFT + 'M', LEGACY_HK_NAME( "Measure Distance (Modern Toolset only)" ),
502  _( "Measure Tool" ), _( "Interactively measure distance between points" ),
504 
505 TOOL_ACTION ACTIONS::pickerTool( "common.InteractivePicker.pickerTool",
506  AS_GLOBAL, 0, "", "", "", NULL, AF_ACTIVATE );
507 
508 TOOL_ACTION ACTIONS::show3DViewer( "common.Control.show3DViewer",
509  AS_GLOBAL,
510  MD_ALT + '3', LEGACY_HK_NAME( "3D Viewer" ),
511  _( "3D Viewer" ), _( "Show 3D viewer window" ),
512  three_d_xpm );
513 
514 TOOL_ACTION ACTIONS::showSymbolBrowser( "common.Control.showSymbolBrowser",
515  AS_GLOBAL, 0, "",
516  _( "Symbol Library Browser" ), _( "Browse symbol libraries" ),
518 
519 TOOL_ACTION ACTIONS::showSymbolEditor( "common.Control.showSymbolEditor",
520  AS_GLOBAL, 0, "",
521  _( "Symbol Editor" ), _( "Create, delete and edit symbols" ),
523 
524 TOOL_ACTION ACTIONS::showFootprintBrowser( "common.Control.showFootprintBrowser",
525  AS_GLOBAL, 0, "",
526  _( "Footprint Library Browser" ), _( "Browse footprint libraries" ),
528 
529 TOOL_ACTION ACTIONS::showFootprintEditor( "common.Control.showFootprintEditor",
530  AS_GLOBAL, 0, "",
531  _( "Footprint Editor" ), _( "Create, delete and edit footprints" ),
533 
534 TOOL_ACTION ACTIONS::updatePcbFromSchematic( "common.Control.updatePcbFromSchematic",
535  AS_GLOBAL,
536  WXK_F8, LEGACY_HK_NAME( "Update PCB from Schematic" ),
537  _( "Update PCB from Schematic..." ), _( "Push changes from schematic to PCB" ),
539 
540 TOOL_ACTION ACTIONS::updateSchematicFromPcb( "common.Control.updateSchematicFromPCB", AS_GLOBAL, 0,
541  LEGACY_HK_NAME( "Update Schematic from PCB" ), _( "Update Schematic from PCB..." ),
542  _( "Push changes from PCB to Schematic" ), update_sch_from_pcb_xpm );
543 
544 TOOL_ACTION ACTIONS::acceleratedGraphics( "common.Control.acceleratedGraphics",
545  AS_GLOBAL,
546 #ifdef __WXMAC__
547  MD_ALT + WXK_F11,
548 #else
549  WXK_F11,
550 #endif
551  LEGACY_HK_NAME( "Switch to Modern Toolset with hardware-accelerated graphics (recommended)" ),
552  _( "Accelerated Graphics" ), _( "Use hardware-accelerated graphics (recommended)" ),
553  tools_xpm );
554 
555 TOOL_ACTION ACTIONS::standardGraphics( "common.Control.standardGraphics",
556  AS_GLOBAL,
557 #ifdef __WXMAC__
558  MD_ALT + WXK_F12,
559 #else
560  WXK_F12,
561 #endif
562  LEGACY_HK_NAME( "Switch to Modern Toolset with software graphics (fall-back)" ),
563  _( "Standard Graphics" ), _( "Use software graphics (fall-back)" ),
564  tools_xpm );
565 
566 TOOL_ACTION ACTIONS::configurePaths( "common.SuiteControl.configurePaths",
567  AS_GLOBAL, 0, "",
568  _( "Configure Paths..." ), _( "Edit path configuration environment variables" ),
569  path_xpm );
570 
571 TOOL_ACTION ACTIONS::showSymbolLibTable( "common.SuiteControl.showSymbolLibTable",
572  AS_GLOBAL, 0, "",
573  _( "Manage Symbol Libraries..." ),
574  _( "Edit the global and project symbol library lists" ),
576 
577 TOOL_ACTION ACTIONS::showFootprintLibTable( "common.SuiteControl.showFootprintLibTable",
578  AS_GLOBAL, 0, "",
579  _( "Manage Footprint Libraries..." ),
580  _( "Edit the global and project footprint library lists" ),
582 
583 TOOL_ACTION ACTIONS::gettingStarted( "common.SuiteControl.gettingStarted",
584  AS_GLOBAL, 0, "",
585  _( "Getting Started with KiCad" ),
586  _( "Open \"Getting Started in KiCad\" guide for beginners" ),
587  help_xpm );
588 
589 TOOL_ACTION ACTIONS::help( "common.SuiteControl.help",
590  AS_GLOBAL, 0, "",
591  _( "Help" ),
592  _( "Open product documentation in a web browser" ),
593  online_help_xpm );
594 
595 TOOL_ACTION ACTIONS::listHotKeys( "common.SuiteControl.listHotKeys",
596  AS_GLOBAL,
597  MD_CTRL + WXK_F1, LEGACY_HK_NAME( "List Hotkeys" ),
598  _( "List Hotkeys..." ),
599  _( "Displays current hotkeys table and corresponding commands" ),
600  hotkeys_xpm );
601 
602 TOOL_ACTION ACTIONS::getInvolved( "common.SuiteControl.getInvolved",
603  AS_GLOBAL, 0, "",
604  _( "Get Involved" ),
605  _( "Open \"Contribute to KiCad\" in a web browser" ),
606  info_xpm );
607 
608 
609 // System-wide selection Events
610 
611 const TOOL_EVENT EVENTS::SelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.selected" );
612 const TOOL_EVENT EVENTS::UnselectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.unselected" );
613 const TOOL_EVENT EVENTS::ClearedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.cleared" );
614 
615 const TOOL_EVENT EVENTS::SelectedItemsModified( TC_MESSAGE, TA_ACTION, "common.Interactive.modified" );
616 
const BITMAP_OPAQUE zoom_center_on_screen_xpm[1]
static TOOL_ACTION listHotKeys
Definition: actions.h:171
static TOOL_ACTION pinLibrary
Definition: actions.h:104
static TOOL_ACTION show3DViewer
Definition: actions.h:151
static const TOOL_EVENT SelectedEvent
Definition: actions.h:201
static TOOL_ACTION zoomPreset
Definition: actions.h:94
const BITMAP_OPAQUE three_d_xpm[1]
Definition: three_d.cpp:35
const BITMAP_OPAQUE modview_icon_xpm[1]
static TOOL_ACTION findAndReplace
Definition: actions.h:79
const BITMAP_OPAQUE unit_inch_xpm[1]
Definition: unit_inch.cpp:28
const BITMAP_OPAQUE libedit_xpm[1]
static TOOL_ACTION zoomInCenter
Definition: actions.h:90
const BITMAP_OPAQUE redo_xpm[1]
Definition: redo.cpp:77
const BITMAP_OPAQUE update_pcb_from_sch_xpm[1]
static TOOL_ACTION activatePointEditor
Definition: actions.h:163
#define LEGACY_HK_NAME(x)
Definition: actions.h:35
static TOOL_ACTION pageSettings
Definition: actions.h:59
static const TOOL_EVENT UnselectedEvent
Definition: actions.h:202
static TOOL_ACTION doDelete
Definition: actions.h:74
const BITMAP_OPAQUE cursor_shape_xpm[1]
static TOOL_ACTION zoomTool
Definition: actions.h:95
static TOOL_ACTION gridResetOrigin
Definition: actions.h:133
const BITMAP_OPAQUE cancel_xpm[1]
Definition: cancel.cpp:72
static TOOL_ACTION replaceAll
Definition: actions.h:83
static TOOL_ACTION cancelInteractive
Definition: actions.h:65
static TOOL_ACTION cursorRight
Definition: actions.h:111
static TOOL_ACTION zoomFitScreen
Definition: actions.h:93
static TOOL_ACTION showSymbolLibTable
Definition: actions.h:167
static TOOL_ACTION standardGraphics
Definition: actions.h:159
static TOOL_ACTION cursorRightFast
Definition: actions.h:116
const BITMAP_OPAQUE zoom_fit_in_page_xpm[1]
static TOOL_ACTION gridFast1
Definition: actions.h:128
const BITMAP_OPAQUE contrast_mode_xpm[1]
static TOOL_ACTION unpinLibrary
Definition: actions.h:105
static TOOL_ACTION updatePcbFromSchematic
Definition: actions.h:156
static TOOL_ACTION print
Definition: actions.h:60
const BITMAP_OPAQUE update_sch_from_pcb_xpm[1]
static TOOL_ACTION panLeft
Definition: actions.h:124
const BITMAP_OPAQUE library_table_xpm[1]
const BITMAP_OPAQUE zoom_redraw_xpm[1]
Definition: zoom_redraw.cpp:58
static TOOL_ACTION find
Definition: actions.h:78
const BITMAP_OPAQUE grid_select_xpm[1]
Definition: grid_select.cpp:29
#define _(s)
Definition: actions.cpp:36
static TOOL_ACTION imperialUnits
Definition: actions.h:139
static const TOOL_EVENT SelectedItemsModified
Definition: actions.h:205
static TOOL_ACTION zoomOutCenter
Definition: actions.h:91
static TOOL_ACTION saveCopyAs
Definition: actions.h:56
static TOOL_ACTION pickerTool
Definition: actions.h:148
static TOOL_ACTION updateFind
Definition: actions.h:84
const BITMAP_OPAQUE zoom_out_xpm[1]
Definition: zoom_out.cpp:58
static TOOL_ACTION measureTool
Definition: actions.h:147
static TOOL_ACTION copy
Definition: actions.h:70
static TOOL_ACTION centerContents
Definition: actions.h:96
static TOOL_ACTION updateSchematicFromPcb
Definition: actions.h:157
static TOOL_ACTION gridFast2
Definition: actions.h:129
const BITMAP_OPAQUE new_generic_xpm[1]
Definition: new_generic.cpp:60
static TOOL_ACTION toggleCursor
Definition: actions.h:97
static TOOL_ACTION gridPreset
Definition: actions.h:134
static TOOL_ACTION showFootprintLibTable
Definition: actions.h:168
static TOOL_ACTION gridPrev
Definition: actions.h:131
#define NULL
static TOOL_ACTION panDown
Definition: actions.h:123
static TOOL_ACTION toggleGrid
Definition: actions.h:135
const BITMAP_OPAQUE flag_xpm[1]
Definition: flag.cpp:61
const BITMAP_OPAQUE exit_xpm[1]
Definition: exit.cpp:63
const BITMAP_OPAQUE find_xpm[1]
Definition: find.cpp:102
static TOOL_ACTION open
Definition: actions.h:53
static TOOL_ACTION showFootprintBrowser
Definition: actions.h:154
static TOOL_ACTION save
Definition: actions.h:54
static TOOL_ACTION doNew
Definition: actions.h:47
TOOL_EVENT.
Definition: tool_event.h:171
static TOOL_ACTION cursorUpFast
Definition: actions.h:113
const BITMAP_OPAQUE module_editor_xpm[1]
static TOOL_ACTION cursorDownFast
Definition: actions.h:114
const BITMAP_OPAQUE flag_remove_xpm[1]
Definition: flag_remove.cpp:89
static TOOL_ACTION cursorLeft
Definition: actions.h:110
static TOOL_ACTION panRight
Definition: actions.h:125
const BITMAP_OPAQUE grid_xpm[1]
Definition: grid.cpp:21
static TOOL_ACTION togglePolarCoords
Definition: actions.h:142
static TOOL_ACTION cut
Definition: actions.h:69
static TOOL_ACTION addLibrary
Definition: actions.h:52
static TOOL_ACTION quit
Definition: actions.h:62
const BITMAP_OPAQUE copy_xpm[1]
Definition: copy.cpp:67
static const TOOL_EVENT ClearedEvent
Definition: actions.h:203
static TOOL_ACTION replaceAndFindNext
Definition: actions.h:82
static TOOL_ACTION plot
Definition: actions.h:61
static TOOL_ACTION cursorLeftFast
Definition: actions.h:115
const BITMAP_OPAQUE hotkeys_xpm[1]
Definition: hotkeys.cpp:92
static TOOL_ACTION updateMenu
Definition: actions.h:162
All active tools
Definition: tool_event.h:147
const BITMAP_OPAQUE info_xpm[1]
Definition: info.cpp:75
static TOOL_ACTION newLibrary
Definition: actions.h:51
const BITMAP_OPAQUE unit_mm_xpm[1]
Definition: unit_mm.cpp:28
const BITMAP_OPAQUE tools_xpm[1]
Definition: tools.cpp:113
const BITMAP_OPAQUE directory_xpm[1]
Definition: directory.cpp:30
static TOOL_ACTION pasteSpecial
Definition: actions.h:72
const BITMAP_OPAQUE paste_xpm[1]
Definition: paste.cpp:69
static TOOL_ACTION findNextMarker
Definition: actions.h:81
static TOOL_ACTION metricUnits
Definition: actions.h:140
static TOOL_ACTION redo
Definition: actions.h:68
const BITMAP_OPAQUE plot_xpm[1]
Definition: plot.cpp:59
const BITMAP_OPAQUE help_xpm[1]
Definition: help.cpp:48
const BITMAP_OPAQUE polar_coord_xpm[1]
Definition: polar_coord.cpp:70
static TOOL_ACTION showSymbolEditor
Definition: actions.h:153
static TOOL_ACTION zoomCenter
Definition: actions.h:92
const BITMAP_OPAQUE sheetset_xpm[1]
Definition: sheetset.cpp:73
static TOOL_ACTION saveAs
Definition: actions.h:55
static TOOL_ACTION cursorUp
Cursor control with keyboard.
Definition: actions.h:108
static TOOL_ACTION zoomRedraw
Definition: actions.h:87
const BITMAP_OPAQUE measurement_xpm[1]
Definition: measurement.cpp:61
static TOOL_ACTION cursorDblClick
Definition: actions.h:119
TOOL_ACTION.
Definition: tool_action.h:46
static TOOL_ACTION acceleratedGraphics
Definition: actions.h:158
const BITMAP_OPAQUE zoom_area_xpm[1]
Definition: zoom_area.cpp:62
static TOOL_ACTION resetLocalCoords
Definition: actions.h:143
static TOOL_ACTION help
Definition: actions.h:170
const BITMAP_OPAQUE grid_select_axis_xpm[1]
const BITMAP_OPAQUE find_replace_xpm[1]
static TOOL_ACTION gridNext
Definition: actions.h:130
const BITMAP_OPAQUE undo_xpm[1]
Definition: undo.cpp:74
const BITMAP_OPAQUE add_library_xpm[1]
Definition: add_library.cpp:81
const BITMAP_OPAQUE save_xpm[1]
Definition: save.cpp:69
static TOOL_ACTION gridProperties
Definition: actions.h:136
const BITMAP_OPAQUE duplicate_xpm[1]
Definition: duplicate.cpp:25
static TOOL_ACTION panUp
Definition: actions.h:122
static TOOL_ACTION zoomIn
Definition: actions.h:88
static TOOL_ACTION deleteTool
Definition: actions.h:75
static TOOL_ACTION zoomOut
Definition: actions.h:89
const BITMAP_OPAQUE library_browse_xpm[1]
static TOOL_ACTION undo
Definition: actions.h:67
static TOOL_ACTION toggleCursorStyle
Definition: actions.h:98
static TOOL_ACTION saveAll
Definition: actions.h:57
const BITMAP_OPAQUE cursor_xpm[1]
Definition: cursor.cpp:50
const BITMAP_OPAQUE online_help_xpm[1]
Definition: online_help.cpp:61
static TOOL_ACTION gridSetOrigin
Definition: actions.h:132
static TOOL_ACTION showSymbolBrowser
Definition: actions.h:152
const BITMAP_OPAQUE path_xpm[1]
Definition: path.cpp:51
static TOOL_ACTION showContextMenu
Definition: actions.h:66
const BITMAP_OPAQUE save_as_xpm[1]
Definition: save_as.cpp:84
static TOOL_ACTION cursorDown
Definition: actions.h:109
static TOOL_ACTION getInvolved
Definition: actions.h:172
static TOOL_ACTION configurePaths
Definition: actions.h:166
static TOOL_ACTION highContrastMode
Definition: actions.h:99
static TOOL_ACTION toggleUnits
Definition: actions.h:141
const BITMAP_OPAQUE cut_xpm[1]
Definition: cut.cpp:98
static TOOL_ACTION findNext
Definition: actions.h:80
static TOOL_ACTION gettingStarted
Definition: actions.h:169
static TOOL_ACTION showFootprintEditor
Definition: actions.h:155
static TOOL_ACTION paste
Definition: actions.h:71
static TOOL_ACTION duplicate
Definition: actions.h:73
static TOOL_ACTION revert
Definition: actions.h:58
static TOOL_ACTION selectionTool
Definition: actions.h:146
static TOOL_ACTION refreshPreview
Definition: actions.h:101
static TOOL_ACTION cursorClick
Definition: actions.h:118
const BITMAP_OPAQUE delete_xpm[1]
Definition: delete.cpp:62
const BITMAP_OPAQUE zoom_in_xpm[1]
Definition: zoom_in.cpp:59