KiCad PCB EDA Suite
Loading...
Searching...
No Matches
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-2023 CERN
5 * Copyright (C) 2021-2024 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 <bitmaps.h>
26#include <common.h>
27#include <eda_units.h>
28#include <frame_type.h>
29#include <tool/actions.h>
30#include <tool/tool_action.h>
31#include <tool/tool_event.h>
32
33// Actions, being statically-defined, require specialized I18N handling. We continue to
34// use the _() macro so that string harvesting by the I18N framework doesn't have to be
35// specialized, but we don't translate on initialization and instead do it in the getters.
36
37#undef _
38#define _(s) s
39
41 .Name( "common.Control.new" )
42 .Scope( AS_GLOBAL )
43 .DefaultHotkey( MD_CTRL + 'N' )
44 .LegacyHotkeyName( "New" )
45 .FriendlyName( _( "New..." ) )
46 .Tooltip( _( "Create a new document in the editor" ) )
47 .Icon( BITMAPS::new_generic ) );
48
50 .Name( "common.Control.newLibrary" )
51 .Scope( AS_GLOBAL )
52 .FriendlyName( _( "New Library..." ) )
53 .Tooltip( _( "Create a new library folder" ) )
54 .Icon( BITMAPS::new_library ) );
55
57 .Name( "common.Control.addLibrary" )
58 .Scope( AS_GLOBAL )
59 .FriendlyName( _( "Add Library..." ) )
60 .Tooltip( _( "Add an existing library folder" ) )
61 .Icon( BITMAPS::add_library ) );
62
64 .Name( "common.Control.open" )
65 .Scope( AS_GLOBAL )
66 .DefaultHotkey( MD_CTRL + 'O' )
67 .LegacyHotkeyName( "Open" )
68 .FriendlyName( _( "Open..." ) )
69 .Tooltip( _( "Open existing document" ) )
70 .Icon( BITMAPS::directory_open ) );
71
73 .Name( "common.Control.openWithTextEditor" )
74 .Scope( AS_GLOBAL )
75 .FriendlyName( _( "Edit in a Text Editor..." ) )
76 .Tooltip( _( "Open a library file with a text editor" ) )
77 .Icon( BITMAPS::editor ) );
78
80 .Name( "common.Control.openDirectory" )
81 .Scope( AS_GLOBAL )
82 .FriendlyName( _( "Open in file explorer..." ) )
83 .Tooltip( _( "Open a library file with system file explorer" ) )
85
87 .Name( "common.Control.save" )
88 .Scope( AS_GLOBAL )
89 .DefaultHotkey( MD_CTRL + 'S' )
90 .LegacyHotkeyName( "Save" )
91 .FriendlyName( _( "Save" ) )
92 .Tooltip( _( "Save changes" ) )
93 .Icon( BITMAPS::save ) );
94
96 .Name( "common.Control.saveAs" )
97 .Scope( AS_GLOBAL )
98 .DefaultHotkey( MD_SHIFT + MD_CTRL + 'S' )
99 .LegacyHotkeyName( "Save As" )
100 .FriendlyName( _( "Save As..." ) )
101 .Tooltip( _( "Save current document to another location" ) )
102 .Icon( BITMAPS::save_as ) );
103
105 .Name( "common.Control.saveCopy" )
106 .Scope( AS_GLOBAL )
107 .FriendlyName( _( "Save a Copy..." ) )
108 .Tooltip( _( "Save a copy of the current document to another location" ) )
109 .Icon( BITMAPS::save_as ) );
110
112 .Name( "common.Control.saveAll" )
113 .Scope( AS_GLOBAL )
114 .FriendlyName( _( "Save All" ) )
115 .Tooltip( _( "Save all changes" ) )
116 .Icon( BITMAPS::save ) );
117
119 .Name( "common.Control.revert" )
120 .Scope( AS_GLOBAL )
121 .FriendlyName( _( "Revert" ) )
122 .Tooltip( _( "Throw away changes" ) ) );
123
125 .Name( "common.Control.pageSettings" )
126 .Scope( AS_GLOBAL )
127 .FriendlyName( _( "Page Settings..." ) )
128 .Tooltip( _( "Settings for paper size and title block info" ) )
129 .Icon( BITMAPS::sheetset ) );
130
132 .Name( "common.Control.print" )
133 .Scope( AS_GLOBAL )
134 .DefaultHotkey( MD_CTRL + 'P' )
135 .LegacyHotkeyName( "Print" )
136 .FriendlyName( _( "Print..." ) )
137 .Icon( BITMAPS::print_button ) );
138
140 .Name( "common.Control.plot" )
141 .Scope( AS_GLOBAL )
142 .FriendlyName( _( "Plot..." ) )
143 .Icon( BITMAPS::plot ) );
144
146 .Name( "common.Control.quit" )
147 .Scope( AS_GLOBAL )
148 .FriendlyName( _( "Quit" ) )
149 .Tooltip( _( "Close the current editor" ) )
150 .Icon( BITMAPS::exit ) );
151
152// Generic Edit Actions
154 .Name( "common.Interactive.cancel" )
155 .Scope( AS_GLOBAL )
156 // ESC key is handled in the dispatcher
157 .FriendlyName( _( "Cancel" ) )
158 .Tooltip( _( "Cancel current tool" ) )
159 .Icon( BITMAPS::cancel )
160 .Flags( AF_NONE ) );
161
163 .Name( "common.Interactive.finish" )
164 .Scope( AS_GLOBAL )
165 .DefaultHotkey( WXK_END )
166 .FriendlyName( _( "Finish" ) )
167 .Tooltip( _( "Finish current tool" ) )
168 .Icon( BITMAPS::checked_ok )
169 .Flags( AF_NONE ) );
170
172 .Name( "common.Control.showContextMenu" )
173 .Scope( AS_GLOBAL )
174 .FriendlyName( _( "Show Context Menu" ) )
175 .Tooltip( _( "Perform the right-mouse-button action" ) )
176 .Flags( AF_NONE )
177 .Parameter( CURSOR_RIGHT_CLICK ) );
178
180 .Name( "common.Interactive.updateMenu" )
181 .Scope( AS_GLOBAL ) );
182
184 .Name( "common.Interactive.undo" )
185 .Scope( AS_GLOBAL )
186 .DefaultHotkey( MD_CTRL + 'Z' )
187 .LegacyHotkeyName( "Undo" )
188 .FriendlyName( _( "Undo" ) )
189 .Tooltip( _( "Undo last edit" ) )
190 .Icon( BITMAPS::undo ) );
191
193 .Name( "common.Interactive.redo" )
194 .Scope( AS_GLOBAL )
195#if defined( __WXMAC__ )
196 .DefaultHotkey( MD_SHIFT + MD_CTRL + 'Z' )
197#else
198 .DefaultHotkey( MD_CTRL + 'Y' )
199#endif
200 .LegacyHotkeyName( "Redo" )
201 .FriendlyName( _( "Redo" ) )
202 .Tooltip( _( "Redo last edit" ) )
203 .Icon( BITMAPS::redo ) );
204
205// The following actions need to have a hard-coded UI ID using a wx-specific ID
206// to fix things like search controls in standard file dialogs. If wxWidgets
207// doesn't find these specific IDs somewhere in the menus then it won't enable
208// cut/copy/paste.
210 .Name( "common.Interactive.cut" )
211 .Scope( AS_GLOBAL )
212 .DefaultHotkey( MD_CTRL + 'X' )
213 .LegacyHotkeyName( "Cut" )
214 .FriendlyName( _( "Cut" ) )
215 .Tooltip( _( "Cut selected item(s) to clipboard" ) )
216 .Icon( BITMAPS::cut )
217 .Flags( AF_NONE )
218 .UIId( wxID_CUT ) );
219
221 .Name( "common.Interactive.copy" )
222 .Scope( AS_GLOBAL )
223 .DefaultHotkey( MD_CTRL + 'C' )
224 .LegacyHotkeyName( "Copy" )
225 .FriendlyName( _( "Copy" ) )
226 .Tooltip( _( "Copy selected item(s) to clipboard" ) )
227 .Icon( BITMAPS::copy )
228 .Flags( AF_NONE )
229 .UIId( wxID_COPY ) );
230
232 .Name( "common.Interactive.paste" )
233 .Scope( AS_GLOBAL )
234 .DefaultHotkey( MD_CTRL + 'V' )
235 .LegacyHotkeyName( "Paste" )
236 .FriendlyName( _( "Paste" ) )
237 .Tooltip( _( "Paste item(s) from clipboard" ) )
238 .Icon( BITMAPS::paste )
239 .Flags( AF_NONE )
240 .UIId( wxID_PASTE ) );
241
243 .Name( "common.Interactive.selectAll" )
244 .Scope( AS_GLOBAL )
245 .DefaultHotkey( MD_CTRL + 'A' )
246 .FriendlyName( _( "Select All" ) )
247 .Tooltip( _( "Select all items on screen" ) ) );
248
250 .Name( "common.Interactive.unselectAll" )
251 .Scope( AS_GLOBAL )
252 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'A' )
253 .FriendlyName( _( "Unselect All" ) )
254 .Tooltip( _( "Unselect all items on screen" ) ) );
255
257 .Name( "common.Interactive.pasteSpecial" )
258 .Scope( AS_GLOBAL )
259 .FriendlyName( _( "Paste Special..." ) )
260 .Tooltip( _( "Paste item(s) from clipboard with annotation options" ) )
261 .Icon( BITMAPS::paste_special ) );
262
264 .Name( "common.Interactive.duplicate" )
265 .Scope( AS_GLOBAL )
266 .DefaultHotkey( MD_CTRL + 'D' )
267 .LegacyHotkeyName( "Duplicate" )
268 .FriendlyName( _( "Duplicate" ) )
269 .Tooltip( _( "Duplicates the selected item(s)" ) )
270 .Icon( BITMAPS::duplicate ) );
271
273 .Name( "common.Interactive.delete" )
274 .Scope( AS_GLOBAL )
275#if defined( __WXMAC__ )
276 .DefaultHotkey( WXK_BACK )
277#else
278 .DefaultHotkey( WXK_DELETE )
279#endif
280 .LegacyHotkeyName( "Delete Item" )
281 .FriendlyName( _( "Delete" ) )
282 .Tooltip( _( "Deletes selected item(s)" ) )
283 .Icon( BITMAPS::trash )
284 .Parameter( ACTIONS::REMOVE_FLAGS::NORMAL ) );
285
287 .Name( "common.Interactive.deleteTool" )
288 .Scope( AS_GLOBAL )
289 .FriendlyName( _( "Interactive Delete Tool" ) )
290 .Tooltip( _( "Delete clicked items" ) )
292 .Flags( AF_ACTIVATE ) );
293
295 .Name( "common.Control.leftJustify" )
296 .Scope( AS_GLOBAL )
297 .FriendlyName( _( "Left Justify" ) )
298 .Tooltip( _( "Left-justify fields and text items" ) )
299 .Icon( BITMAPS::text_align_left ) );
300
302 .Name( "common.Control.centerJustify" )
303 .Scope( AS_GLOBAL )
304 .FriendlyName( _( "Center Justify" ) )
305 .Tooltip( _( "Center-justify fields and text items" ) )
307
309 .Name( "common.Control.rightJustify" )
310 .Scope( AS_GLOBAL )
311 .FriendlyName( _( "Right Justify" ) )
312 .Tooltip( _( "Right-justify fields and text items" ) )
313 .Icon( BITMAPS::text_align_right ) );
314
316 .Name( "common.Control.expandAll" )
317 .Scope( AS_GLOBAL )
318 .FriendlyName( _( "Expand All" ) )
319 .Icon( BITMAPS::up ) ); // JEY TODO: need icon
320
322 .Name( "common.Control.collapseAll" )
323 .Scope( AS_GLOBAL )
324 .FriendlyName( _( "Collapse All" ) )
325 .Icon( BITMAPS::down ) ); // JEY TODO: need icon
326
328 .Name( "common.InteractiveSelection.SelectColumns" )
329 .Scope( AS_GLOBAL )
330 .FriendlyName( _( "Select Column(s)" ) )
331 .Tooltip( _( "Select complete column(s) containing the current selected cell(s)" ) )
332 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
333
335 .Name( "common.InteractiveSelection.Rows" )
336 .Scope( AS_GLOBAL )
337 .FriendlyName( _( "Select Row(s)" ) )
338 .Tooltip( _( "Select complete row(s) containing the current selected cell(s)" ) )
339 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
340
342 .Name( "common.InteractiveSelection.SelectTable" )
343 .Scope( AS_GLOBAL )
344 .FriendlyName( _( "Select Table" ) )
345 .Tooltip( _( "Select parent table of selected cell(s)" ) )
346 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
347
349 .Name( "common.TableEditor.addRowAbove" )
350 .Scope( AS_GLOBAL )
351 .FriendlyName( _( "Add Row Above" ) )
352 .Tooltip( _( "Insert a new table row above the selected cell(s)" ) )
353 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
354
356 .Name( "common.TableEditor.addRowBelow" )
357 .Scope( AS_GLOBAL )
358 .FriendlyName( _( "Add Row Below" ) )
359 .Tooltip( _( "Insert a new table row below the selected cell(s)" ) )
360 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
361
363 .Name( "common.TableEditor.addColBefore" )
364 .Scope( AS_GLOBAL )
365 .FriendlyName( _( "Add Column Before" ) )
366 .Tooltip( _( "Insert a new table column before the selected cell(s)" ) )
367 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
368
370 .Name( "common.TableEditor.addColAfter" )
371 .Scope( AS_GLOBAL )
372 .FriendlyName( _( "Add Column After" ) )
373 .Tooltip( _( "Insert a new table column after the selected cell(s)" ) )
374 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
375
377 .Name( "common.TableEditor.deleteRows" )
378 .Scope( AS_GLOBAL )
379 .FriendlyName( _( "Delete Row(s)" ) )
380 .Tooltip( _( "Delete rows containing the currently selected cell(s)" ) )
381 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
382
384 .Name( "common.TableEditor.deleteColumns" )
385 .Scope( AS_GLOBAL )
386 .FriendlyName( _( "Delete Column(s)" ) )
387 .Tooltip( _( "Delete columns containing the currently selected cell(s)" ) )
388 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
389
391 .Name( "common.TableEditor.mergeCells" )
392 .Scope( AS_GLOBAL )
393 .FriendlyName( _( "Merge Cells" ) )
394 .Tooltip( _( "Turn selected table cells into a single cell" ) )
395 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
396
398 .Name( "common.TableEditor.unmergeCell" )
399 .Scope( AS_GLOBAL )
400 .FriendlyName( _( "Unmerge Cells" ) )
401 .Tooltip( _( "Turn merged table cells back into separate cells." ) )
402 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
403
405 .Name( "pcbnew.TableEditor.editTable" )
406 .Scope( AS_GLOBAL )
407 .DefaultHotkey( MD_CTRL + 'E' )
408 .FriendlyName( _( "Edit Table" ) )
409 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
410
412 .Name( "common.Control.activatePointEditor" )
413 .Scope( AS_GLOBAL ) );
414
416 .Name( "common.Interactive.cycleArcEditMode" )
417 .Scope( AS_GLOBAL )
418 .DefaultHotkey( MD_CTRL + ' ' )
419 .FriendlyName( _( "Cycle Arc Editing Mode" ) )
420 .Tooltip( _( "Switch to a different method of editing arcs" ) ) );
421
423 .Name( "common.Interactive.search" )
424 .Scope( AS_GLOBAL )
425 .DefaultHotkey( MD_CTRL + 'G' )
426 .LegacyHotkeyName( "Search" )
427 .FriendlyName( _( "Show Search Panel" ) )
428 .Tooltip( _( "Show/hide the search panel" ) )
429 .Icon( BITMAPS::find ) );
430
432 .Name( "common.Interactive.find" )
433 .Scope( AS_GLOBAL )
434 .DefaultHotkey( MD_CTRL + 'F' )
435 .LegacyHotkeyName( "Find" )
436 .FriendlyName( _( "Find" ) )
437 .Tooltip( _( "Find text" ) )
438 .Icon( BITMAPS::find ) );
439
441 .Name( "common.Interactive.findAndReplace" )
442 .Scope( AS_GLOBAL )
443 .DefaultHotkey( MD_CTRL + MD_ALT + 'F' )
444 .LegacyHotkeyName( "Find and Replace" )
445 .FriendlyName( _( "Find and Replace" ) )
446 .Tooltip( _( "Find and replace text" ) )
447 .Icon( BITMAPS::find_replace ) );
448
450 .Name( "common.Interactive.findNext" )
451 .Scope( AS_GLOBAL )
452 .DefaultHotkey( WXK_F3 )
453 .LegacyHotkeyName( "Find Next" )
454 .FriendlyName( _( "Find Next" ) )
455 .Tooltip( _( "Find next match" ) )
456 .Icon( BITMAPS::find ) );
457
459 .Name( "common.Interactive.findPrevious" )
460 .Scope( AS_GLOBAL )
461 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_F3 ) )
462 .LegacyHotkeyName( "Find Previous" )
463 .FriendlyName( _( "Find Previous" ) )
464 .Tooltip( _( "Find previous match" ) )
465 .Icon( BITMAPS::find ) );
466
468 .Name( "common.Interactive.findNextMarker" )
469 .Scope( AS_GLOBAL )
470 .DefaultHotkey( MD_CTRL + MD_SHIFT + static_cast<int>( WXK_F3 ) )
471 .LegacyHotkeyName( "Find Next Marker" )
472 .FriendlyName( _( "Find Next Marker" ) )
473 .Icon( BITMAPS::find ) );
474
476 .Name( "common.Interactive.replaceAndFindNext" )
477 .Scope( AS_GLOBAL )
478 .FriendlyName( _( "Replace and Find Next" ) )
479 .Tooltip( _( "Replace current match and find next" ) )
480 .Icon( BITMAPS::find_replace ) );
481
483 .Name( "common.Interactive.replaceAll" )
484 .Scope( AS_GLOBAL )
485 .FriendlyName( _( "Replace All" ) )
486 .Tooltip( _( "Replace all matches" ) )
487 .Icon( BITMAPS::find_replace ) );
488
490 .Name( "common.Control.updateFind" )
491 .Scope( AS_GLOBAL ) );
492
493
494// Marker Controls
496 .Name( "common.Checker.prevMarker" )
497 .Scope( AS_GLOBAL )
498 .FriendlyName( _( "Previous Marker" ) )
499 .Tooltip( _( "Go to previous marker in Checker window" ) )
500 .Icon( BITMAPS::marker_previous ) );
501
503 .Name( "common.Checker.nextMarker" )
504 .Scope( AS_GLOBAL )
505 .FriendlyName( _( "Next Marker" ) )
506 .Tooltip( _( "Go to next marker in Checker window" ) )
507 .Icon( BITMAPS::marker_next ) );
508
510 .Name( "common.Checker.excludeMarker" )
511 .Scope( AS_GLOBAL )
512 .FriendlyName( _( "Exclude Marker" ) )
513 .Tooltip( _( "Mark current violation in Checker window as an exclusion" ) )
514 .Icon( BITMAPS::marker_exclude ) );
515
516// View Controls
518 .Name( "common.Control.zoomRedraw" )
519 .Scope( AS_GLOBAL )
520#if defined( __WXMAC__ )
521 .DefaultHotkey( MD_CTRL + 'R' )
522#else
523 .DefaultHotkey( WXK_F5 )
524#endif
525 .LegacyHotkeyName( "Zoom Redraw" )
526 .FriendlyName( _( "Refresh" ) )
527 .Tooltip( _( "Refresh" ) )
528 .Icon( BITMAPS::refresh ) );
529
531 .Name( "common.Control.zoomFitScreen" )
532 .Scope( AS_GLOBAL )
533#if defined( __WXMAC__ )
534 .DefaultHotkey( MD_CTRL + '0' )
535#else
536 .DefaultHotkey( WXK_HOME )
537#endif
538 .LegacyHotkeyName( "Zoom Auto" )
539 .FriendlyName( _( "Zoom to Fit" ) )
540 .Icon( BITMAPS::zoom_fit_in_page ) );
541
543 .Name( "common.Control.zoomFitObjects" )
544 .Scope( AS_GLOBAL )
545 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_HOME ) )
546 .FriendlyName( _( "Zoom to Objects" ) )
548
550 .Name( "common.Control.zoomIn" )
551 .Scope( AS_GLOBAL )
552#if defined( __WXMAC__ )
553 .DefaultHotkey( MD_CTRL + '+' )
554#else
555 .DefaultHotkey( WXK_F1 )
556#endif
557 .LegacyHotkeyName( "Zoom In" )
558 .FriendlyName( _( "Zoom In at Cursor" ) )
559 .Icon( BITMAPS::zoom_in ) );
560
562 .Name( "common.Control.zoomOut" )
563 .Scope( AS_GLOBAL )
564#if defined( __WXMAC__ )
565 .DefaultHotkey( MD_CTRL + '-' )
566#else
567 .DefaultHotkey( WXK_F2 )
568#endif
569 .LegacyHotkeyName( "Zoom Out" )
570 .FriendlyName( _( "Zoom Out at Cursor" ) )
571 .Icon( BITMAPS::zoom_out ) );
572
574 .Name( "common.Control.zoomInCenter" )
575 .Scope( AS_GLOBAL )
576 .FriendlyName( _( "Zoom In" ) )
577 .Icon( BITMAPS::zoom_in ) );
578
580 .Name( "common.Control.zoomOutCenter" )
581 .Scope( AS_GLOBAL )
582 .FriendlyName( _( "Zoom Out" ) )
583 .Icon( BITMAPS::zoom_out ) );
584
586 .Name( "common.Control.zoomInHorizontally" )
587 .Scope( AS_GLOBAL )
588 .FriendlyName( _( "Zoom In Horizontally" ) )
589 .Tooltip( _( "Zoom in horizontally the plot area" ) )
591
593 .Name( "common.Control.zoomOutHorizontally" )
594 .Scope( AS_GLOBAL )
595 .FriendlyName( _( "Zoom Out Horizontally" ) )
596 .Tooltip( _( "Zoom out horizontally the plot area" ) )
598
600 .Name( "common.Control.zoomInVertically" )
601 .Scope( AS_GLOBAL )
602 .FriendlyName( _( "Zoom In Vertically" ) )
603 .Tooltip( _( "Zoom in vertically the plot area" ) )
605
607 .Name( "common.Control.zoomOutVertically" )
608 .Scope( AS_GLOBAL )
609 .FriendlyName( _( "Zoom Out Vertically" ) )
610 .Tooltip( _( "Zoom out vertically the plot area" ) )
612
614 .Name( "common.Control.zoomCenter" )
615 .Scope( AS_GLOBAL )
616 .DefaultHotkey( WXK_F4 )
617 .LegacyHotkeyName( "Zoom Center" )
618 .FriendlyName( _( "Center on Cursor" ) )
620
622 .Name( "common.Control.zoomTool" )
623 .Scope( AS_GLOBAL )
624 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F5 ) )
625 .LegacyHotkeyName( "Zoom to Selection" )
626 .FriendlyName( _( "Zoom to Selection" ) )
627 .Icon( BITMAPS::zoom_area )
628 .Flags( AF_ACTIVATE ) );
629
631 .Name( "common.Control.undoZoom" )
632 .Scope( AS_GLOBAL )
633 .FriendlyName( _( "Undo Last Zoom" ) )
634 .Tooltip( _( "Return zoom to level prior to last zoom action" ) )
635 .Icon( BITMAPS::undo ) );
636
638 .Name( "common.Control.redoZoom" )
639 .Scope( AS_GLOBAL )
640 .FriendlyName( _( "Redo Last Zoom" ) )
641 .Tooltip( _( "Return zoom to level prior to last zoom undo" ) )
642 .Icon( BITMAPS::redo ) );
643
645 .Name( "common.Control.zoomPreset" )
646 .Scope( AS_GLOBAL )
647 .Parameter<int>( 0 ) ); // Default parameter is the 0th item in the list
648
650 .Name( "common.Control.centerContents" )
651 .Scope( AS_GLOBAL ) );
652
653// Cursor control
655 .Name( "common.Control.cursorUp" )
656 .Scope( AS_GLOBAL )
657 .DefaultHotkey( WXK_UP )
658 .FriendlyName( _( "Cursor Up" ) )
659 .Flags( AF_NONE )
660 .Parameter( CURSOR_UP ) );
661
663 .Name( "common.Control.cursorDown" )
664 .Scope( AS_GLOBAL )
665 .DefaultHotkey( WXK_DOWN )
666 .FriendlyName( _( "Cursor Down" ) )
667 .Flags( AF_NONE )
668 .Parameter( CURSOR_DOWN ) );
669
671 .Name( "common.Control.cursorLeft" )
672 .Scope( AS_GLOBAL )
673 .DefaultHotkey( WXK_LEFT )
674 .FriendlyName( _( "Cursor Left" ) )
675 .Flags( AF_NONE )
676 .Parameter( CURSOR_LEFT ) );
677
679 .Name( "common.Control.cursorRight" )
680 .Scope( AS_GLOBAL )
681 .DefaultHotkey( WXK_RIGHT )
682 .FriendlyName( _( "Cursor Right" ) )
683 .Flags( AF_NONE )
684 .Parameter( CURSOR_RIGHT ) );
685
686
688 .Name( "common.Control.cursorUpFast" )
689 .Scope( AS_GLOBAL )
690 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_UP ) )
691 .FriendlyName( _( "Cursor Up Fast" ) )
692 .Flags( AF_NONE )
693 .Parameter( CURSOR_UP_FAST ) );
694
696 .Name( "common.Control.cursorDownFast" )
697 .Scope( AS_GLOBAL )
698 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_DOWN ) )
699 .FriendlyName( _( "Cursor Down Fast" ) )
700 .Flags( AF_NONE )
701 .Parameter( CURSOR_DOWN_FAST ) );
702
704 .Name( "common.Control.cursorLeftFast" )
705 .Scope( AS_GLOBAL )
706 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_LEFT ) )
707 .FriendlyName( _( "Cursor Left Fast" ) )
708 .Flags( AF_NONE )
709 .Parameter( CURSOR_LEFT_FAST ) );
710
712 .Name( "common.Control.cursorRightFast" )
713 .Scope( AS_GLOBAL )
714 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_RIGHT ) )
715 .FriendlyName( _( "Cursor Right Fast" ) )
716 .Flags( AF_NONE )
717 .Parameter( CURSOR_RIGHT_FAST ) );
718
720 .Name( "common.Control.cursorClick" )
721 .Scope( AS_GLOBAL )
722 .DefaultHotkey( WXK_RETURN )
723 .LegacyHotkeyName( "Mouse Left Click" )
724 .FriendlyName( _( "Click" ) )
725 .Tooltip( _( "Performs left mouse button click" ) )
726 .Flags( AF_NONE )
727 .Parameter( CURSOR_CLICK ) );
728
730 .Name( "common.Control.cursorDblClick" )
731 .Scope( AS_GLOBAL )
732 .DefaultHotkey( WXK_END )
733 .LegacyHotkeyName( "Mouse Left Double Click" )
734 .FriendlyName( _( "Double-click" ) )
735 .Tooltip( _( "Performs left mouse button double-click" ) )
736 .Flags( AF_NONE )
737 .Parameter( CURSOR_DBL_CLICK ) );
738
740 .Name( "common.Control.refreshPreview" )
741 .Scope( AS_GLOBAL ) );
742
744 .Name( "common.Control.pinLibrary" )
745 .Scope( AS_GLOBAL )
746 .FriendlyName( _( "Pin Library" ) )
747 .Tooltip( _( "Keep the library at the top of the list" ) ) );
748
750 .Name( "common.Control.unpinLibrary" )
751 .Scope( AS_GLOBAL )
752 .FriendlyName( _( "Unpin Library" ) )
753 .Tooltip( _( "No longer keep the library at the top of the list" ) ) );
754
756 .Name( "common.Control.showLibraryTree" )
757 .Scope( AS_GLOBAL )
758 .FriendlyName( _( "Show Library Tree" ) )
759 .Icon( BITMAPS::search_tree ) );
760
762 .Name( "common.Control.hideLibraryTree" )
763 .Scope( AS_GLOBAL )
764 .FriendlyName( _( "Hide Library Tree" ) )
765 .Icon( BITMAPS::search_tree ) );
766
768 .Name( "common.Control.libraryTreeSearch" )
769 .Scope( AS_GLOBAL )
770 .FriendlyName( _( "Focus Library Tree Search Field" ) )
771 .DefaultHotkey( MD_CTRL + 'L' ) );
772
774 .Name( "common.Control.panUp" )
775 .Scope( AS_GLOBAL )
776 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_UP ) )
777 .FriendlyName( _( "Pan Up" ) )
778 .Flags( AF_NONE )
779 .Parameter( CURSOR_UP ) );
780
782 .Name( "common.Control.panDown" )
783 .Scope( AS_GLOBAL )
784 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_DOWN ) )
785 .FriendlyName( _( "Pan Down" ) )
786 .Flags( AF_NONE )
787 .Parameter( CURSOR_DOWN ) );
788
790 .Name( "common.Control.panLeft" )
791 .Scope( AS_GLOBAL )
792 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_LEFT ) )
793 .FriendlyName( _( "Pan Left" ) )
794 .Flags( AF_NONE )
795 .Parameter( CURSOR_LEFT ) );
796
798 .Name( "common.Control.panRight" )
799 .Scope( AS_GLOBAL )
800 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_RIGHT ) )
801 .FriendlyName( _( "Pan Right" ) )
802 .Flags( AF_NONE )
803 .Parameter( CURSOR_RIGHT ) );
804
805// Grid control
807 .Name( "common.Control.gridFast1" )
808 .Scope( AS_GLOBAL )
809 .DefaultHotkey( MD_ALT + '1' )
810 .LegacyHotkeyName( "Switch Grid To Fast Grid1" )
811 .FriendlyName( _( "Switch to Fast Grid 1" ) ) );
812
814 .Name( "common.Control.gridFast2" )
815 .Scope( AS_GLOBAL )
816 .DefaultHotkey( MD_ALT + '2' )
817 .LegacyHotkeyName( "Switch Grid To Fast Grid2" )
818 .FriendlyName( _( "Switch to Fast Grid 2" ) ) );
819
821 .Name( "common.Control.gridFastCycle" )
822 .Scope( AS_GLOBAL )
823 .DefaultHotkey( MD_ALT + '4' )
824 .LegacyHotkeyName( "Switch Grid To Next Fast Grid" )
825 .FriendlyName( _( "Cycle Fast Grid" ) ) );
826
828 .Name( "common.Control.gridNext" )
829 .Scope( AS_GLOBAL )
830 .DefaultHotkey( 'N' )
831 .LegacyHotkeyName( "Switch Grid To Next" )
832 .FriendlyName( _("Switch to Next Grid" ) ) );
833
835 .Name( "common.Control.gridPrev" )
836 .Scope( AS_GLOBAL )
837 .DefaultHotkey( MD_SHIFT + 'N' )
838 .LegacyHotkeyName( "Switch Grid To Previous" )
839 .FriendlyName( _( "Switch to Previous Grid" ) ) );
840
842 .Name( "common.Control.gridSetOrigin" )
843 .Scope( AS_GLOBAL )
844 .LegacyHotkeyName( "Set Grid Origin" )
845 .FriendlyName( _( "Grid Origin" ) )
846 .Tooltip( _( "Place the grid origin point" ) )
848 .Parameter<VECTOR2D*>( nullptr ) );
849
851 .Name( "common.Control.gridResetOrigin" )
852 .Scope( AS_GLOBAL )
853 .LegacyHotkeyName( "Reset Grid Origin" )
854 .FriendlyName( _( "Reset Grid Origin" ) ) );
855
857 .Name( "common.Control.gridPreset" )
858 .Scope( AS_GLOBAL )
859 .Parameter<int>( 0 ) ); // Default to the 1st element of the list
860
862 .Name( "common.Control.toggleGrid" )
863 .Scope( AS_GLOBAL)
864 .FriendlyName( _( "Show Grid" ) )
865 .Tooltip( _( "Display background grid in the edit window" ) )
866 .Icon( BITMAPS::grid ) );
867
869 .Name( "common.Control.toggleGridOverrides" )
870 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'G' )
871 .Scope( AS_GLOBAL)
872 .FriendlyName( _( "Grid Overrides" ) )
873 .Tooltip( _( "Enables item-specific grids that override the current grid" ) )
874 .Icon( BITMAPS::grid_override ) );
875
877 .Name( "common.Control.editGrids" )
878 .Scope( AS_GLOBAL )
879 .FriendlyName( _( "Edit Grids..." ) )
880 .Tooltip( _( "Edit grid definitions" ) )
881 .Icon( BITMAPS::grid_select ) );
882
884 .Name( "common.Control.editGridOrigin" )
885 .Scope( AS_GLOBAL )
886 .FriendlyName( _( "Grid Origin..." ) )
887 .Tooltip( _( "Set the grid origin point" ) ) );
888
890 .Name( "common.Control.imperialUnits" )
891 .Scope( AS_GLOBAL )
892 .FriendlyName( _( "Inches" ) )
893 .Tooltip( _( "Use inches" ) )
894 .Icon( BITMAPS::unit_inch )
895 .Flags( AF_NONE )
896 .Parameter( EDA_UNITS::INCHES ) );
897
899 .Name( "common.Control.mils" )
900 .Scope( AS_GLOBAL )
901 .FriendlyName( _( "Mils" ) )
902 .Tooltip( _( "Use mils" ) )
903 .Icon( BITMAPS::unit_mil )
904 .Flags( AF_NONE )
905 .Parameter( EDA_UNITS::MILS ) );
906
908 .Name( "common.Control.metricUnits" )
909 .Scope( AS_GLOBAL )
910 .FriendlyName( _( "Millimeters" ) )
911 .Tooltip( _( "Use millimeters" ) )
912 .Icon( BITMAPS::unit_mm )
913 .Flags( AF_NONE )
914 .Parameter( EDA_UNITS::MILLIMETRES ) );
915
917 .Name( "common.Control.updateUnits" )
918 .Scope( AS_GLOBAL ) );
919
921 .Name( "common.Control.updatePreferences" )
922 .Scope( AS_GLOBAL ) );
923
925 .Name( "common.Control.selectColumns" )
926 .Scope( AS_GLOBAL )
927 .FriendlyName( _( "Select Columns..." ) ) );
928
930 .Name( "common.Control.toggleUnits" )
931 .Scope( AS_GLOBAL )
932 .DefaultHotkey( MD_CTRL + 'U' )
933 .LegacyHotkeyName( "Switch Units" )
934 .FriendlyName( _( "Switch units" ) )
935 .Tooltip( _( "Switch between imperial and metric units" ) )
936 .Icon( BITMAPS::unit_mm ) );
937
939 .Name( "common.Control.togglePolarCoords" )
940 .Scope( AS_GLOBAL )
941 .FriendlyName( _( "Polar Coordinates" ) )
942 .Tooltip( _( "Switch between polar and cartesian coordinate systems" ) )
943 .Icon( BITMAPS::polar_coord ) );
944
946 .Name( "common.Control.resetLocalCoords" )
947 .Scope( AS_GLOBAL )
948 .DefaultHotkey( ' ' )
949 .LegacyHotkeyName( "Reset Local Coordinates" )
950 .FriendlyName( _( "Reset Local Coordinates" ) ) );
951
953 .Name( "common.Control.toggleCursor" )
954 .Scope( AS_GLOBAL )
955 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'X' )
956 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
957 .LegacyHotkeyName( "Toggle Cursor Display (Modern Toolset only)" )
958 .FriendlyName( _( "Always Show Crosshairs" ) )
959 .Tooltip( _( "Display crosshairs even when not drawing objects" ) )
960 .Icon( BITMAPS::cursor ) );
961
963 .Name( "common.Control.toggleCursorStyle" )
964 .Scope( AS_GLOBAL )
965 .FriendlyName( _( "Full-Window Crosshairs" ) )
966 .Tooltip( _( "Switch display of full-window crosshairs" ) )
967 .Icon( BITMAPS::cursor_shape ) );
968
970 .Name( "common.Control.highContrastMode" )
971 .Scope( AS_GLOBAL )
972 .LegacyHotkeyName( "Toggle High Contrast Mode" )
973 .FriendlyName( _( "Inactive Layer View Mode" ) )
974 .Tooltip( _( "Toggle inactive layers between normal and dimmed" ) )
975 .Icon( BITMAPS::contrast_mode ) );
976
978 .Name( "common.Control.highContrastModeCycle" )
979 .Scope( AS_GLOBAL )
980 .DefaultHotkey( 'H' )
981 .FriendlyName( _( "Inactive Layer View Mode (3-state)" ) )
982 .Tooltip( _( "Cycle inactive layers between normal, dimmed, and hidden" ) )
983 .Icon( BITMAPS::contrast_mode ) );
984
986 .Name( "common.Control.toggleBoundingBoxes" )
987 .Scope( AS_GLOBAL )
988 .FriendlyName( _( "Draw Bounding Boxes" ) )
990
992 .Name( "common.InteractiveSelection.selectionTool" )
993 .Scope( AS_GLOBAL )
994 .FriendlyName( _( "Select item(s)" ) )
995 .Icon( BITMAPS::cursor )
996 .Flags( AF_ACTIVATE ) );
997
999 .Name( "common.Interactive.measureTool" )
1000 .Scope( AS_GLOBAL )
1001 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'M' )
1002 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1003 .LegacyHotkeyName( "Measure Distance (Modern Toolset only)" )
1004 .FriendlyName( _( "Measure Tool" ) )
1005 .Tooltip( _( "Interactively measure distance between points" ) )
1006 .Icon( BITMAPS::measurement )
1007 .Flags( AF_ACTIVATE ) );
1008
1010 .Name( "common.InteractivePicker.pickerTool" )
1011 .Scope( AS_GLOBAL )
1012 .Flags( AF_ACTIVATE ) );
1013
1015 .Name( "common.InteractivePicker.pickerSubTool" )
1016 .Scope( AS_GLOBAL ) );
1017
1019 .Name( "common.Control.showProjectManager" )
1020 .Scope( AS_GLOBAL )
1021 .FriendlyName( _( "Switch to Project Manager" ) )
1022 .Tooltip( _( "Show project window" ) )
1023 .Icon( BITMAPS::icon_kicad_24 ) );
1024
1026 .Name( "common.Control.show3DViewer" )
1027 .Scope( AS_GLOBAL )
1028 .DefaultHotkey( MD_ALT + '3' )
1029 .LegacyHotkeyName( "3D Viewer" )
1030 .FriendlyName( _( "3D Viewer" ) )
1031 .Tooltip( _( "Show 3D viewer window" ) )
1032 .Icon( BITMAPS::three_d ) );
1033
1035 .Name( "common.Control.showSymbolBrowser" )
1036 .Scope( AS_GLOBAL )
1037 .FriendlyName( _( "Symbol Library Browser" ) )
1038 .Tooltip( _( "Browse symbol libraries" ) )
1040 .Flags( AF_NONE)
1041 .Parameter( FRAME_SCH_VIEWER ) );
1042
1044 .Name( "common.Control.showSymbolEditor" )
1045 .Scope( AS_GLOBAL )
1046 .FriendlyName( _( "Symbol Editor" ) )
1047 .Tooltip( _( "Create, delete and edit symbols" ) )
1048 .Icon( BITMAPS::libedit )
1049 .Flags( AF_NONE )
1050 .Parameter( FRAME_SCH_SYMBOL_EDITOR ) );
1051
1053 .Name( "common.Control.showFootprintBrowser" )
1054 .Scope( AS_GLOBAL )
1055 .FriendlyName( _( "Footprint Library Browser" ) )
1056 .Tooltip( _( "Browse footprint libraries" ) )
1058 .Flags( AF_NONE )
1059 .Parameter( FRAME_FOOTPRINT_VIEWER ) );
1060
1062 .Name( "common.Control.showFootprintEditor" )
1063 .Scope( AS_GLOBAL )
1064 .FriendlyName( _( "Footprint Editor" ) )
1065 .Tooltip( _( "Create, delete and edit footprints" ) )
1066 .Icon( BITMAPS::module_editor )
1067 .Flags( AF_NONE )
1068 .Parameter( FRAME_FOOTPRINT_EDITOR ) );
1069
1071 .Name( "common.Control.showProperties" )
1072 .Scope( AS_GLOBAL )
1073 .FriendlyName( _( "Show Properties Manager" ) )
1074 .Tooltip( _( "Show/hide the properties manager" ) )
1075 .Icon( BITMAPS::tools ) );
1076
1078 .Name( "common.Control.updatePcbFromSchematic" )
1079 .Scope( AS_GLOBAL )
1080 .DefaultHotkey( WXK_F8 )
1081 .LegacyHotkeyName( "Update PCB from Schematic" )
1082 .FriendlyName( _( "Update PCB from Schematic..." ) )
1083 .Tooltip( _( "Update PCB with changes made to schematic" ) )
1085
1087 .Name( "common.Control.updateSchematicFromPCB" )
1088 .Scope( AS_GLOBAL )
1089 .FriendlyName( _( "Update Schematic from PCB..." ) )
1090 .Tooltip( _( "Update schematic with changes made to PCB" ) )
1092
1094 .Name( "common.SuiteControl.openPreferences" )
1095 .Scope( AS_GLOBAL )
1096 .DefaultHotkey( MD_CTRL + ',' )
1097 .FriendlyName( _( "Preferences..." ) )
1098 .Tooltip( _( "Show preferences for all open tools" ) )
1099 .Icon( BITMAPS::preference )
1100 .UIId( wxID_PREFERENCES ) );
1101
1103 .Name( "common.SuiteControl.configurePaths" )
1104 .Scope( AS_GLOBAL )
1105 .FriendlyName( _( "Configure Paths..." ) )
1106 .Tooltip( _( "Edit path configuration environment variables" ) )
1107 .Icon( BITMAPS::path ) );
1108
1110 .Name( "common.SuiteControl.showSymbolLibTable" )
1111 .Scope( AS_GLOBAL )
1112 .FriendlyName( _( "Manage Symbol Libraries..." ) )
1113 .Tooltip( _( "Edit the global and project symbol library lists" ) )
1114 .Icon( BITMAPS::library_table ) );
1115
1117 .Name( "common.SuiteControl.showFootprintLibTable" )
1118 .Scope( AS_GLOBAL )
1119 .FriendlyName( _( "Manage Footprint Libraries..." ) )
1120 .Tooltip( _( "Edit the global and project footprint library lists" ) )
1121 .Icon( BITMAPS::library_table ) );
1122
1124 .Name( "common.SuiteControl.gettingStarted" )
1125 .Scope( AS_GLOBAL )
1126 .FriendlyName( _( "Getting Started with KiCad" ) )
1127 .Tooltip( _( "Open \"Getting Started in KiCad\" guide for beginners" ) )
1128 .Icon( BITMAPS::help ) );
1129
1131 .Name( "common.SuiteControl.help" )
1132 .Scope( AS_GLOBAL )
1133 .FriendlyName( _( "Help" ) )
1134 .Tooltip( _( "Open product documentation in a web browser" ) )
1135 .Icon( BITMAPS::help_online ) );
1136
1138 .Name( "common.SuiteControl.about" )
1139 .Scope( AS_GLOBAL )
1140 .FriendlyName( _( "About KiCad" ) )
1141 .Tooltip( _( "Open about dialog" ) )
1142 .UIId( wxID_ABOUT )
1143 .Icon( BITMAPS::about ) );
1144
1146 .Name( "common.SuiteControl.listHotKeys" )
1147 .Scope( AS_GLOBAL )
1148 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F1 ) )
1149 .LegacyHotkeyName( "List Hotkeys" )
1150 .FriendlyName( _( "List Hotkeys..." ) )
1151 .Tooltip( _( "Displays current hotkeys table and corresponding commands" ) )
1152 .Icon( BITMAPS::hotkeys ) );
1153
1155 .Name( "common.SuiteControl.getInvolved" )
1156 .Scope( AS_GLOBAL )
1157 .FriendlyName( _( "Get Involved" ) )
1158 .Tooltip( _( "Open \"Contribute to KiCad\" in a web browser" ) )
1159 .Icon( BITMAPS::info ) );
1160
1162 .Name( "common.SuiteControl.donate" )
1163 .Scope( AS_GLOBAL )
1164 .FriendlyName( _( "Donate" ) )
1165 .Tooltip( _( "Open \"Donate to KiCad\" in a web browser" ) ) );
1166
1168 .Name( "common.SuiteControl.reportBug" )
1169 .Scope( AS_GLOBAL )
1170 .FriendlyName( _( "Report Bug" ) )
1171 .Tooltip( _( "Report a problem with KiCad" ) )
1172 .Icon( BITMAPS::bug ) );
1173
1175 .Name( "common.Control.ddaddLibrary" )
1176 .Scope( AS_GLOBAL ) );
1177
1178// API
1179
1181 .Name( "common.API.pluginsReload" )
1182 .Scope( AS_GLOBAL )
1183 .FriendlyName( _( "Refresh Plugins" ) )
1184 .Tooltip( _( "Reload all python plugins and refresh plugin menus" ) )
1185 .Icon( BITMAPS::reload ) );
1186
1187// Embedding Files
1188
1190 .Name( "common.Embed.embededFile" )
1191 .Scope( AS_GLOBAL )
1192 .FriendlyName( _( "Embedded Files" ) )
1193 .Tooltip( _( "Manage embedded files" ) ) );
1194
1196 .Name( "common.Embed.removeFile" )
1197 .Scope( AS_GLOBAL )
1198 .FriendlyName( _( "Remove File" ) )
1199 .Tooltip( _( "Remove an embedded file" ) ) );
1200
1202 .Name( "common.Embed.extractFile" )
1203 .Scope( AS_GLOBAL )
1204 .FriendlyName( _( "Extract File" ) )
1205 .Tooltip( _( "Extract an embedded file" ) ) );
1206
1207// System-wide selection Events
1208
1209const TOOL_EVENT EVENTS::PointSelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.pointSelected" );
1210const TOOL_EVENT EVENTS::SelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.selected" );
1211const TOOL_EVENT EVENTS::UnselectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.unselected" );
1212const TOOL_EVENT EVENTS::ClearedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.cleared" );
1213
1214const TOOL_EVENT EVENTS::ConnectivityChangedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.connectivityChanged" );
1215
1216const TOOL_EVENT EVENTS::SelectedItemsModified( TC_MESSAGE, TA_ACTION, "common.Interactive.modified" );
1217const TOOL_EVENT EVENTS::SelectedItemsMoved( TC_MESSAGE, TA_ACTION, "common.Interactive.moved" );
1218const TOOL_EVENT EVENTS::InhibitSelectionEditing( TC_MESSAGE, TA_ACTION, "common.Interactive.inhibit" );
1219const TOOL_EVENT EVENTS::UninhibitSelectionEditing( TC_MESSAGE, TA_ACTION, "common.Interactive.uninhibit" );
1220
1221const TOOL_EVENT EVENTS::DisambiguatePoint( TC_MESSAGE, TA_ACTION, "common.Interactive.disambiguate" );
1222
1224 "common.Interactive.gridChangedByKey" );
1225
1227 "common.Interactive.contrastModeChangedByKeyEvent" );
1228
1229// System-wide undo/redo Events
1230
#define _(s)
Definition: actions.cpp:38
@ grid_override
@ zoom_center_on_screen
@ text_align_right
@ cursor_shape
@ delete_cursor
@ zoom_in_vertically
@ directory_browser
@ icon_kicad_24
@ gerbview_show_negative_objects
@ text_align_left
@ module_editor
@ text_align_center
@ grid_select_axis
@ find_replace
@ print_button
@ zoom_in_horizontally
@ marker_previous
@ paste_special
@ contrast_mode
@ library_browser
@ zoom_out_vertically
@ zoom_fit_in_page
@ directory_open
@ update_pcb_from_sch
@ library_table
@ zoom_fit_to_objects
@ marker_exclude
@ zoom_out_horizontally
@ update_sch_from_pcb
static TOOL_ACTION addRowAbove
Definition: actions.h:89
static TOOL_ACTION addColBefore
Definition: actions.h:91
static TOOL_ACTION gridProperties
Definition: actions.h:179
static TOOL_ACTION gridFastCycle
Definition: actions.h:171
static TOOL_ACTION updatePcbFromSchematic
Definition: actions.h:204
static TOOL_ACTION toggleGrid
Definition: actions.h:177
static TOOL_ACTION paste
Definition: actions.h:72
static TOOL_ACTION pickerSubTool
Definition: actions.h:195
static TOOL_ACTION excludeMarker
Definition: actions.h:113
static TOOL_ACTION about
Definition: actions.h:222
static TOOL_ACTION cancelInteractive
Definition: actions.h:65
static TOOL_ACTION nextMarker
Definition: actions.h:112
static TOOL_ACTION zoomRedraw
Definition: actions.h:116
static TOOL_ACTION millimetersUnits
Definition: actions.h:185
static TOOL_ACTION unselectAll
Definition: actions.h:75
static TOOL_ACTION gridFast1
Definition: actions.h:169
static TOOL_ACTION openWithTextEditor
Definition: actions.h:61
static TOOL_ACTION gridPrev
Definition: actions.h:173
static TOOL_ACTION revert
Definition: actions.h:55
static TOOL_ACTION show3DViewer
Definition: actions.h:199
static TOOL_ACTION showLibraryTree
Definition: actions.h:144
static TOOL_ACTION reportBug
Definition: actions.h:226
static TOOL_ACTION replaceAll
Definition: actions.h:107
static TOOL_ACTION updatePreferences
Definition: actions.h:212
static TOOL_ACTION cursorLeft
Definition: actions.h:151
static TOOL_ACTION zoomOutCenter
Definition: actions.h:120
static TOOL_ACTION togglePolarCoords
Definition: actions.h:188
static TOOL_ACTION saveAs
Definition: actions.h:52
static TOOL_ACTION addLibrary
Definition: actions.h:49
static TOOL_ACTION copy
Definition: actions.h:71
static TOOL_ACTION zoomIn
Definition: actions.h:117
static TOOL_ACTION pluginsReload
Definition: actions.h:229
static TOOL_ACTION extractFile
Definition: actions.h:233
static TOOL_ACTION cursorLeftFast
Definition: actions.h:156
static TOOL_ACTION deleteRows
Definition: actions.h:93
static TOOL_ACTION zoomRedo
Definition: actions.h:131
static TOOL_ACTION addRowBelow
Definition: actions.h:90
static TOOL_ACTION pickerTool
Definition: actions.h:194
static TOOL_ACTION cycleArcEditMode
Definition: actions.h:211
static TOOL_ACTION gridPreset
Definition: actions.h:176
static TOOL_ACTION gridResetOrigin
Definition: actions.h:175
static TOOL_ACTION updateUnits
Definition: actions.h:186
static TOOL_ACTION updateFind
Definition: actions.h:108
static TOOL_ACTION showSymbolLibTable
Definition: actions.h:218
static TOOL_ACTION openDirectory
Definition: actions.h:62
static TOOL_ACTION deleteColumns
Definition: actions.h:94
static TOOL_ACTION showSymbolEditor
Definition: actions.h:201
static TOOL_ACTION showSymbolBrowser
Definition: actions.h:200
static TOOL_ACTION pasteSpecial
Definition: actions.h:73
static TOOL_ACTION findPrevious
Definition: actions.h:104
static TOOL_ACTION unmergeCells
Definition: actions.h:96
static TOOL_ACTION selectColumns
Definition: actions.h:87
static TOOL_ACTION mergeCells
Definition: actions.h:95
static TOOL_ACTION donate
Definition: actions.h:224
static TOOL_ACTION cursorDown
Definition: actions.h:150
static TOOL_ACTION zoomOut
Definition: actions.h:118
static TOOL_ACTION addColAfter
Definition: actions.h:92
static TOOL_ACTION editTable
Definition: actions.h:97
static TOOL_ACTION findAndReplace
Definition: actions.h:102
static TOOL_ACTION milsUnits
Definition: actions.h:184
static TOOL_ACTION highContrastModeCycle
Definition: actions.h:136
static TOOL_ACTION listHotKeys
Definition: actions.h:223
static TOOL_ACTION cursorRightFast
Definition: actions.h:157
static TOOL_ACTION openPreferences
Definition: actions.h:216
static TOOL_ACTION pinLibrary
Definition: actions.h:142
static TOOL_ACTION toggleBoundingBoxes
Definition: actions.h:137
static TOOL_ACTION replaceAndFindNext
Definition: actions.h:106
static TOOL_ACTION showContextMenu
Definition: actions.h:67
static TOOL_ACTION toggleCursor
Definition: actions.h:133
static TOOL_ACTION zoomOutHorizontally
Definition: actions.h:122
static TOOL_ACTION getInvolved
Definition: actions.h:225
static TOOL_ACTION rightJustify
Definition: actions.h:81
static TOOL_ACTION showFootprintLibTable
Definition: actions.h:219
static TOOL_ACTION centerContents
Definition: actions.h:132
static TOOL_ACTION plot
Definition: actions.h:58
static TOOL_ACTION zoomCenter
Definition: actions.h:125
static TOOL_ACTION panDown
Definition: actions.h:164
static TOOL_ACTION selectLibTreeColumns
Definition: actions.h:213
static TOOL_ACTION open
Definition: actions.h:50
static TOOL_ACTION saveAll
Definition: actions.h:54
static TOOL_ACTION findNext
Definition: actions.h:103
static TOOL_ACTION zoomOutVertically
Definition: actions.h:124
static TOOL_ACTION cursorDblClick
Definition: actions.h:160
static TOOL_ACTION pageSettings
Definition: actions.h:56
static TOOL_ACTION showSearch
Definition: actions.h:100
static TOOL_ACTION undo
Definition: actions.h:68
static TOOL_ACTION cursorDownFast
Definition: actions.h:155
static TOOL_ACTION removeFile
Cursor control event types.
Definition: actions.h:234
static TOOL_ACTION prevMarker
Definition: actions.h:111
static TOOL_ACTION selectRows
Definition: actions.h:86
static TOOL_ACTION duplicate
Definition: actions.h:76
static TOOL_ACTION inchesUnits
Definition: actions.h:183
static TOOL_ACTION highContrastMode
Definition: actions.h:135
static TOOL_ACTION embeddedFiles
Definition: actions.h:232
static TOOL_ACTION cursorUpFast
Definition: actions.h:154
static TOOL_ACTION toggleCursorStyle
Definition: actions.h:134
static TOOL_ACTION gridOrigin
Definition: actions.h:180
static TOOL_ACTION measureTool
Definition: actions.h:193
static TOOL_ACTION zoomInHorizontally
Definition: actions.h:121
static TOOL_ACTION panLeft
Definition: actions.h:165
static TOOL_ACTION updateMenu
Definition: actions.h:209
static TOOL_ACTION activatePointEditor
Definition: actions.h:210
static TOOL_ACTION libraryTreeSearch
Definition: actions.h:146
static TOOL_ACTION doDelete
Definition: actions.h:77
static TOOL_ACTION quit
Definition: actions.h:59
static TOOL_ACTION selectionTool
Definition: actions.h:192
static TOOL_ACTION save
Definition: actions.h:51
static TOOL_ACTION cursorClick
Definition: actions.h:159
static TOOL_ACTION zoomFitScreen
Definition: actions.h:126
static TOOL_ACTION redo
Definition: actions.h:69
static TOOL_ACTION zoomPreset
Definition: actions.h:128
static TOOL_ACTION deleteTool
Definition: actions.h:78
static TOOL_ACTION hideLibraryTree
Definition: actions.h:145
static TOOL_ACTION zoomTool
Definition: actions.h:129
static TOOL_ACTION updateSchematicFromPcb
Definition: actions.h:205
static TOOL_ACTION unpinLibrary
Definition: actions.h:143
static TOOL_ACTION leftJustify
Definition: actions.h:79
static TOOL_ACTION panUp
Definition: actions.h:163
static TOOL_ACTION showFootprintEditor
Definition: actions.h:203
static TOOL_ACTION print
Definition: actions.h:57
static TOOL_ACTION findNextMarker
Definition: actions.h:105
static TOOL_ACTION showProperties
Definition: actions.h:206
static TOOL_ACTION doNew
Definition: actions.h:47
static TOOL_ACTION zoomFitObjects
Definition: actions.h:127
static TOOL_ACTION toggleUnits
Definition: actions.h:187
static TOOL_ACTION zoomInCenter
Definition: actions.h:119
static TOOL_ACTION newLibrary
Definition: actions.h:48
static TOOL_ACTION panRight
Definition: actions.h:166
static TOOL_ACTION saveCopy
Definition: actions.h:53
static TOOL_ACTION cut
Definition: actions.h:70
static TOOL_ACTION selectTable
Definition: actions.h:88
static TOOL_ACTION gridSetOrigin
Definition: actions.h:174
static TOOL_ACTION gridFast2
Definition: actions.h:170
static TOOL_ACTION expandAll
Definition: actions.h:82
static TOOL_ACTION zoomInVertically
Definition: actions.h:123
static TOOL_ACTION ddAddLibrary
Definition: actions.h:60
static TOOL_ACTION configurePaths
Definition: actions.h:217
static TOOL_ACTION showProjectManager
Definition: actions.h:198
static TOOL_ACTION gettingStarted
Definition: actions.h:220
static TOOL_ACTION cursorUp
Cursor control with keyboard.
Definition: actions.h:149
static TOOL_ACTION refreshPreview
Definition: actions.h:139
static TOOL_ACTION zoomUndo
Definition: actions.h:130
static TOOL_ACTION showFootprintBrowser
Definition: actions.h:202
static TOOL_ACTION toggleGridOverrides
Definition: actions.h:178
static TOOL_ACTION finishInteractive
Definition: actions.h:66
static TOOL_ACTION gridNext
Definition: actions.h:172
static TOOL_ACTION cursorRight
Definition: actions.h:152
static TOOL_ACTION selectAll
Definition: actions.h:74
static TOOL_ACTION help
Definition: actions.h:221
static TOOL_ACTION find
Definition: actions.h:101
static TOOL_ACTION collapseAll
Definition: actions.h:83
static TOOL_ACTION resetLocalCoords
Definition: actions.h:189
static TOOL_ACTION centerJustify
Definition: actions.h:80
static const TOOL_EVENT DisambiguatePoint
Used for hotkey feedback.
Definition: actions.h:287
static const TOOL_EVENT ClearedEvent
Definition: actions.h:272
static const TOOL_EVENT InhibitSelectionEditing
Definition: actions.h:283
static const TOOL_EVENT GridChangedByKeyEvent
Definition: actions.h:290
static const TOOL_EVENT UndoRedoPreEvent
Definition: actions.h:293
static const TOOL_EVENT SelectedEvent
Definition: actions.h:270
static const TOOL_EVENT SelectedItemsModified
Selected items were moved, this can be very high frequency on the canvas, use with care.
Definition: actions.h:277
static const TOOL_EVENT UninhibitSelectionEditing
Used to inform tool that it should display the disambiguation menu.
Definition: actions.h:284
static const TOOL_EVENT UndoRedoPostEvent
Definition: actions.h:294
static const TOOL_EVENT PointSelectedEvent
Definition: actions.h:269
static const TOOL_EVENT SelectedItemsMoved
Used to inform tools that the selection should temporarily be non-editable.
Definition: actions.h:280
static const TOOL_EVENT ContrastModeChangedByKeyEvent
Definition: actions.h:291
static const TOOL_EVENT ConnectivityChangedEvent
Selected item had a property changed (except movement)
Definition: actions.h:274
static const TOOL_EVENT UnselectedEvent
Definition: actions.h:271
Build up the properties of a TOOL_ACTION in an incremental manner that is static-construction safe.
Definition: tool_action.h:102
Represent a single user action.
Definition: tool_action.h:269
Generic, UI-independent tool event.
Definition: tool_event.h:167
The common library.
@ FRAME_SCH_SYMBOL_EDITOR
Definition: frame_type.h:35
@ FRAME_FOOTPRINT_VIEWER
Definition: frame_type.h:45
@ FRAME_SCH_VIEWER
Definition: frame_type.h:36
@ FRAME_FOOTPRINT_EDITOR
Definition: frame_type.h:43
@ AS_GLOBAL
Global action (toolbar/main menu event, global shortcut)
Definition: tool_action.h:48
@ AF_ACTIVATE
Action activates a tool.
Definition: tool_action.h:55
@ AF_NONE
Definition: tool_action.h:54
@ TA_UNDO_REDO_POST
Definition: tool_event.h:108
@ TA_ACTION
Definition: tool_event.h:111
@ TC_MESSAGE
Definition: tool_event.h:57
@ MD_ALT
Definition: tool_event.h:144
@ MD_CTRL
Definition: tool_event.h:143
@ MD_SHIFT
Definition: tool_event.h:142