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