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 The 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" ) )
124 );
125
127 .Name( "common.Control.pageSettings" )
128 .Scope( AS_GLOBAL )
129 .FriendlyName( _( "Page Settings..." ) )
130 .Tooltip( _( "Settings for paper size and title block info" ) )
131 .Icon( BITMAPS::sheetset ) );
132
134 .Name( "common.Control.print" )
135 .Scope( AS_GLOBAL )
136 .DefaultHotkey( MD_CTRL + 'P' )
137 .LegacyHotkeyName( "Print" )
138 .FriendlyName( _( "Print..." ) )
139 .Icon( BITMAPS::print_button ) );
140
142 .Name( "common.Control.plot" )
143 .Scope( AS_GLOBAL )
144 .FriendlyName( _( "Plot..." ) )
145 .Icon( BITMAPS::plot ) );
146
148 .Name( "common.Control.quit" )
149 .Scope( AS_GLOBAL )
150 .FriendlyName( _( "Quit" ) )
151 .Tooltip( _( "Close the current editor" ) )
152 .Icon( BITMAPS::exit ) );
153
154// Generic Edit Actions
156 .Name( "common.Interactive.cancel" )
157 .Scope( AS_GLOBAL )
158 // ESC key is handled in the dispatcher
159 .FriendlyName( _( "Cancel" ) )
160 .Tooltip( _( "Cancel current tool" ) )
161 .Icon( BITMAPS::cancel )
162 .Flags( AF_NONE ) );
163
165 .Name( "common.Interactive.finish" )
166 .Scope( AS_GLOBAL )
167 .DefaultHotkey( WXK_END )
168 .FriendlyName( _( "Finish" ) )
169 .Tooltip( _( "Finish current tool" ) )
170 .Icon( BITMAPS::checked_ok )
171 .Flags( AF_NONE ) );
172
174 .Name( "common.Control.showContextMenu" )
175 .Scope( AS_GLOBAL )
176 .FriendlyName( _( "Show Context Menu" ) )
177 .Tooltip( _( "Perform the right-mouse-button action" ) )
178 .Flags( AF_NONE )
179 .Parameter( CURSOR_RIGHT_CLICK ) );
180
182 .Name( "common.Interactive.updateMenu" )
183 .Scope( AS_GLOBAL ) );
184
186 .Name( "common.Interactive.undo" )
187 .Scope( AS_GLOBAL )
188 .DefaultHotkey( MD_CTRL + 'Z' )
189 .LegacyHotkeyName( "Undo" )
190 .FriendlyName( _( "Undo" ) )
191 .Icon( BITMAPS::undo ) );
192
194 .Name( "common.Interactive.redo" )
195 .Scope( AS_GLOBAL )
196#if defined( __WXMAC__ )
197 .DefaultHotkey( MD_SHIFT + MD_CTRL + 'Z' )
198#else
199 .DefaultHotkey( MD_CTRL + 'Y' )
200#endif
201 .LegacyHotkeyName( "Redo" )
202 .FriendlyName( _( "Redo" ) )
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.copyAsText" )
233 .Scope( AS_GLOBAL )
234 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'C' )
235 .FriendlyName( _( "Copy as Text" ) )
236 .Tooltip( _( "Copy selected item(s) to clipboard as text" ) )
237 .Icon( BITMAPS::copy )
238 .Flags( AF_NONE ) );
239
241 .Name( "common.Interactive.paste" )
242 .Scope( AS_GLOBAL )
243 .DefaultHotkey( MD_CTRL + 'V' )
244 .LegacyHotkeyName( "Paste" )
245 .FriendlyName( _( "Paste" ) )
246 .Tooltip( _( "Paste item(s) from clipboard" ) )
247 .Icon( BITMAPS::paste )
248 .Flags( AF_NONE )
249 .UIId( wxID_PASTE ) );
250
252 .Name( "common.Interactive.selectAll" )
253 .Scope( AS_GLOBAL )
254 .DefaultHotkey( MD_CTRL + 'A' )
255 .FriendlyName( _( "Select All" ) )
256 .Tooltip( _( "Select all items on screen" ) ) );
257
259 .Name( "common.Interactive.unselectAll" )
260 .Scope( AS_GLOBAL )
261 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'A' )
262 .FriendlyName( _( "Unselect All" ) )
263 .Tooltip( _( "Unselect all items on screen" ) ) );
264
266 .Name( "common.Interactive.pasteSpecial" )
267 .Scope( AS_GLOBAL )
268 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'V' )
269 .FriendlyName( _( "Paste Special..." ) )
270 .Tooltip( _( "Paste item(s) from clipboard with options" ) )
271 .Icon( BITMAPS::paste_special ) );
272
274 .Name( "common.Interactive.duplicate" )
275 .Scope( AS_GLOBAL )
276 .DefaultHotkey( MD_CTRL + 'D' )
277 .LegacyHotkeyName( "Duplicate" )
278 .FriendlyName( _( "Duplicate" ) )
279 .Tooltip( _( "Duplicates the selected item(s)" ) )
280 .Icon( BITMAPS::duplicate ) );
281
283 .Name( "common.Interactive.delete" )
284 .Scope( AS_GLOBAL )
285#if defined( __WXMAC__ )
286 .DefaultHotkey( WXK_BACK )
287#else
288 .DefaultHotkey( WXK_DELETE )
289#endif
290 .LegacyHotkeyName( "Delete Item" )
291 .FriendlyName( _( "Delete" ) )
292 .Tooltip( _( "Delete selected item(s)" ) ) // differentiation from deleteTool, below
293 .Icon( BITMAPS::trash )
294 .Parameter( ACTIONS::REMOVE_FLAGS::NORMAL ) );
295
297 .Name( "common.Interactive.deleteTool" )
298 .Scope( AS_GLOBAL )
299 .FriendlyName( _( "Interactive Delete Tool" ) )
300 .Tooltip( _( "Delete clicked items" ) )
302 .Flags( AF_ACTIVATE ) );
303
305 .Name( "common.Control.leftJustify" )
306 .Scope( AS_GLOBAL )
307 .FriendlyName( _( "Left Justify" ) )
308 .Tooltip( _( "Left-justify fields and text items" ) )
309 .Icon( BITMAPS::text_align_left ) );
310
312 .Name( "common.Control.centerJustify" )
313 .Scope( AS_GLOBAL )
314 .FriendlyName( _( "Center Justify" ) )
315 .Tooltip( _( "Center-justify fields and text items" ) )
317
319 .Name( "common.Control.rightJustify" )
320 .Scope( AS_GLOBAL )
321 .FriendlyName( _( "Right Justify" ) )
322 .Tooltip( _( "Right-justify fields and text items" ) )
323 .Icon( BITMAPS::text_align_right ) );
324
326 .Name( "common.Control.expandAll" )
327 .Scope( AS_GLOBAL )
328 .FriendlyName( _( "Expand All" ) )
329 .Icon( BITMAPS::up ) ); // JEY TODO: need icon
330
332 .Name( "common.Control.collapseAll" )
333 .Scope( AS_GLOBAL )
334 .FriendlyName( _( "Collapse All" ) )
335 .Icon( BITMAPS::down ) ); // JEY TODO: need icon
336
337// This is the generic increment action, and will need the parameter
338// to be filled in by the event producer.
340 .Name( "eeschema.Interactive.increment" )
341 .Scope( AS_GLOBAL )
342 .FriendlyName( _( "Increment" ) )
343 .Tooltip( _( "Increment the selected item(s)" ) ) );
344
346 .Name( "eeschema.Interactive.incrementPrimary" )
347 .Scope( AS_GLOBAL )
348 .FriendlyName( _( "Increment Primary" ) )
349 .Tooltip( _( "Increment the primary field of the selected item(s)" ) )
350 .Parameter( ACTIONS::INCREMENT{ 1, 0 } ) );
351
353 .Name( "eeschema.Interactive.decrementPrimary" )
354 .Scope( AS_GLOBAL )
355 .FriendlyName( _( "Decrement Primary" ) )
356 .Tooltip( _( "Decrement the primary field of the selected item(s)" ) )
357 .Parameter( ACTIONS::INCREMENT{ -1, 0 } ) );
358
360 .Name( "eeschema.Interactive.incrementSecondary" )
361 .Scope( AS_GLOBAL )
362 .FriendlyName( _( "Increment Secondary" ) )
363 .Tooltip( _( "Increment the secondary field of the selected item(s)" ) )
364 .Parameter( ACTIONS::INCREMENT{ 1, 1 } ) );
365
367 .Name( "eeschema.Interactive.decrementSecondary" )
368 .Scope( AS_GLOBAL )
369 .FriendlyName( _( "Decrement Secondary" ) )
370 .Tooltip( _( "Decrement the secondary field of the selected item(s)" ) )
371 .Parameter( ACTIONS::INCREMENT{ -1, 1 } ) );
372
374 .Name( "common.InteractiveSelection.SelectColumns" )
375 .Scope( AS_GLOBAL )
376 .FriendlyName( _( "Select Column(s)" ) )
377 .Tooltip( _( "Select complete column(s) containing the current selected cell(s)" ) )
378 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
379
381 .Name( "common.InteractiveSelection.Rows" )
382 .Scope( AS_GLOBAL )
383 .FriendlyName( _( "Select Row(s)" ) )
384 .Tooltip( _( "Select complete row(s) containing the current selected cell(s)" ) )
385 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
386
388 .Name( "common.InteractiveSelection.SelectTable" )
389 .Scope( AS_GLOBAL )
390 .FriendlyName( _( "Select Table" ) )
391 .Tooltip( _( "Select parent table of selected cell(s)" ) )
392 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
393
395 .Name( "common.TableEditor.addRowAbove" )
396 .Scope( AS_GLOBAL )
397 .FriendlyName( _( "Add Row Above" ) )
398 .Tooltip( _( "Insert a new table row above the selected cell(s)" ) )
399 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
400
402 .Name( "common.TableEditor.addRowBelow" )
403 .Scope( AS_GLOBAL )
404 .FriendlyName( _( "Add Row Below" ) )
405 .Tooltip( _( "Insert a new table row below the selected cell(s)" ) )
406 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
407
409 .Name( "common.TableEditor.addColBefore" )
410 .Scope( AS_GLOBAL )
411 .FriendlyName( _( "Add Column Before" ) )
412 .Tooltip( _( "Insert a new table column before the selected cell(s)" ) )
413 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
414
416 .Name( "common.TableEditor.addColAfter" )
417 .Scope( AS_GLOBAL )
418 .FriendlyName( _( "Add Column After" ) )
419 .Tooltip( _( "Insert a new table column after the selected cell(s)" ) )
420 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
421
423 .Name( "common.TableEditor.deleteRows" )
424 .Scope( AS_GLOBAL )
425 .FriendlyName( _( "Delete Row(s)" ) )
426 .Tooltip( _( "Delete rows containing the currently selected cell(s)" ) )
427 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
428
430 .Name( "common.TableEditor.deleteColumns" )
431 .Scope( AS_GLOBAL )
432 .FriendlyName( _( "Delete Column(s)" ) )
433 .Tooltip( _( "Delete columns containing the currently selected cell(s)" ) )
434 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
435
437 .Name( "common.TableEditor.mergeCells" )
438 .Scope( AS_GLOBAL )
439 .FriendlyName( _( "Merge Cells" ) )
440 .Tooltip( _( "Turn selected table cells into a single cell" ) )
441 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
442
444 .Name( "common.TableEditor.unmergeCell" )
445 .Scope( AS_GLOBAL )
446 .FriendlyName( _( "Unmerge Cells" ) )
447 .Tooltip( _( "Turn merged table cells back into separate cells." ) )
448 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
449
451 .Name( "pcbnew.TableEditor.editTable" )
452 .Scope( AS_GLOBAL )
453 .DefaultHotkey( MD_CTRL + 'E' )
454 .FriendlyName( _( "Edit Table..." ) )
455 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
456
458 .Name( "common.Control.activatePointEditor" )
459 .Scope( AS_GLOBAL ) );
460
462 .Name( "common.Interactive.cycleArcEditMode" )
463 .Scope( AS_GLOBAL )
464 .DefaultHotkey( MD_CTRL + ' ' )
465 .FriendlyName( _( "Cycle Arc Editing Mode" ) )
466 .Tooltip( _( "Switch to a different method of editing arcs" ) ) );
467
469 .Name( "common.Interactive.search" )
470 .Scope( AS_GLOBAL )
471 .DefaultHotkey( MD_CTRL + 'G' )
472 .LegacyHotkeyName( "Search" )
473 .FriendlyName( _( "Search" ) )
474 .Tooltip( _( "Show/hide the search panel" ) )
475 .Icon( BITMAPS::find ) );
476
478 .Name( "common.Interactive.find" )
479 .Scope( AS_GLOBAL )
480 .DefaultHotkey( MD_CTRL + 'F' )
481 .LegacyHotkeyName( "Find" )
482 .FriendlyName( _( "Find" ) )
483 .Icon( BITMAPS::find ) );
484
486 .Name( "common.Interactive.findAndReplace" )
487 .Scope( AS_GLOBAL )
488 .DefaultHotkey( MD_CTRL + MD_ALT + 'F' )
489 .LegacyHotkeyName( "Find and Replace" )
490 .FriendlyName( _( "Find and Replace" ) )
491 .Icon( BITMAPS::find_replace ) );
492
494 .Name( "common.Interactive.findNext" )
495 .Scope( AS_GLOBAL )
496 .DefaultHotkey( WXK_F3 )
497 .LegacyHotkeyName( "Find Next" )
498 .FriendlyName( _( "Find Next" ) )
499 .Icon( BITMAPS::find ) );
500
502 .Name( "common.Interactive.findPrevious" )
503 .Scope( AS_GLOBAL )
504 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_F3 ) )
505 .LegacyHotkeyName( "Find Previous" )
506 .FriendlyName( _( "Find Previous" ) )
507 .Icon( BITMAPS::find ) );
508
510 .Name( "common.Interactive.findNextMarker" )
511 .Scope( AS_GLOBAL )
512 .DefaultHotkey( MD_CTRL + MD_SHIFT + static_cast<int>( WXK_F3 ) )
513 .LegacyHotkeyName( "Find Next Marker" )
514 .FriendlyName( _( "Find Next Marker" ) )
515 .Icon( BITMAPS::find ) );
516
518 .Name( "common.Interactive.replaceAndFindNext" )
519 .Scope( AS_GLOBAL )
520 .FriendlyName( _( "Replace and Find Next" ) )
521 .Icon( BITMAPS::find_replace ) );
522
524 .Name( "common.Interactive.replaceAll" )
525 .Scope( AS_GLOBAL )
526 .FriendlyName( _( "Replace All" ) )
527 .Icon( BITMAPS::find_replace ) );
528
530 .Name( "common.Control.updateFind" )
531 .Scope( AS_GLOBAL ) );
532
533
534// Marker Controls
536 .Name( "common.Checker.prevMarker" )
537 .Scope( AS_GLOBAL )
538 .FriendlyName( _( "Previous Marker" ) )
539 .Icon( BITMAPS::marker_previous ) );
540
542 .Name( "common.Checker.nextMarker" )
543 .Scope( AS_GLOBAL )
544 .FriendlyName( _( "Next Marker" ) )
545 .Icon( BITMAPS::marker_next ) );
546
548 .Name( "common.Checker.excludeMarker" )
549 .Scope( AS_GLOBAL )
550 .FriendlyName( _( "Exclude Marker" ) )
551 .Tooltip( _( "Mark current violation in Checker window as an exclusion" ) )
552 .Icon( BITMAPS::marker_exclude ) );
553
554// View Controls
556 .Name( "common.Control.zoomRedraw" )
557 .Scope( AS_GLOBAL )
558#if defined( __WXMAC__ )
559 .DefaultHotkey( MD_CTRL + 'R' )
560#else
561 .DefaultHotkey( WXK_F5 )
562#endif
563 .LegacyHotkeyName( "Zoom Redraw" )
564 .FriendlyName( _( "Refresh" ) )
565 .Icon( BITMAPS::refresh ) );
566
568 .Name( "common.Control.zoomFitScreen" )
569 .Scope( AS_GLOBAL )
570#if defined( __WXMAC__ )
571 .DefaultHotkey( MD_CTRL + '0' )
572#else
573 .DefaultHotkey( WXK_HOME )
574#endif
575 .LegacyHotkeyName( "Zoom Auto" )
576 .FriendlyName( _( "Zoom to Fit" ) )
577 .Icon( BITMAPS::zoom_fit_in_page ) );
578
580 .Name( "common.Control.zoomFitObjects" )
581 .Scope( AS_GLOBAL )
582 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_HOME ) )
583 .FriendlyName( _( "Zoom to Objects" ) )
585
587 .Name( "common.Control.zoomFitSelection" )
588 .Scope( AS_GLOBAL )
589 .FriendlyName( _( "Zoom to Selected Objects" ) ) );
590
592 .Name( "common.Control.zoomIn" )
593 .Scope( AS_GLOBAL )
594#if defined( __WXMAC__ )
595 .DefaultHotkey( MD_CTRL + '+' )
596#else
597 .DefaultHotkey( WXK_F1 )
598#endif
599 .LegacyHotkeyName( "Zoom In" )
600 .FriendlyName( _( "Zoom In at Cursor" ) )
601 .Icon( BITMAPS::zoom_in ) );
602
604 .Name( "common.Control.zoomOut" )
605 .Scope( AS_GLOBAL )
606#if defined( __WXMAC__ )
607 .DefaultHotkey( MD_CTRL + '-' )
608#else
609 .DefaultHotkey( WXK_F2 )
610#endif
611 .LegacyHotkeyName( "Zoom Out" )
612 .FriendlyName( _( "Zoom Out at Cursor" ) )
613 .Icon( BITMAPS::zoom_out ) );
614
616 .Name( "common.Control.zoomInCenter" )
617 .Scope( AS_GLOBAL )
618 .FriendlyName( _( "Zoom In" ) )
619 .Icon( BITMAPS::zoom_in ) );
620
622 .Name( "common.Control.zoomOutCenter" )
623 .Scope( AS_GLOBAL )
624 .FriendlyName( _( "Zoom Out" ) )
625 .Icon( BITMAPS::zoom_out ) );
626
628 .Name( "common.Control.zoomInHorizontally" )
629 .Scope( AS_GLOBAL )
630 .FriendlyName( _( "Zoom In Horizontally" ) )
631 .Tooltip( _( "Zoom in horizontally the plot area" ) )
633
635 .Name( "common.Control.zoomOutHorizontally" )
636 .Scope( AS_GLOBAL )
637 .FriendlyName( _( "Zoom Out Horizontally" ) )
638 .Tooltip( _( "Zoom out horizontally the plot area" ) )
640
642 .Name( "common.Control.zoomInVertically" )
643 .Scope( AS_GLOBAL )
644 .FriendlyName( _( "Zoom In Vertically" ) )
645 .Tooltip( _( "Zoom in vertically the plot area" ) )
647
649 .Name( "common.Control.zoomOutVertically" )
650 .Scope( AS_GLOBAL )
651 .FriendlyName( _( "Zoom Out Vertically" ) )
652 .Tooltip( _( "Zoom out vertically the plot area" ) )
654
656 .Name( "common.Control.zoomCenter" )
657 .Scope( AS_GLOBAL )
658 .DefaultHotkey( WXK_F4 )
659 .LegacyHotkeyName( "Zoom Center" )
660 .FriendlyName( _( "Center on Cursor" ) )
662
664 .Name( "common.Control.zoomTool" )
665 .Scope( AS_GLOBAL )
666 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F5 ) )
667 .LegacyHotkeyName( "Zoom to Selection" )
668 .FriendlyName( _( "Zoom to Selection" ) )
669 .Icon( BITMAPS::zoom_area )
670 .Flags( AF_ACTIVATE ) );
671
673 .Name( "common.Control.undoZoom" )
674 .Scope( AS_GLOBAL )
675 .FriendlyName( _( "Undo Last Zoom" ) )
676 .Tooltip( _( "Return zoom to level prior to last zoom action" ) )
677 .Icon( BITMAPS::undo ) );
678
680 .Name( "common.Control.redoZoom" )
681 .Scope( AS_GLOBAL )
682 .FriendlyName( _( "Redo Last Zoom" ) )
683 .Tooltip( _( "Return zoom to level prior to last zoom undo" ) )
684 .Icon( BITMAPS::redo ) );
685
687 .Name( "common.Control.zoomPreset" )
688 .Scope( AS_GLOBAL )
689 .Parameter<int>( 0 ) ); // Default parameter is the 0th item in the list
690
692 .Name( "common.Control.centerContents" )
693 .Scope( AS_GLOBAL ) );
694
696 .Name( "common.Control.centerSelection" )
697 .Scope( AS_GLOBAL )
698 .FriendlyName( _( "Pan to Center Selected Objects" ) ) );
699
700// Cursor control
702 .Name( "common.Control.cursorUp" )
703 .Scope( AS_GLOBAL )
704 .DefaultHotkey( WXK_UP )
705 .FriendlyName( _( "Cursor Up" ) )
706 .Flags( AF_NONE )
707 .Parameter( CURSOR_UP ) );
708
710 .Name( "common.Control.cursorDown" )
711 .Scope( AS_GLOBAL )
712 .DefaultHotkey( WXK_DOWN )
713 .FriendlyName( _( "Cursor Down" ) )
714 .Flags( AF_NONE )
715 .Parameter( CURSOR_DOWN ) );
716
718 .Name( "common.Control.cursorLeft" )
719 .Scope( AS_GLOBAL )
720 .DefaultHotkey( WXK_LEFT )
721 .FriendlyName( _( "Cursor Left" ) )
722 .Flags( AF_NONE )
723 .Parameter( CURSOR_LEFT ) );
724
726 .Name( "common.Control.cursorRight" )
727 .Scope( AS_GLOBAL )
728 .DefaultHotkey( WXK_RIGHT )
729 .FriendlyName( _( "Cursor Right" ) )
730 .Flags( AF_NONE )
731 .Parameter( CURSOR_RIGHT ) );
732
733
735 .Name( "common.Control.cursorUpFast" )
736 .Scope( AS_GLOBAL )
737 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_UP ) )
738 .FriendlyName( _( "Cursor Up Fast" ) )
739 .Flags( AF_NONE )
740 .Parameter( CURSOR_UP_FAST ) );
741
743 .Name( "common.Control.cursorDownFast" )
744 .Scope( AS_GLOBAL )
745 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_DOWN ) )
746 .FriendlyName( _( "Cursor Down Fast" ) )
747 .Flags( AF_NONE )
748 .Parameter( CURSOR_DOWN_FAST ) );
749
751 .Name( "common.Control.cursorLeftFast" )
752 .Scope( AS_GLOBAL )
753 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_LEFT ) )
754 .FriendlyName( _( "Cursor Left Fast" ) )
755 .Flags( AF_NONE )
756 .Parameter( CURSOR_LEFT_FAST ) );
757
759 .Name( "common.Control.cursorRightFast" )
760 .Scope( AS_GLOBAL )
761 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_RIGHT ) )
762 .FriendlyName( _( "Cursor Right Fast" ) )
763 .Flags( AF_NONE )
764 .Parameter( CURSOR_RIGHT_FAST ) );
765
767 .Name( "common.Control.cursorClick" )
768 .Scope( AS_GLOBAL )
769 .DefaultHotkey( WXK_RETURN )
770 .LegacyHotkeyName( "Mouse Left Click" )
771 .FriendlyName( _( "Click" ) )
772 .Tooltip( _( "Performs left mouse button click" ) )
773 .Flags( AF_NONE )
774 .Parameter( CURSOR_CLICK ) );
775
777 .Name( "common.Control.cursorDblClick" )
778 .Scope( AS_GLOBAL )
779 .DefaultHotkey( WXK_END )
780 .LegacyHotkeyName( "Mouse Left Double Click" )
781 .FriendlyName( _( "Double-click" ) )
782 .Tooltip( _( "Performs left mouse button double-click" ) )
783 .Flags( AF_NONE )
784 .Parameter( CURSOR_DBL_CLICK ) );
785
787 .Name( "common.Control.refreshPreview" )
788 .Scope( AS_GLOBAL ) );
789
791 .Name( "common.Control.pinLibrary" )
792 .Scope( AS_GLOBAL )
793 .FriendlyName( _( "Pin Library" ) )
794 .Tooltip( _( "Keep the library at the top of the list" ) ) );
795
797 .Name( "common.Control.unpinLibrary" )
798 .Scope( AS_GLOBAL )
799 .FriendlyName( _( "Unpin Library" ) )
800 .Tooltip( _( "No longer keep the library at the top of the list" ) ) );
801
803 .Name( "common.Control.showLibraryTree" )
804 .Scope( AS_GLOBAL )
805 .FriendlyName( _( "Library Tree" ) )
806 .Icon( BITMAPS::search_tree ) );
807
809 .Name( "common.Control.hideLibraryTree" )
810 .Scope( AS_GLOBAL )
811 .FriendlyName( _( "Hide Library Tree" ) )
812 .Icon( BITMAPS::search_tree ) );
813
815 .Name( "common.Control.libraryTreeSearch" )
816 .Scope( AS_GLOBAL )
817 .FriendlyName( _( "Focus Library Tree Search Field" ) )
818 .DefaultHotkey( MD_CTRL + 'L' ) );
819
821 .Name( "common.Control.panUp" )
822 .Scope( AS_GLOBAL )
823 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_UP ) )
824 .FriendlyName( _( "Pan Up" ) )
825 .Flags( AF_NONE )
826 .Parameter( CURSOR_UP ) );
827
829 .Name( "common.Control.panDown" )
830 .Scope( AS_GLOBAL )
831 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_DOWN ) )
832 .FriendlyName( _( "Pan Down" ) )
833 .Flags( AF_NONE )
834 .Parameter( CURSOR_DOWN ) );
835
837 .Name( "common.Control.panLeft" )
838 .Scope( AS_GLOBAL )
839 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_LEFT ) )
840 .FriendlyName( _( "Pan Left" ) )
841 .Flags( AF_NONE )
842 .Parameter( CURSOR_LEFT ) );
843
845 .Name( "common.Control.panRight" )
846 .Scope( AS_GLOBAL )
847 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_RIGHT ) )
848 .FriendlyName( _( "Pan Right" ) )
849 .Flags( AF_NONE )
850 .Parameter( CURSOR_RIGHT ) );
851
852// Grid control
854 .Name( "common.Control.gridFast1" )
855 .Scope( AS_GLOBAL )
856 .DefaultHotkey( MD_ALT + '1' )
857 .LegacyHotkeyName( "Switch Grid To Fast Grid1" )
858 .FriendlyName( _( "Switch to Fast Grid 1" ) ) );
859
861 .Name( "common.Control.gridFast2" )
862 .Scope( AS_GLOBAL )
863 .DefaultHotkey( MD_ALT + '2' )
864 .LegacyHotkeyName( "Switch Grid To Fast Grid2" )
865 .FriendlyName( _( "Switch to Fast Grid 2" ) ) );
866
868 .Name( "common.Control.gridFastCycle" )
869 .Scope( AS_GLOBAL )
870 .DefaultHotkey( MD_ALT + '4' )
871 .LegacyHotkeyName( "Switch Grid To Next Fast Grid" )
872 .FriendlyName( _( "Cycle Fast Grid" ) ) );
873
875 .Name( "common.Control.gridNext" )
876 .Scope( AS_GLOBAL )
877 .DefaultHotkey( 'N' )
878 .LegacyHotkeyName( "Switch Grid To Next" )
879 .FriendlyName( _("Switch to Next Grid" ) ) );
880
882 .Name( "common.Control.gridPrev" )
883 .Scope( AS_GLOBAL )
884 .DefaultHotkey( MD_SHIFT + 'N' )
885 .LegacyHotkeyName( "Switch Grid To Previous" )
886 .FriendlyName( _( "Switch to Previous Grid" ) ) );
887
889 .Name( "common.Control.gridSetOrigin" )
890 .Scope( AS_GLOBAL )
891 .LegacyHotkeyName( "Set Grid Origin" )
892 .FriendlyName( _( "Grid Origin" ) )
893 .Tooltip( _( "Place the grid origin point" ) )
895 .Parameter<VECTOR2D*>( nullptr ) );
896
898 .Name( "common.Control.gridResetOrigin" )
899 .Scope( AS_GLOBAL )
900 .LegacyHotkeyName( "Reset Grid Origin" )
901 .FriendlyName( _( "Reset Grid Origin" ) ) );
902
904 .Name( "common.Control.gridPreset" )
905 .Scope( AS_GLOBAL )
906 .Parameter<int>( 0 ) ); // Default to the 1st element of the list
907
909 .Name( "common.Control.toggleGrid" )
910 .Scope( AS_GLOBAL)
911 .FriendlyName( _( "Show Grid" ) )
912 .Tooltip( _( "Display background grid in the edit window" ) )
913 .Icon( BITMAPS::grid ) );
914
916 .Name( "common.Control.toggleGridOverrides" )
917 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'G' )
918 .Scope( AS_GLOBAL)
919 .FriendlyName( _( "Grid Overrides" ) )
920 .Tooltip( _( "Enables item-specific grids that override the current grid" ) )
921 .Icon( BITMAPS::grid_override ) );
922
924 .Name( "common.Control.editGrids" )
925 .Scope( AS_GLOBAL )
926 .FriendlyName( _( "Edit Grids..." ) )
927 .Tooltip( _( "Edit grid definitions" ) )
928 .Icon( BITMAPS::grid_select ) );
929
931 .Name( "common.Control.editGridOrigin" )
932 .Scope( AS_GLOBAL )
933 .FriendlyName( _( "Grid Origin..." ) )
934 .Tooltip( _( "Set the grid origin point" ) ) );
935
937 .Name( "common.Control.imperialUnits" )
938 .Scope( AS_GLOBAL )
939 .FriendlyName( _( "Inches" ) )
940 .Icon( BITMAPS::unit_inch )
941 .Flags( AF_NONE )
942 .Parameter( EDA_UNITS::INCHES ) );
943
945 .Name( "common.Control.mils" )
946 .Scope( AS_GLOBAL )
947 .FriendlyName( _( "Mils" ) )
948 .Icon( BITMAPS::unit_mil )
949 .Flags( AF_NONE )
950 .Parameter( EDA_UNITS::MILS ) );
951
953 .Name( "common.Control.metricUnits" )
954 .Scope( AS_GLOBAL )
955 .FriendlyName( _( "Millimeters" ) )
956 .Icon( BITMAPS::unit_mm )
957 .Flags( AF_NONE )
958 .Parameter( EDA_UNITS::MILLIMETRES ) );
959
961 .Name( "common.Control.updateUnits" )
962 .Scope( AS_GLOBAL ) );
963
965 .Name( "common.Control.updatePreferences" )
966 .Scope( AS_GLOBAL ) );
967
969 .Name( "common.Control.selectColumns" )
970 .Scope( AS_GLOBAL )
971 .FriendlyName( _( "Select Columns..." ) ) );
972
974 .Name( "common.Control.toggleUnits" )
975 .Scope( AS_GLOBAL )
976 .DefaultHotkey( MD_CTRL + 'U' )
977 .LegacyHotkeyName( "Switch Units" )
978 .FriendlyName( _( "Switch units" ) )
979 .Tooltip( _( "Switch between imperial and metric units" ) )
980 .Icon( BITMAPS::unit_mm ) );
981
983 .Name( "common.Control.togglePolarCoords" )
984 .Scope( AS_GLOBAL )
985 .FriendlyName( _( "Polar Coordinates" ) )
986 .Tooltip( _( "Switch between polar and cartesian coordinate systems" ) )
987 .Icon( BITMAPS::polar_coord ) );
988
990 .Name( "common.Control.resetLocalCoords" )
991 .Scope( AS_GLOBAL )
992 .DefaultHotkey( ' ' )
993 .LegacyHotkeyName( "Reset Local Coordinates" )
994 .FriendlyName( _( "Reset Local Coordinates" ) ) );
995
997 .Name( "common.Control.toggleCursor" )
998 .Scope( AS_GLOBAL )
999 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'X' )
1000 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1001 .LegacyHotkeyName( "Toggle Cursor Display (Modern Toolset only)" )
1002 .FriendlyName( _( "Always Show Crosshairs" ) )
1003 .Tooltip( _( "Display crosshairs even when not drawing objects" ) )
1004 .Icon( BITMAPS::cursor ) );
1005
1007 .Name( "common.Control.toggleCursorStyle" )
1008 .Scope( AS_GLOBAL )
1009 .FriendlyName( _( "Full-Window Crosshairs" ) )
1010 .Tooltip( _( "Switch display of full-window crosshairs" ) )
1011 .Icon( BITMAPS::cursor_shape ) );
1012
1014 .Name( "common.Control.highContrastMode" )
1015 .Scope( AS_GLOBAL )
1016 .LegacyHotkeyName( "Toggle High Contrast Mode" )
1017 .FriendlyName( _( "Inactive Layer View Mode" ) )
1018 .Tooltip( _( "Toggle inactive layers between normal and dimmed" ) )
1019 .Icon( BITMAPS::contrast_mode ) );
1020
1022 .Name( "common.Control.highContrastModeCycle" )
1023 .Scope( AS_GLOBAL )
1024 .DefaultHotkey( 'H' )
1025 .FriendlyName( _( "Inactive Layer View Mode (3-state)" ) )
1026 .Tooltip( _( "Cycle inactive layers between normal, dimmed, and hidden" ) )
1027 .Icon( BITMAPS::contrast_mode ) );
1028
1030 .Name( "common.Control.toggleBoundingBoxes" )
1031 .Scope( AS_GLOBAL )
1032 .FriendlyName( _( "Draw Bounding Boxes" ) )
1034
1036 .Name( "common.InteractiveSelection.selectionTool" )
1037 .Scope( AS_GLOBAL )
1038 .FriendlyName( _( "Select item(s)" ) )
1039 .Icon( BITMAPS::cursor )
1040 .Flags( AF_ACTIVATE ) );
1041
1043 .Name( "common.Interactive.measureTool" )
1044 .Scope( AS_GLOBAL )
1045 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'M' )
1046 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1047 .LegacyHotkeyName( "Measure Distance (Modern Toolset only)" )
1048 .FriendlyName( _( "Measure Tool" ) )
1049 .Tooltip( _( "Interactively measure distance between points" ) )
1050 .Icon( BITMAPS::measurement )
1051 .Flags( AF_ACTIVATE ) );
1052
1054 .Name( "common.InteractivePicker.pickerTool" )
1055 .Scope( AS_GLOBAL )
1056 .Flags( AF_ACTIVATE ) );
1057
1059 .Name( "common.InteractivePicker.pickerSubTool" )
1060 .Scope( AS_GLOBAL ) );
1061
1063 .Name( "common.Control.showProjectManager" )
1064 .Scope( AS_GLOBAL )
1065 .FriendlyName( _( "Switch to Project Manager" ) )
1066 .Tooltip( _( "Show project window" ) )
1067 .Icon( BITMAPS::icon_kicad_24 ) );
1068
1070 .Name( "common.Control.show3DViewer" )
1071 .Scope( AS_GLOBAL )
1072 .DefaultHotkey( MD_ALT + '3' )
1073 .LegacyHotkeyName( "3D Viewer" )
1074 .FriendlyName( _( "3D Viewer" ) )
1075 .Tooltip( _( "Show 3D viewer window" ) )
1076 .Icon( BITMAPS::three_d ) );
1077
1079 .Name( "common.Control.showSymbolBrowser" )
1080 .Scope( AS_GLOBAL )
1081 .FriendlyName( _( "Symbol Library Browser" ) )
1083 .Flags( AF_NONE)
1084 .Parameter( FRAME_SCH_VIEWER ) );
1085
1087 .Name( "common.Control.showSymbolEditor" )
1088 .Scope( AS_GLOBAL )
1089 .FriendlyName( _( "Symbol Editor" ) )
1090 .Tooltip( _( "Create, delete and edit schematic symbols" ) )
1091 .Icon( BITMAPS::libedit )
1092 .Flags( AF_NONE )
1093 .Parameter( FRAME_SCH_SYMBOL_EDITOR ) );
1094
1096 .Name( "common.Control.showFootprintBrowser" )
1097 .Scope( AS_GLOBAL )
1098 .FriendlyName( _( "Footprint Library Browser" ) )
1100 .Flags( AF_NONE )
1101 .Parameter( FRAME_FOOTPRINT_VIEWER ) );
1102
1104 .Name( "common.Control.showFootprintEditor" )
1105 .Scope( AS_GLOBAL )
1106 .FriendlyName( _( "Footprint Editor" ) )
1107 .Tooltip( _( "Create, delete and edit board footprints" ) )
1108 .Icon( BITMAPS::module_editor )
1109 .Flags( AF_NONE )
1110 .Parameter( FRAME_FOOTPRINT_EDITOR ) );
1111
1113 .Name( "common.Control.showProperties" )
1114 .Scope( AS_GLOBAL )
1115 .FriendlyName( _( "Properties" ) )
1116 .Tooltip( _( "Show/hide the properties manager" ) )
1117 .Icon( BITMAPS::tools ) );
1118
1120 .Name( "common.Control.showDatasheet" )
1121 .Scope( AS_GLOBAL )
1122 .DefaultHotkey( 'D' )
1123 .LegacyHotkeyName( "Show Datasheet" )
1124 .FriendlyName( _( "Show Datasheet" ) )
1125 .Tooltip( _( "Open the datasheet in a browser" ) )
1126 .Icon( BITMAPS::datasheet ) );
1127
1129 .Name( "common.Control.updatePcbFromSchematic" )
1130 .Scope( AS_GLOBAL )
1131 .DefaultHotkey( WXK_F8 )
1132 .LegacyHotkeyName( "Update PCB from Schematic" )
1133 .FriendlyName( _( "Update PCB from Schematic..." ) )
1134 .Tooltip( _( "Update PCB with changes made to schematic" ) )
1136
1138 .Name( "common.Control.updateSchematicFromPCB" )
1139 .Scope( AS_GLOBAL )
1140 .FriendlyName( _( "Update Schematic from PCB..." ) )
1141 .Tooltip( _( "Update schematic with changes made to PCB" ) )
1143
1145 .Name( "common.SuiteControl.openPreferences" )
1146 .Scope( AS_GLOBAL )
1147 .DefaultHotkey( MD_CTRL + ',' )
1148 .FriendlyName( _( "Preferences..." ) )
1149 .Tooltip( _( "Show preferences for all open tools" ) )
1150 .Icon( BITMAPS::preference )
1151 .UIId( wxID_PREFERENCES ) );
1152
1154 .Name( "common.SuiteControl.configurePaths" )
1155 .Scope( AS_GLOBAL )
1156 .FriendlyName( _( "Configure Paths..." ) )
1157 .Tooltip( _( "Edit path configuration environment variables" ) )
1158 .Icon( BITMAPS::path ) );
1159
1161 .Name( "common.SuiteControl.showSymbolLibTable" )
1162 .Scope( AS_GLOBAL )
1163 .FriendlyName( _( "Manage Symbol Libraries..." ) )
1164 .Tooltip( _( "Edit the global and project symbol library lists" ) )
1165 .Icon( BITMAPS::library_table ) );
1166
1168 .Name( "common.SuiteControl.showFootprintLibTable" )
1169 .Scope( AS_GLOBAL )
1170 .FriendlyName( _( "Manage Footprint Libraries..." ) )
1171 .Tooltip( _( "Edit the global and project footprint library lists" ) )
1172 .Icon( BITMAPS::library_table ) );
1173
1175 .Name( "common.SuiteControl.showDesignBLockLibTable" )
1176 .Scope( AS_GLOBAL )
1177 .FriendlyName( _( "Manage Design Block Libraries..." ) )
1178 .Tooltip( _( "Edit the global and project design block library lists" ) )
1179 .Icon( BITMAPS::library_table ) );
1180
1182 .Name( "common.SuiteControl.gettingStarted" )
1183 .Scope( AS_GLOBAL )
1184 .FriendlyName( _( "Getting Started with KiCad" ) )
1185 .Tooltip( _( "Open \"Getting Started in KiCad\" guide for beginners" ) )
1186 .Icon( BITMAPS::help ) );
1187
1189 .Name( "common.SuiteControl.help" )
1190 .Scope( AS_GLOBAL )
1191 .FriendlyName( _( "Help" ) )
1192 .Tooltip( _( "Open product documentation in a web browser" ) )
1193 .Icon( BITMAPS::help_online ) );
1194
1196 .Name( "common.SuiteControl.about" )
1197 .Scope( AS_GLOBAL )
1198 .FriendlyName( _( "About KiCad" ) )
1199 .UIId( wxID_ABOUT )
1200 .Icon( BITMAPS::about ) );
1201
1203 .Name( "common.SuiteControl.listHotKeys" )
1204 .Scope( AS_GLOBAL )
1205 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F1 ) )
1206 .LegacyHotkeyName( "List Hotkeys" )
1207 .FriendlyName( _( "List Hotkeys..." ) )
1208 .Tooltip( _( "Displays current hotkeys table and corresponding commands" ) )
1209 .Icon( BITMAPS::hotkeys ) );
1210
1212 .Name( "common.SuiteControl.getInvolved" )
1213 .Scope( AS_GLOBAL )
1214 .FriendlyName( _( "Get Involved" ) )
1215 .Tooltip( _( "Open \"Contribute to KiCad\" in a web browser" ) )
1216 .Icon( BITMAPS::info ) );
1217
1219 .Name( "common.SuiteControl.donate" )
1220 .Scope( AS_GLOBAL )
1221 .FriendlyName( _( "Donate" ) )
1222 .Tooltip( _( "Open \"Donate to KiCad\" in a web browser" ) ) );
1223
1225 .Name( "common.SuiteControl.reportBug" )
1226 .Scope( AS_GLOBAL )
1227 .FriendlyName( _( "Report Bug" ) )
1228 .Tooltip( _( "Report a problem with KiCad" ) )
1229 .Icon( BITMAPS::bug ) );
1230
1232 .Name( "common.Control.ddaddLibrary" )
1233 .Scope( AS_GLOBAL ) );
1234
1235// API
1236
1238 .Name( "common.API.pluginsReload" )
1239 .Scope( AS_GLOBAL )
1240 .FriendlyName( _( "Refresh Plugins" ) )
1241 .Tooltip( _( "Reload all python plugins and refresh plugin menus" ) )
1242 .Icon( BITMAPS::reload ) );
1243
1244// Embedding Files
1245
1247 .Name( "common.Embed.embededFile" )
1248 .Scope( AS_GLOBAL )
1249 .FriendlyName( _( "Embedded Files" ) )
1250 .Tooltip( _( "Manage embedded files" ) ) );
1251
1253 .Name( "common.Embed.removeFile" )
1254 .Scope( AS_GLOBAL )
1255 .FriendlyName( _( "Remove File" ) )
1256 .Tooltip( _( "Remove an embedded file" ) ) );
1257
1259 .Name( "common.Embed.extractFile" )
1260 .Scope( AS_GLOBAL )
1261 .FriendlyName( _( "Extract File" ) )
1262 .Tooltip( _( "Extract an embedded file" ) ) );
1263
1264// System-wide selection Events
1265
1267 "common.Interactive.pointSelected" );
1268const TOOL_EVENT EVENTS::SelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.selected" );
1269const TOOL_EVENT EVENTS::UnselectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.unselected" );
1270const TOOL_EVENT EVENTS::ClearedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.cleared" );
1271
1273 "common.Interactive.connectivityChanged" );
1274
1276 "common.Interactive.modified" );
1277const TOOL_EVENT EVENTS::SelectedItemsMoved( TC_MESSAGE, TA_ACTION, "common.Interactive.moved" );
1279 "common.Interactive.inhibit" );
1281 "common.Interactive.uninhibit" );
1282
1284 "common.Interactive.disambiguate" );
1285
1287 "common.Interactive.gridChangedByKey" );
1288
1289const TOOL_EVENT
1291 "common.Interactive.contrastModeChangedByKeyEvent" );
1292
1293// System-wide undo/redo Events
1294
#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
@ restore_from_file
static TOOL_ACTION addRowAbove
Definition: actions.h:97
static TOOL_ACTION addColBefore
Definition: actions.h:99
static TOOL_ACTION gridProperties
Definition: actions.h:189
static TOOL_ACTION decrementPrimary
Definition: actions.h:89
static TOOL_ACTION gridFastCycle
Definition: actions.h:181
static TOOL_ACTION updatePcbFromSchematic
Definition: actions.h:214
static TOOL_ACTION toggleGrid
Definition: actions.h:187
static TOOL_ACTION paste
Definition: actions.h:73
static TOOL_ACTION pickerSubTool
Definition: actions.h:205
static TOOL_ACTION excludeMarker
Definition: actions.h:121
static TOOL_ACTION about
Definition: actions.h:234
static TOOL_ACTION cancelInteractive
Definition: actions.h:65
static TOOL_ACTION nextMarker
Definition: actions.h:120
static TOOL_ACTION zoomRedraw
Definition: actions.h:124
static TOOL_ACTION millimetersUnits
Definition: actions.h:195
static TOOL_ACTION unselectAll
Definition: actions.h:76
static TOOL_ACTION gridFast1
Definition: actions.h:179
static TOOL_ACTION openWithTextEditor
Definition: actions.h:61
static TOOL_ACTION gridPrev
Definition: actions.h:183
static TOOL_ACTION revert
Definition: actions.h:55
static TOOL_ACTION show3DViewer
Definition: actions.h:209
static TOOL_ACTION showLibraryTree
Definition: actions.h:154
static TOOL_ACTION reportBug
Definition: actions.h:238
static TOOL_ACTION decrementSecondary
Definition: actions.h:91
static TOOL_ACTION replaceAll
Definition: actions.h:115
static TOOL_ACTION updatePreferences
Definition: actions.h:223
static TOOL_ACTION cursorLeft
Definition: actions.h:161
static TOOL_ACTION zoomOutCenter
Definition: actions.h:128
static TOOL_ACTION togglePolarCoords
Definition: actions.h:198
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:125
static TOOL_ACTION pluginsReload
Definition: actions.h:241
static TOOL_ACTION extractFile
Definition: actions.h:245
static TOOL_ACTION cursorLeftFast
Definition: actions.h:166
static TOOL_ACTION deleteRows
Definition: actions.h:101
static TOOL_ACTION zoomRedo
Definition: actions.h:140
static TOOL_ACTION addRowBelow
Definition: actions.h:98
static TOOL_ACTION pickerTool
Definition: actions.h:204
static TOOL_ACTION cycleArcEditMode
Definition: actions.h:222
static TOOL_ACTION gridPreset
Definition: actions.h:186
static TOOL_ACTION gridResetOrigin
Definition: actions.h:185
static TOOL_ACTION updateUnits
Definition: actions.h:196
static TOOL_ACTION updateFind
Definition: actions.h:116
static TOOL_ACTION showSymbolLibTable
Definition: actions.h:229
static TOOL_ACTION openDirectory
Definition: actions.h:62
static TOOL_ACTION deleteColumns
Definition: actions.h:102
static TOOL_ACTION showSymbolEditor
Definition: actions.h:211
static TOOL_ACTION showSymbolBrowser
Definition: actions.h:210
static TOOL_ACTION pasteSpecial
Definition: actions.h:74
static TOOL_ACTION findPrevious
Definition: actions.h:112
static TOOL_ACTION unmergeCells
Definition: actions.h:104
static TOOL_ACTION showDatasheet
Definition: actions.h:217
static TOOL_ACTION zoomFitSelection
Definition: actions.h:136
static TOOL_ACTION selectColumns
Definition: actions.h:95
static TOOL_ACTION centerSelection
Definition: actions.h:142
static TOOL_ACTION mergeCells
Definition: actions.h:103
static TOOL_ACTION donate
Definition: actions.h:236
static TOOL_ACTION cursorDown
Definition: actions.h:160
static TOOL_ACTION zoomOut
Definition: actions.h:126
static TOOL_ACTION addColAfter
Definition: actions.h:100
static TOOL_ACTION editTable
Definition: actions.h:105
static TOOL_ACTION findAndReplace
Definition: actions.h:110
static TOOL_ACTION milsUnits
Definition: actions.h:194
static TOOL_ACTION highContrastModeCycle
Definition: actions.h:146
static TOOL_ACTION listHotKeys
Definition: actions.h:235
static TOOL_ACTION cursorRightFast
Definition: actions.h:167
static TOOL_ACTION openPreferences
Definition: actions.h:227
static TOOL_ACTION pinLibrary
Definition: actions.h:152
static TOOL_ACTION toggleBoundingBoxes
Definition: actions.h:147
static TOOL_ACTION replaceAndFindNext
Definition: actions.h:114
static TOOL_ACTION showContextMenu
Definition: actions.h:67
static TOOL_ACTION toggleCursor
Definition: actions.h:143
static TOOL_ACTION zoomOutHorizontally
Definition: actions.h:130
static TOOL_ACTION getInvolved
Definition: actions.h:237
static TOOL_ACTION rightJustify
Definition: actions.h:82
static TOOL_ACTION showFootprintLibTable
Definition: actions.h:230
static TOOL_ACTION centerContents
Definition: actions.h:141
static TOOL_ACTION plot
Definition: actions.h:58
static TOOL_ACTION zoomCenter
Definition: actions.h:133
static TOOL_ACTION panDown
Definition: actions.h:174
static TOOL_ACTION selectLibTreeColumns
Definition: actions.h:224
static TOOL_ACTION open
Definition: actions.h:50
static TOOL_ACTION saveAll
Definition: actions.h:54
static TOOL_ACTION findNext
Definition: actions.h:111
static TOOL_ACTION zoomOutVertically
Definition: actions.h:132
static TOOL_ACTION cursorDblClick
Definition: actions.h:170
static TOOL_ACTION pageSettings
Definition: actions.h:56
static TOOL_ACTION showSearch
Definition: actions.h:108
static TOOL_ACTION undo
Definition: actions.h:68
static TOOL_ACTION incrementSecondary
Definition: actions.h:90
static TOOL_ACTION cursorDownFast
Definition: actions.h:165
static TOOL_ACTION removeFile
Cursor control event types.
Definition: actions.h:246
static TOOL_ACTION prevMarker
Definition: actions.h:119
static TOOL_ACTION selectRows
Definition: actions.h:94
static TOOL_ACTION duplicate
Definition: actions.h:77
static TOOL_ACTION inchesUnits
Definition: actions.h:193
static TOOL_ACTION highContrastMode
Definition: actions.h:145
static TOOL_ACTION embeddedFiles
Definition: actions.h:244
static TOOL_ACTION incrementPrimary
Definition: actions.h:88
static TOOL_ACTION cursorUpFast
Definition: actions.h:164
static TOOL_ACTION toggleCursorStyle
Definition: actions.h:144
static TOOL_ACTION gridOrigin
Definition: actions.h:190
static TOOL_ACTION measureTool
Definition: actions.h:203
static TOOL_ACTION zoomInHorizontally
Definition: actions.h:129
static TOOL_ACTION panLeft
Definition: actions.h:175
static TOOL_ACTION updateMenu
Definition: actions.h:220
static TOOL_ACTION activatePointEditor
Definition: actions.h:221
static TOOL_ACTION libraryTreeSearch
Definition: actions.h:156
static TOOL_ACTION doDelete
Definition: actions.h:78
static TOOL_ACTION quit
Definition: actions.h:59
static TOOL_ACTION selectionTool
Definition: actions.h:202
static TOOL_ACTION save
Definition: actions.h:51
static TOOL_ACTION cursorClick
Definition: actions.h:169
static TOOL_ACTION zoomFitScreen
Definition: actions.h:134
static TOOL_ACTION redo
Definition: actions.h:69
static TOOL_ACTION zoomPreset
Definition: actions.h:137
static TOOL_ACTION deleteTool
Definition: actions.h:79
static TOOL_ACTION hideLibraryTree
Definition: actions.h:155
static TOOL_ACTION zoomTool
Definition: actions.h:138
static TOOL_ACTION updateSchematicFromPcb
Definition: actions.h:215
static TOOL_ACTION unpinLibrary
Definition: actions.h:153
static TOOL_ACTION increment
Definition: actions.h:87
static TOOL_ACTION leftJustify
Definition: actions.h:80
static TOOL_ACTION panUp
Definition: actions.h:173
static TOOL_ACTION showDesignBlockLibTable
Definition: actions.h:231
static TOOL_ACTION showFootprintEditor
Definition: actions.h:213
static TOOL_ACTION print
Definition: actions.h:57
static TOOL_ACTION findNextMarker
Definition: actions.h:113
static TOOL_ACTION showProperties
Definition: actions.h:216
static TOOL_ACTION doNew
Definition: actions.h:47
static TOOL_ACTION zoomFitObjects
Definition: actions.h:135
static TOOL_ACTION toggleUnits
Definition: actions.h:197
static TOOL_ACTION zoomInCenter
Definition: actions.h:127
static TOOL_ACTION newLibrary
Definition: actions.h:48
static TOOL_ACTION panRight
Definition: actions.h:176
static TOOL_ACTION saveCopy
Definition: actions.h:53
static TOOL_ACTION cut
Definition: actions.h:70
static TOOL_ACTION selectTable
Definition: actions.h:96
static TOOL_ACTION gridSetOrigin
Definition: actions.h:184
static TOOL_ACTION gridFast2
Definition: actions.h:180
static TOOL_ACTION expandAll
Definition: actions.h:83
static TOOL_ACTION zoomInVertically
Definition: actions.h:131
static TOOL_ACTION ddAddLibrary
Definition: actions.h:60
static TOOL_ACTION configurePaths
Definition: actions.h:228
static TOOL_ACTION showProjectManager
Definition: actions.h:208
static TOOL_ACTION gettingStarted
Definition: actions.h:232
static TOOL_ACTION copyAsText
Definition: actions.h:72
static TOOL_ACTION cursorUp
Cursor control with keyboard.
Definition: actions.h:159
static TOOL_ACTION refreshPreview
Definition: actions.h:149
static TOOL_ACTION zoomUndo
Definition: actions.h:139
static TOOL_ACTION showFootprintBrowser
Definition: actions.h:212
static TOOL_ACTION toggleGridOverrides
Definition: actions.h:188
static TOOL_ACTION finishInteractive
Definition: actions.h:66
static TOOL_ACTION gridNext
Definition: actions.h:182
static TOOL_ACTION cursorRight
Definition: actions.h:162
static TOOL_ACTION selectAll
Definition: actions.h:75
static TOOL_ACTION help
Definition: actions.h:233
static TOOL_ACTION find
Definition: actions.h:109
static TOOL_ACTION collapseAll
Definition: actions.h:84
static TOOL_ACTION resetLocalCoords
Definition: actions.h:199
static TOOL_ACTION centerJustify
Definition: actions.h:81
static const TOOL_EVENT DisambiguatePoint
Used for hotkey feedback.
Definition: actions.h:309
static const TOOL_EVENT ClearedEvent
Definition: actions.h:294
static const TOOL_EVENT InhibitSelectionEditing
Definition: actions.h:305
static const TOOL_EVENT GridChangedByKeyEvent
Definition: actions.h:312
static const TOOL_EVENT UndoRedoPreEvent
Definition: actions.h:315
static const TOOL_EVENT SelectedEvent
Definition: actions.h:292
static const TOOL_EVENT SelectedItemsModified
Selected items were moved, this can be very high frequency on the canvas, use with care.
Definition: actions.h:299
static const TOOL_EVENT UninhibitSelectionEditing
Used to inform tool that it should display the disambiguation menu.
Definition: actions.h:306
static const TOOL_EVENT UndoRedoPostEvent
Definition: actions.h:316
static const TOOL_EVENT PointSelectedEvent
Definition: actions.h:291
static const TOOL_EVENT SelectedItemsMoved
Used to inform tools that the selection should temporarily be non-editable.
Definition: actions.h:302
static const TOOL_EVENT ContrastModeChangedByKeyEvent
Definition: actions.h:313
static const TOOL_EVENT ConnectivityChangedEvent
Selected item had a property changed (except movement)
Definition: actions.h:296
static const TOOL_EVENT UnselectedEvent
Definition: actions.h:293
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:168
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
This event is sent after undo/redo command is performed.
Definition: tool_event.h:109
@ TA_ACTION
Tool action (allows one to control tools).
Definition: tool_event.h:112
@ TC_MESSAGE
Definition: tool_event.h:58
@ MD_ALT
Definition: tool_event.h:145
@ MD_CTRL
Definition: tool_event.h:144
@ MD_SHIFT
Definition: tool_event.h:143