KiCad PCB EDA Suite
Loading...
Searching...
No Matches
actions.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2019-2023 CERN
5 * Copyright (C) 2021-2024 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
25#include <bitmaps.h>
26#include <common.h>
27#include <eda_units.h>
28#include <frame_type.h>
29#include <tool/actions.h>
30#include <tool/tool_action.h>
31#include <tool/tool_event.h>
32
33// Actions, being statically-defined, require specialized I18N handling. We continue to
34// use the _() macro so that string harvesting by the I18N framework doesn't have to be
35// specialized, but we don't translate on initialization and instead do it in the getters.
36
37#undef _
38#define _(s) s
39
41 .Name( "common.Control.new" )
42 .Scope( AS_GLOBAL )
43 .DefaultHotkey( MD_CTRL + 'N' )
44 .LegacyHotkeyName( "New" )
45 .FriendlyName( _( "New..." ) )
46 .Tooltip( _( "Create a new document in the editor" ) )
47 .Icon( BITMAPS::new_generic ) );
48
50 .Name( "common.Control.newLibrary" )
51 .Scope( AS_GLOBAL )
52 .FriendlyName( _( "New Library..." ) )
53 .Tooltip( _( "Create a new library folder" ) )
54 .Icon( BITMAPS::new_library ) );
55
57 .Name( "common.Control.addLibrary" )
58 .Scope( AS_GLOBAL )
59 .FriendlyName( _( "Add Library..." ) )
60 .Tooltip( _( "Add an existing library folder" ) )
61 .Icon( BITMAPS::add_library ) );
62
64 .Name( "common.Control.open" )
65 .Scope( AS_GLOBAL )
66 .DefaultHotkey( MD_CTRL + 'O' )
67 .LegacyHotkeyName( "Open" )
68 .FriendlyName( _( "Open..." ) )
69 .Tooltip( _( "Open existing document" ) )
70 .Icon( BITMAPS::directory_open ) );
71
73 .Name( "common.Control.openWithTextEditor" )
74 .Scope( AS_GLOBAL )
75 .FriendlyName( _( "Edit in a Text Editor..." ) )
76 .Tooltip( _( "Open a library file with a text editor" ) )
77 .Icon( BITMAPS::editor ) );
78
80 .Name( "common.Control.openDirectory" )
81 .Scope( AS_GLOBAL )
82 .FriendlyName( _( "Open in file explorer..." ) )
83 .Tooltip( _( "Open a library file with system file explorer" ) )
85
87 .Name( "common.Control.save" )
88 .Scope( AS_GLOBAL )
89 .DefaultHotkey( MD_CTRL + 'S' )
90 .LegacyHotkeyName( "Save" )
91 .FriendlyName( _( "Save" ) )
92 .Tooltip( _( "Save changes" ) )
93 .Icon( BITMAPS::save ) );
94
96 .Name( "common.Control.saveAs" )
97 .Scope( AS_GLOBAL )
98 .DefaultHotkey( MD_SHIFT + MD_CTRL + 'S' )
99 .LegacyHotkeyName( "Save As" )
100 .FriendlyName( _( "Save As..." ) )
101 .Tooltip( _( "Save current document to another location" ) )
102 .Icon( BITMAPS::save_as ) );
103
105 .Name( "common.Control.saveCopy" )
106 .Scope( AS_GLOBAL )
107 .FriendlyName( _( "Save a Copy..." ) )
108 .Tooltip( _( "Save a copy of the current document to another location" ) )
109 .Icon( BITMAPS::save_as ) );
110
112 .Name( "common.Control.saveAll" )
113 .Scope( AS_GLOBAL )
114 .FriendlyName( _( "Save All" ) )
115 .Tooltip( _( "Save all changes" ) )
116 .Icon( BITMAPS::save ) );
117
119 .Name( "common.Control.revert" )
120 .Scope( AS_GLOBAL )
121 .FriendlyName( _( "Revert" ) )
122 .Tooltip( _( "Throw away changes" ) )
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 .FriendlyName( _( "Paste Special..." ) )
269 .Tooltip( _( "Paste item(s) from clipboard with annotation options" ) )
270 .Icon( BITMAPS::paste_special ) );
271
273 .Name( "common.Interactive.duplicate" )
274 .Scope( AS_GLOBAL )
275 .DefaultHotkey( MD_CTRL + 'D' )
276 .LegacyHotkeyName( "Duplicate" )
277 .FriendlyName( _( "Duplicate" ) )
278 .Tooltip( _( "Duplicates the selected item(s)" ) )
279 .Icon( BITMAPS::duplicate ) );
280
282 .Name( "common.Interactive.delete" )
283 .Scope( AS_GLOBAL )
284#if defined( __WXMAC__ )
285 .DefaultHotkey( WXK_BACK )
286#else
287 .DefaultHotkey( WXK_DELETE )
288#endif
289 .LegacyHotkeyName( "Delete Item" )
290 .FriendlyName( _( "Delete" ) )
291 .Tooltip( _( "Delete selected item(s)" ) ) // differentiation from deleteTool, below
292 .Icon( BITMAPS::trash )
293 .Parameter( ACTIONS::REMOVE_FLAGS::NORMAL ) );
294
296 .Name( "common.Interactive.deleteTool" )
297 .Scope( AS_GLOBAL )
298 .FriendlyName( _( "Interactive Delete Tool" ) )
299 .Tooltip( _( "Delete clicked items" ) )
301 .Flags( AF_ACTIVATE ) );
302
304 .Name( "common.Control.leftJustify" )
305 .Scope( AS_GLOBAL )
306 .FriendlyName( _( "Left Justify" ) )
307 .Tooltip( _( "Left-justify fields and text items" ) )
308 .Icon( BITMAPS::text_align_left ) );
309
311 .Name( "common.Control.centerJustify" )
312 .Scope( AS_GLOBAL )
313 .FriendlyName( _( "Center Justify" ) )
314 .Tooltip( _( "Center-justify fields and text items" ) )
316
318 .Name( "common.Control.rightJustify" )
319 .Scope( AS_GLOBAL )
320 .FriendlyName( _( "Right Justify" ) )
321 .Tooltip( _( "Right-justify fields and text items" ) )
322 .Icon( BITMAPS::text_align_right ) );
323
325 .Name( "common.Control.expandAll" )
326 .Scope( AS_GLOBAL )
327 .FriendlyName( _( "Expand All" ) )
328 .Icon( BITMAPS::up ) ); // JEY TODO: need icon
329
331 .Name( "common.Control.collapseAll" )
332 .Scope( AS_GLOBAL )
333 .FriendlyName( _( "Collapse All" ) )
334 .Icon( BITMAPS::down ) ); // JEY TODO: need icon
335
336// This is the generic increment action, and will need the parameter
337// to be filled in by the event producer.
339 .Name( "eeschema.Interactive.increment" )
340 .Scope( AS_GLOBAL )
341 .FriendlyName( _( "Increment" ) )
342 .Tooltip( _( "Increment the selected item(s)" ) ) );
343
345 .Name( "eeschema.Interactive.incrementPrimary" )
346 .Scope( AS_GLOBAL )
347 .FriendlyName( _( "Increment Primary" ) )
348 .Tooltip( _( "Increment the primary field of the selected item(s)" ) )
349 .Parameter( ACTIONS::INCREMENT{ 1, 0 } ) );
350
352 .Name( "eeschema.Interactive.decrementPrimary" )
353 .Scope( AS_GLOBAL )
354 .FriendlyName( _( "Decrement Primary" ) )
355 .Tooltip( _( "Decrement the primary field of the selected item(s)" ) )
356 .Parameter( ACTIONS::INCREMENT{ -1, 0 } ) );
357
359 .Name( "eeschema.Interactive.incrementSecondary" )
360 .Scope( AS_GLOBAL )
361 .FriendlyName( _( "Increment Secondary" ) )
362 .Tooltip( _( "Increment the secondary field of the selected item(s)" ) )
363 .Parameter( ACTIONS::INCREMENT{ 1, 1 } ) );
364
366 .Name( "eeschema.Interactive.decrementSecondary" )
367 .Scope( AS_GLOBAL )
368 .FriendlyName( _( "Decrement Secondary" ) )
369 .Tooltip( _( "Decrement the secondary field of the selected item(s)" ) )
370 .Parameter( ACTIONS::INCREMENT{ -1, 1 } ) );
371
373 .Name( "common.InteractiveSelection.SelectColumns" )
374 .Scope( AS_GLOBAL )
375 .FriendlyName( _( "Select Column(s)" ) )
376 .Tooltip( _( "Select complete column(s) containing the current selected cell(s)" ) )
377 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
378
380 .Name( "common.InteractiveSelection.Rows" )
381 .Scope( AS_GLOBAL )
382 .FriendlyName( _( "Select Row(s)" ) )
383 .Tooltip( _( "Select complete row(s) containing the current selected cell(s)" ) )
384 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
385
387 .Name( "common.InteractiveSelection.SelectTable" )
388 .Scope( AS_GLOBAL )
389 .FriendlyName( _( "Select Table" ) )
390 .Tooltip( _( "Select parent table of selected cell(s)" ) )
391 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
392
394 .Name( "common.TableEditor.addRowAbove" )
395 .Scope( AS_GLOBAL )
396 .FriendlyName( _( "Add Row Above" ) )
397 .Tooltip( _( "Insert a new table row above the selected cell(s)" ) )
398 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
399
401 .Name( "common.TableEditor.addRowBelow" )
402 .Scope( AS_GLOBAL )
403 .FriendlyName( _( "Add Row Below" ) )
404 .Tooltip( _( "Insert a new table row below the selected cell(s)" ) )
405 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
406
408 .Name( "common.TableEditor.addColBefore" )
409 .Scope( AS_GLOBAL )
410 .FriendlyName( _( "Add Column Before" ) )
411 .Tooltip( _( "Insert a new table column before the selected cell(s)" ) )
412 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
413
415 .Name( "common.TableEditor.addColAfter" )
416 .Scope( AS_GLOBAL )
417 .FriendlyName( _( "Add Column After" ) )
418 .Tooltip( _( "Insert a new table column after the selected cell(s)" ) )
419 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
420
422 .Name( "common.TableEditor.deleteRows" )
423 .Scope( AS_GLOBAL )
424 .FriendlyName( _( "Delete Row(s)" ) )
425 .Tooltip( _( "Delete rows containing the currently selected cell(s)" ) )
426 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
427
429 .Name( "common.TableEditor.deleteColumns" )
430 .Scope( AS_GLOBAL )
431 .FriendlyName( _( "Delete Column(s)" ) )
432 .Tooltip( _( "Delete columns containing the currently selected cell(s)" ) )
433 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
434
436 .Name( "common.TableEditor.mergeCells" )
437 .Scope( AS_GLOBAL )
438 .FriendlyName( _( "Merge Cells" ) )
439 .Tooltip( _( "Turn selected table cells into a single cell" ) )
440 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
441
443 .Name( "common.TableEditor.unmergeCell" )
444 .Scope( AS_GLOBAL )
445 .FriendlyName( _( "Unmerge Cells" ) )
446 .Tooltip( _( "Turn merged table cells back into separate cells." ) )
447 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
448
450 .Name( "pcbnew.TableEditor.editTable" )
451 .Scope( AS_GLOBAL )
452 .DefaultHotkey( MD_CTRL + 'E' )
453 .FriendlyName( _( "Edit Table" ) )
454 .Icon( BITMAPS::spreadsheet ) ); // JEY TODO: need icon
455
457 .Name( "common.Control.activatePointEditor" )
458 .Scope( AS_GLOBAL ) );
459
461 .Name( "common.Interactive.cycleArcEditMode" )
462 .Scope( AS_GLOBAL )
463 .DefaultHotkey( MD_CTRL + ' ' )
464 .FriendlyName( _( "Cycle Arc Editing Mode" ) )
465 .Tooltip( _( "Switch to a different method of editing arcs" ) ) );
466
468 .Name( "common.Interactive.search" )
469 .Scope( AS_GLOBAL )
470 .DefaultHotkey( MD_CTRL + 'G' )
471 .LegacyHotkeyName( "Search" )
472 .FriendlyName( _( "Search" ) )
473 .Tooltip( _( "Show/hide the search panel" ) )
474 .Icon( BITMAPS::find ) );
475
477 .Name( "common.Interactive.find" )
478 .Scope( AS_GLOBAL )
479 .DefaultHotkey( MD_CTRL + 'F' )
480 .LegacyHotkeyName( "Find" )
481 .FriendlyName( _( "Find" ) )
482 .Icon( BITMAPS::find ) );
483
485 .Name( "common.Interactive.findAndReplace" )
486 .Scope( AS_GLOBAL )
487 .DefaultHotkey( MD_CTRL + MD_ALT + 'F' )
488 .LegacyHotkeyName( "Find and Replace" )
489 .FriendlyName( _( "Find and Replace" ) )
490 .Icon( BITMAPS::find_replace ) );
491
493 .Name( "common.Interactive.findNext" )
494 .Scope( AS_GLOBAL )
495 .DefaultHotkey( WXK_F3 )
496 .LegacyHotkeyName( "Find Next" )
497 .FriendlyName( _( "Find Next" ) )
498 .Icon( BITMAPS::find ) );
499
501 .Name( "common.Interactive.findPrevious" )
502 .Scope( AS_GLOBAL )
503 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_F3 ) )
504 .LegacyHotkeyName( "Find Previous" )
505 .FriendlyName( _( "Find Previous" ) )
506 .Icon( BITMAPS::find ) );
507
509 .Name( "common.Interactive.findNextMarker" )
510 .Scope( AS_GLOBAL )
511 .DefaultHotkey( MD_CTRL + MD_SHIFT + static_cast<int>( WXK_F3 ) )
512 .LegacyHotkeyName( "Find Next Marker" )
513 .FriendlyName( _( "Find Next Marker" ) )
514 .Icon( BITMAPS::find ) );
515
517 .Name( "common.Interactive.replaceAndFindNext" )
518 .Scope( AS_GLOBAL )
519 .FriendlyName( _( "Replace and Find Next" ) )
520 .Icon( BITMAPS::find_replace ) );
521
523 .Name( "common.Interactive.replaceAll" )
524 .Scope( AS_GLOBAL )
525 .FriendlyName( _( "Replace All" ) )
526 .Icon( BITMAPS::find_replace ) );
527
529 .Name( "common.Control.updateFind" )
530 .Scope( AS_GLOBAL ) );
531
532
533// Marker Controls
535 .Name( "common.Checker.prevMarker" )
536 .Scope( AS_GLOBAL )
537 .FriendlyName( _( "Previous Marker" ) )
538 .Icon( BITMAPS::marker_previous ) );
539
541 .Name( "common.Checker.nextMarker" )
542 .Scope( AS_GLOBAL )
543 .FriendlyName( _( "Next Marker" ) )
544 .Icon( BITMAPS::marker_next ) );
545
547 .Name( "common.Checker.excludeMarker" )
548 .Scope( AS_GLOBAL )
549 .FriendlyName( _( "Exclude Marker" ) )
550 .Tooltip( _( "Mark current violation in Checker window as an exclusion" ) )
551 .Icon( BITMAPS::marker_exclude ) );
552
553// View Controls
555 .Name( "common.Control.zoomRedraw" )
556 .Scope( AS_GLOBAL )
557#if defined( __WXMAC__ )
558 .DefaultHotkey( MD_CTRL + 'R' )
559#else
560 .DefaultHotkey( WXK_F5 )
561#endif
562 .LegacyHotkeyName( "Zoom Redraw" )
563 .FriendlyName( _( "Refresh" ) )
564 .Icon( BITMAPS::refresh ) );
565
567 .Name( "common.Control.zoomFitScreen" )
568 .Scope( AS_GLOBAL )
569#if defined( __WXMAC__ )
570 .DefaultHotkey( MD_CTRL + '0' )
571#else
572 .DefaultHotkey( WXK_HOME )
573#endif
574 .LegacyHotkeyName( "Zoom Auto" )
575 .FriendlyName( _( "Zoom to Fit" ) )
576 .Icon( BITMAPS::zoom_fit_in_page ) );
577
579 .Name( "common.Control.zoomFitObjects" )
580 .Scope( AS_GLOBAL )
581 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_HOME ) )
582 .FriendlyName( _( "Zoom to Objects" ) )
584
586 .Name( "common.Control.zoomFitSelection" )
587 .Scope( AS_GLOBAL )
588 .FriendlyName( _( "Zoom to Selected Objects" ) ) );
589
591 .Name( "common.Control.zoomIn" )
592 .Scope( AS_GLOBAL )
593#if defined( __WXMAC__ )
594 .DefaultHotkey( MD_CTRL + '+' )
595#else
596 .DefaultHotkey( WXK_F1 )
597#endif
598 .LegacyHotkeyName( "Zoom In" )
599 .FriendlyName( _( "Zoom In at Cursor" ) )
600 .Icon( BITMAPS::zoom_in ) );
601
603 .Name( "common.Control.zoomOut" )
604 .Scope( AS_GLOBAL )
605#if defined( __WXMAC__ )
606 .DefaultHotkey( MD_CTRL + '-' )
607#else
608 .DefaultHotkey( WXK_F2 )
609#endif
610 .LegacyHotkeyName( "Zoom Out" )
611 .FriendlyName( _( "Zoom Out at Cursor" ) )
612 .Icon( BITMAPS::zoom_out ) );
613
615 .Name( "common.Control.zoomInCenter" )
616 .Scope( AS_GLOBAL )
617 .FriendlyName( _( "Zoom In" ) )
618 .Icon( BITMAPS::zoom_in ) );
619
621 .Name( "common.Control.zoomOutCenter" )
622 .Scope( AS_GLOBAL )
623 .FriendlyName( _( "Zoom Out" ) )
624 .Icon( BITMAPS::zoom_out ) );
625
627 .Name( "common.Control.zoomInHorizontally" )
628 .Scope( AS_GLOBAL )
629 .FriendlyName( _( "Zoom In Horizontally" ) )
630 .Tooltip( _( "Zoom in horizontally the plot area" ) )
632
634 .Name( "common.Control.zoomOutHorizontally" )
635 .Scope( AS_GLOBAL )
636 .FriendlyName( _( "Zoom Out Horizontally" ) )
637 .Tooltip( _( "Zoom out horizontally the plot area" ) )
639
641 .Name( "common.Control.zoomInVertically" )
642 .Scope( AS_GLOBAL )
643 .FriendlyName( _( "Zoom In Vertically" ) )
644 .Tooltip( _( "Zoom in vertically the plot area" ) )
646
648 .Name( "common.Control.zoomOutVertically" )
649 .Scope( AS_GLOBAL )
650 .FriendlyName( _( "Zoom Out Vertically" ) )
651 .Tooltip( _( "Zoom out vertically the plot area" ) )
653
655 .Name( "common.Control.zoomCenter" )
656 .Scope( AS_GLOBAL )
657 .DefaultHotkey( WXK_F4 )
658 .LegacyHotkeyName( "Zoom Center" )
659 .FriendlyName( _( "Center on Cursor" ) )
661
663 .Name( "common.Control.zoomTool" )
664 .Scope( AS_GLOBAL )
665 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F5 ) )
666 .LegacyHotkeyName( "Zoom to Selection" )
667 .FriendlyName( _( "Zoom to Selection" ) )
668 .Icon( BITMAPS::zoom_area )
669 .Flags( AF_ACTIVATE ) );
670
672 .Name( "common.Control.undoZoom" )
673 .Scope( AS_GLOBAL )
674 .FriendlyName( _( "Undo Last Zoom" ) )
675 .Tooltip( _( "Return zoom to level prior to last zoom action" ) )
676 .Icon( BITMAPS::undo ) );
677
679 .Name( "common.Control.redoZoom" )
680 .Scope( AS_GLOBAL )
681 .FriendlyName( _( "Redo Last Zoom" ) )
682 .Tooltip( _( "Return zoom to level prior to last zoom undo" ) )
683 .Icon( BITMAPS::redo ) );
684
686 .Name( "common.Control.zoomPreset" )
687 .Scope( AS_GLOBAL )
688 .Parameter<int>( 0 ) ); // Default parameter is the 0th item in the list
689
691 .Name( "common.Control.centerContents" )
692 .Scope( AS_GLOBAL ) );
693
695 .Name( "common.Control.centerSelection" )
696 .Scope( AS_GLOBAL )
697 .FriendlyName( _( "Pan to Center Selected Objects" ) ) );
698
699// Cursor control
701 .Name( "common.Control.cursorUp" )
702 .Scope( AS_GLOBAL )
703 .DefaultHotkey( WXK_UP )
704 .FriendlyName( _( "Cursor Up" ) )
705 .Flags( AF_NONE )
706 .Parameter( CURSOR_UP ) );
707
709 .Name( "common.Control.cursorDown" )
710 .Scope( AS_GLOBAL )
711 .DefaultHotkey( WXK_DOWN )
712 .FriendlyName( _( "Cursor Down" ) )
713 .Flags( AF_NONE )
714 .Parameter( CURSOR_DOWN ) );
715
717 .Name( "common.Control.cursorLeft" )
718 .Scope( AS_GLOBAL )
719 .DefaultHotkey( WXK_LEFT )
720 .FriendlyName( _( "Cursor Left" ) )
721 .Flags( AF_NONE )
722 .Parameter( CURSOR_LEFT ) );
723
725 .Name( "common.Control.cursorRight" )
726 .Scope( AS_GLOBAL )
727 .DefaultHotkey( WXK_RIGHT )
728 .FriendlyName( _( "Cursor Right" ) )
729 .Flags( AF_NONE )
730 .Parameter( CURSOR_RIGHT ) );
731
732
734 .Name( "common.Control.cursorUpFast" )
735 .Scope( AS_GLOBAL )
736 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_UP ) )
737 .FriendlyName( _( "Cursor Up Fast" ) )
738 .Flags( AF_NONE )
739 .Parameter( CURSOR_UP_FAST ) );
740
742 .Name( "common.Control.cursorDownFast" )
743 .Scope( AS_GLOBAL )
744 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_DOWN ) )
745 .FriendlyName( _( "Cursor Down Fast" ) )
746 .Flags( AF_NONE )
747 .Parameter( CURSOR_DOWN_FAST ) );
748
750 .Name( "common.Control.cursorLeftFast" )
751 .Scope( AS_GLOBAL )
752 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_LEFT ) )
753 .FriendlyName( _( "Cursor Left Fast" ) )
754 .Flags( AF_NONE )
755 .Parameter( CURSOR_LEFT_FAST ) );
756
758 .Name( "common.Control.cursorRightFast" )
759 .Scope( AS_GLOBAL )
760 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_RIGHT ) )
761 .FriendlyName( _( "Cursor Right Fast" ) )
762 .Flags( AF_NONE )
763 .Parameter( CURSOR_RIGHT_FAST ) );
764
766 .Name( "common.Control.cursorClick" )
767 .Scope( AS_GLOBAL )
768 .DefaultHotkey( WXK_RETURN )
769 .LegacyHotkeyName( "Mouse Left Click" )
770 .FriendlyName( _( "Click" ) )
771 .Tooltip( _( "Performs left mouse button click" ) )
772 .Flags( AF_NONE )
773 .Parameter( CURSOR_CLICK ) );
774
776 .Name( "common.Control.cursorDblClick" )
777 .Scope( AS_GLOBAL )
778 .DefaultHotkey( WXK_END )
779 .LegacyHotkeyName( "Mouse Left Double Click" )
780 .FriendlyName( _( "Double-click" ) )
781 .Tooltip( _( "Performs left mouse button double-click" ) )
782 .Flags( AF_NONE )
783 .Parameter( CURSOR_DBL_CLICK ) );
784
786 .Name( "common.Control.refreshPreview" )
787 .Scope( AS_GLOBAL ) );
788
790 .Name( "common.Control.pinLibrary" )
791 .Scope( AS_GLOBAL )
792 .FriendlyName( _( "Pin Library" ) )
793 .Tooltip( _( "Keep the library at the top of the list" ) ) );
794
796 .Name( "common.Control.unpinLibrary" )
797 .Scope( AS_GLOBAL )
798 .FriendlyName( _( "Unpin Library" ) )
799 .Tooltip( _( "No longer keep the library at the top of the list" ) ) );
800
802 .Name( "common.Control.showLibraryTree" )
803 .Scope( AS_GLOBAL )
804 .FriendlyName( _( "Library Tree" ) )
805 .Icon( BITMAPS::search_tree ) );
806
808 .Name( "common.Control.hideLibraryTree" )
809 .Scope( AS_GLOBAL )
810 .FriendlyName( _( "Hide Library Tree" ) )
811 .Icon( BITMAPS::search_tree ) );
812
814 .Name( "common.Control.libraryTreeSearch" )
815 .Scope( AS_GLOBAL )
816 .FriendlyName( _( "Focus Library Tree Search Field" ) )
817 .DefaultHotkey( MD_CTRL + 'L' ) );
818
820 .Name( "common.Control.panUp" )
821 .Scope( AS_GLOBAL )
822 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_UP ) )
823 .FriendlyName( _( "Pan Up" ) )
824 .Flags( AF_NONE )
825 .Parameter( CURSOR_UP ) );
826
828 .Name( "common.Control.panDown" )
829 .Scope( AS_GLOBAL )
830 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_DOWN ) )
831 .FriendlyName( _( "Pan Down" ) )
832 .Flags( AF_NONE )
833 .Parameter( CURSOR_DOWN ) );
834
836 .Name( "common.Control.panLeft" )
837 .Scope( AS_GLOBAL )
838 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_LEFT ) )
839 .FriendlyName( _( "Pan Left" ) )
840 .Flags( AF_NONE )
841 .Parameter( CURSOR_LEFT ) );
842
844 .Name( "common.Control.panRight" )
845 .Scope( AS_GLOBAL )
846 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_RIGHT ) )
847 .FriendlyName( _( "Pan Right" ) )
848 .Flags( AF_NONE )
849 .Parameter( CURSOR_RIGHT ) );
850
851// Grid control
853 .Name( "common.Control.gridFast1" )
854 .Scope( AS_GLOBAL )
855 .DefaultHotkey( MD_ALT + '1' )
856 .LegacyHotkeyName( "Switch Grid To Fast Grid1" )
857 .FriendlyName( _( "Switch to Fast Grid 1" ) ) );
858
860 .Name( "common.Control.gridFast2" )
861 .Scope( AS_GLOBAL )
862 .DefaultHotkey( MD_ALT + '2' )
863 .LegacyHotkeyName( "Switch Grid To Fast Grid2" )
864 .FriendlyName( _( "Switch to Fast Grid 2" ) ) );
865
867 .Name( "common.Control.gridFastCycle" )
868 .Scope( AS_GLOBAL )
869 .DefaultHotkey( MD_ALT + '4' )
870 .LegacyHotkeyName( "Switch Grid To Next Fast Grid" )
871 .FriendlyName( _( "Cycle Fast Grid" ) ) );
872
874 .Name( "common.Control.gridNext" )
875 .Scope( AS_GLOBAL )
876 .DefaultHotkey( 'N' )
877 .LegacyHotkeyName( "Switch Grid To Next" )
878 .FriendlyName( _("Switch to Next Grid" ) ) );
879
881 .Name( "common.Control.gridPrev" )
882 .Scope( AS_GLOBAL )
883 .DefaultHotkey( MD_SHIFT + 'N' )
884 .LegacyHotkeyName( "Switch Grid To Previous" )
885 .FriendlyName( _( "Switch to Previous Grid" ) ) );
886
888 .Name( "common.Control.gridSetOrigin" )
889 .Scope( AS_GLOBAL )
890 .LegacyHotkeyName( "Set Grid Origin" )
891 .FriendlyName( _( "Grid Origin" ) )
892 .Tooltip( _( "Place the grid origin point" ) )
894 .Parameter<VECTOR2D*>( nullptr ) );
895
897 .Name( "common.Control.gridResetOrigin" )
898 .Scope( AS_GLOBAL )
899 .LegacyHotkeyName( "Reset Grid Origin" )
900 .FriendlyName( _( "Reset Grid Origin" ) ) );
901
903 .Name( "common.Control.gridPreset" )
904 .Scope( AS_GLOBAL )
905 .Parameter<int>( 0 ) ); // Default to the 1st element of the list
906
908 .Name( "common.Control.toggleGrid" )
909 .Scope( AS_GLOBAL)
910 .FriendlyName( _( "Show Grid" ) )
911 .Tooltip( _( "Display background grid in the edit window" ) )
912 .Icon( BITMAPS::grid ) );
913
915 .Name( "common.Control.toggleGridOverrides" )
916 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'G' )
917 .Scope( AS_GLOBAL)
918 .FriendlyName( _( "Grid Overrides" ) )
919 .Tooltip( _( "Enables item-specific grids that override the current grid" ) )
920 .Icon( BITMAPS::grid_override ) );
921
923 .Name( "common.Control.editGrids" )
924 .Scope( AS_GLOBAL )
925 .FriendlyName( _( "Edit Grids..." ) )
926 .Tooltip( _( "Edit grid definitions" ) )
927 .Icon( BITMAPS::grid_select ) );
928
930 .Name( "common.Control.editGridOrigin" )
931 .Scope( AS_GLOBAL )
932 .FriendlyName( _( "Grid Origin..." ) )
933 .Tooltip( _( "Set the grid origin point" ) ) );
934
936 .Name( "common.Control.imperialUnits" )
937 .Scope( AS_GLOBAL )
938 .FriendlyName( _( "Inches" ) )
939 .Icon( BITMAPS::unit_inch )
940 .Flags( AF_NONE )
941 .Parameter( EDA_UNITS::INCHES ) );
942
944 .Name( "common.Control.mils" )
945 .Scope( AS_GLOBAL )
946 .FriendlyName( _( "Mils" ) )
947 .Icon( BITMAPS::unit_mil )
948 .Flags( AF_NONE )
949 .Parameter( EDA_UNITS::MILS ) );
950
952 .Name( "common.Control.metricUnits" )
953 .Scope( AS_GLOBAL )
954 .FriendlyName( _( "Millimeters" ) )
955 .Icon( BITMAPS::unit_mm )
956 .Flags( AF_NONE )
957 .Parameter( EDA_UNITS::MILLIMETRES ) );
958
960 .Name( "common.Control.updateUnits" )
961 .Scope( AS_GLOBAL ) );
962
964 .Name( "common.Control.updatePreferences" )
965 .Scope( AS_GLOBAL ) );
966
968 .Name( "common.Control.selectColumns" )
969 .Scope( AS_GLOBAL )
970 .FriendlyName( _( "Select Columns..." ) ) );
971
973 .Name( "common.Control.toggleUnits" )
974 .Scope( AS_GLOBAL )
975 .DefaultHotkey( MD_CTRL + 'U' )
976 .LegacyHotkeyName( "Switch Units" )
977 .FriendlyName( _( "Switch units" ) )
978 .Tooltip( _( "Switch between imperial and metric units" ) )
979 .Icon( BITMAPS::unit_mm ) );
980
982 .Name( "common.Control.togglePolarCoords" )
983 .Scope( AS_GLOBAL )
984 .FriendlyName( _( "Polar Coordinates" ) )
985 .Tooltip( _( "Switch between polar and cartesian coordinate systems" ) )
986 .Icon( BITMAPS::polar_coord ) );
987
989 .Name( "common.Control.resetLocalCoords" )
990 .Scope( AS_GLOBAL )
991 .DefaultHotkey( ' ' )
992 .LegacyHotkeyName( "Reset Local Coordinates" )
993 .FriendlyName( _( "Reset Local Coordinates" ) ) );
994
996 .Name( "common.Control.toggleCursor" )
997 .Scope( AS_GLOBAL )
998 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'X' )
999 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1000 .LegacyHotkeyName( "Toggle Cursor Display (Modern Toolset only)" )
1001 .FriendlyName( _( "Always Show Crosshairs" ) )
1002 .Tooltip( _( "Display crosshairs even when not drawing objects" ) )
1003 .Icon( BITMAPS::cursor ) );
1004
1006 .Name( "common.Control.toggleCursorStyle" )
1007 .Scope( AS_GLOBAL )
1008 .FriendlyName( _( "Full-Window Crosshairs" ) )
1009 .Tooltip( _( "Switch display of full-window crosshairs" ) )
1010 .Icon( BITMAPS::cursor_shape ) );
1011
1013 .Name( "common.Control.highContrastMode" )
1014 .Scope( AS_GLOBAL )
1015 .LegacyHotkeyName( "Toggle High Contrast Mode" )
1016 .FriendlyName( _( "Inactive Layer View Mode" ) )
1017 .Tooltip( _( "Toggle inactive layers between normal and dimmed" ) )
1018 .Icon( BITMAPS::contrast_mode ) );
1019
1021 .Name( "common.Control.highContrastModeCycle" )
1022 .Scope( AS_GLOBAL )
1023 .DefaultHotkey( 'H' )
1024 .FriendlyName( _( "Inactive Layer View Mode (3-state)" ) )
1025 .Tooltip( _( "Cycle inactive layers between normal, dimmed, and hidden" ) )
1026 .Icon( BITMAPS::contrast_mode ) );
1027
1029 .Name( "common.Control.toggleBoundingBoxes" )
1030 .Scope( AS_GLOBAL )
1031 .FriendlyName( _( "Draw Bounding Boxes" ) )
1033
1035 .Name( "common.InteractiveSelection.selectionTool" )
1036 .Scope( AS_GLOBAL )
1037 .FriendlyName( _( "Select item(s)" ) )
1038 .Icon( BITMAPS::cursor )
1039 .Flags( AF_ACTIVATE ) );
1040
1042 .Name( "common.Interactive.measureTool" )
1043 .Scope( AS_GLOBAL )
1044 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'M' )
1045 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1046 .LegacyHotkeyName( "Measure Distance (Modern Toolset only)" )
1047 .FriendlyName( _( "Measure Tool" ) )
1048 .Tooltip( _( "Interactively measure distance between points" ) )
1049 .Icon( BITMAPS::measurement )
1050 .Flags( AF_ACTIVATE ) );
1051
1053 .Name( "common.InteractivePicker.pickerTool" )
1054 .Scope( AS_GLOBAL )
1055 .Flags( AF_ACTIVATE ) );
1056
1058 .Name( "common.InteractivePicker.pickerSubTool" )
1059 .Scope( AS_GLOBAL ) );
1060
1062 .Name( "common.Control.showProjectManager" )
1063 .Scope( AS_GLOBAL )
1064 .FriendlyName( _( "Switch to Project Manager" ) )
1065 .Tooltip( _( "Show project window" ) )
1066 .Icon( BITMAPS::icon_kicad_24 ) );
1067
1069 .Name( "common.Control.show3DViewer" )
1070 .Scope( AS_GLOBAL )
1071 .DefaultHotkey( MD_ALT + '3' )
1072 .LegacyHotkeyName( "3D Viewer" )
1073 .FriendlyName( _( "3D Viewer" ) )
1074 .Tooltip( _( "Show 3D viewer window" ) )
1075 .Icon( BITMAPS::three_d ) );
1076
1078 .Name( "common.Control.showSymbolBrowser" )
1079 .Scope( AS_GLOBAL )
1080 .FriendlyName( _( "Symbol Library Browser" ) )
1082 .Flags( AF_NONE)
1083 .Parameter( FRAME_SCH_VIEWER ) );
1084
1086 .Name( "common.Control.showSymbolEditor" )
1087 .Scope( AS_GLOBAL )
1088 .FriendlyName( _( "Symbol Editor" ) )
1089 .Tooltip( _( "Create, delete and edit schematic symbols" ) )
1090 .Icon( BITMAPS::libedit )
1091 .Flags( AF_NONE )
1092 .Parameter( FRAME_SCH_SYMBOL_EDITOR ) );
1093
1095 .Name( "common.Control.showFootprintBrowser" )
1096 .Scope( AS_GLOBAL )
1097 .FriendlyName( _( "Footprint Library Browser" ) )
1099 .Flags( AF_NONE )
1100 .Parameter( FRAME_FOOTPRINT_VIEWER ) );
1101
1103 .Name( "common.Control.showFootprintEditor" )
1104 .Scope( AS_GLOBAL )
1105 .FriendlyName( _( "Footprint Editor" ) )
1106 .Tooltip( _( "Create, delete and edit board footprints" ) )
1107 .Icon( BITMAPS::module_editor )
1108 .Flags( AF_NONE )
1109 .Parameter( FRAME_FOOTPRINT_EDITOR ) );
1110
1112 .Name( "common.Control.showProperties" )
1113 .Scope( AS_GLOBAL )
1114 .FriendlyName( _( "Properties" ) )
1115 .Tooltip( _( "Show/hide the properties manager" ) )
1116 .Icon( BITMAPS::tools ) );
1117
1119 .Name( "common.Control.showDatasheet" )
1120 .Scope( AS_GLOBAL )
1121 .DefaultHotkey( 'D' )
1122 .LegacyHotkeyName( "Show Datasheet" )
1123 .FriendlyName( _( "Show Datasheet" ) )
1124 .Tooltip( _( "Open the datasheet in a browser" ) )
1125 .Icon( BITMAPS::datasheet ) );
1126
1128 .Name( "common.Control.updatePcbFromSchematic" )
1129 .Scope( AS_GLOBAL )
1130 .DefaultHotkey( WXK_F8 )
1131 .LegacyHotkeyName( "Update PCB from Schematic" )
1132 .FriendlyName( _( "Update PCB from Schematic..." ) )
1133 .Tooltip( _( "Update PCB with changes made to schematic" ) )
1135
1137 .Name( "common.Control.updateSchematicFromPCB" )
1138 .Scope( AS_GLOBAL )
1139 .FriendlyName( _( "Update Schematic from PCB..." ) )
1140 .Tooltip( _( "Update schematic with changes made to PCB" ) )
1142
1144 .Name( "common.SuiteControl.openPreferences" )
1145 .Scope( AS_GLOBAL )
1146 .DefaultHotkey( MD_CTRL + ',' )
1147 .FriendlyName( _( "Preferences..." ) )
1148 .Tooltip( _( "Show preferences for all open tools" ) )
1149 .Icon( BITMAPS::preference )
1150 .UIId( wxID_PREFERENCES ) );
1151
1153 .Name( "common.SuiteControl.configurePaths" )
1154 .Scope( AS_GLOBAL )
1155 .FriendlyName( _( "Configure Paths..." ) )
1156 .Tooltip( _( "Edit path configuration environment variables" ) )
1157 .Icon( BITMAPS::path ) );
1158
1160 .Name( "common.SuiteControl.showSymbolLibTable" )
1161 .Scope( AS_GLOBAL )
1162 .FriendlyName( _( "Manage Symbol Libraries..." ) )
1163 .Tooltip( _( "Edit the global and project symbol library lists" ) )
1164 .Icon( BITMAPS::library_table ) );
1165
1167 .Name( "common.SuiteControl.showFootprintLibTable" )
1168 .Scope( AS_GLOBAL )
1169 .FriendlyName( _( "Manage Footprint Libraries..." ) )
1170 .Tooltip( _( "Edit the global and project footprint library lists" ) )
1171 .Icon( BITMAPS::library_table ) );
1172
1174 .Name( "common.SuiteControl.showDesignBLockLibTable" )
1175 .Scope( AS_GLOBAL )
1176 .FriendlyName( _( "Manage Design Block Libraries..." ) )
1177 .Tooltip( _( "Edit the global and project design block library lists" ) )
1178 .Icon( BITMAPS::library_table ) );
1179
1181 .Name( "common.SuiteControl.gettingStarted" )
1182 .Scope( AS_GLOBAL )
1183 .FriendlyName( _( "Getting Started with KiCad" ) )
1184 .Tooltip( _( "Open \"Getting Started in KiCad\" guide for beginners" ) )
1185 .Icon( BITMAPS::help ) );
1186
1188 .Name( "common.SuiteControl.help" )
1189 .Scope( AS_GLOBAL )
1190 .FriendlyName( _( "Help" ) )
1191 .Tooltip( _( "Open product documentation in a web browser" ) )
1192 .Icon( BITMAPS::help_online ) );
1193
1195 .Name( "common.SuiteControl.about" )
1196 .Scope( AS_GLOBAL )
1197 .FriendlyName( _( "About KiCad" ) )
1198 .UIId( wxID_ABOUT )
1199 .Icon( BITMAPS::about ) );
1200
1202 .Name( "common.SuiteControl.listHotKeys" )
1203 .Scope( AS_GLOBAL )
1204 .DefaultHotkey( MD_CTRL + static_cast<int>( WXK_F1 ) )
1205 .LegacyHotkeyName( "List Hotkeys" )
1206 .FriendlyName( _( "List Hotkeys..." ) )
1207 .Tooltip( _( "Displays current hotkeys table and corresponding commands" ) )
1208 .Icon( BITMAPS::hotkeys ) );
1209
1211 .Name( "common.SuiteControl.getInvolved" )
1212 .Scope( AS_GLOBAL )
1213 .FriendlyName( _( "Get Involved" ) )
1214 .Tooltip( _( "Open \"Contribute to KiCad\" in a web browser" ) )
1215 .Icon( BITMAPS::info ) );
1216
1218 .Name( "common.SuiteControl.donate" )
1219 .Scope( AS_GLOBAL )
1220 .FriendlyName( _( "Donate" ) )
1221 .Tooltip( _( "Open \"Donate to KiCad\" in a web browser" ) ) );
1222
1224 .Name( "common.SuiteControl.reportBug" )
1225 .Scope( AS_GLOBAL )
1226 .FriendlyName( _( "Report Bug" ) )
1227 .Tooltip( _( "Report a problem with KiCad" ) )
1228 .Icon( BITMAPS::bug ) );
1229
1231 .Name( "common.Control.ddaddLibrary" )
1232 .Scope( AS_GLOBAL ) );
1233
1234// API
1235
1237 .Name( "common.API.pluginsReload" )
1238 .Scope( AS_GLOBAL )
1239 .FriendlyName( _( "Refresh Plugins" ) )
1240 .Tooltip( _( "Reload all python plugins and refresh plugin menus" ) )
1241 .Icon( BITMAPS::reload ) );
1242
1243// Embedding Files
1244
1246 .Name( "common.Embed.embededFile" )
1247 .Scope( AS_GLOBAL )
1248 .FriendlyName( _( "Embedded Files" ) )
1249 .Tooltip( _( "Manage embedded files" ) ) );
1250
1252 .Name( "common.Embed.removeFile" )
1253 .Scope( AS_GLOBAL )
1254 .FriendlyName( _( "Remove File" ) )
1255 .Tooltip( _( "Remove an embedded file" ) ) );
1256
1258 .Name( "common.Embed.extractFile" )
1259 .Scope( AS_GLOBAL )
1260 .FriendlyName( _( "Extract File" ) )
1261 .Tooltip( _( "Extract an embedded file" ) ) );
1262
1263// System-wide selection Events
1264
1265const TOOL_EVENT EVENTS::PointSelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.pointSelected" );
1266const TOOL_EVENT EVENTS::SelectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.selected" );
1267const TOOL_EVENT EVENTS::UnselectedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.unselected" );
1268const TOOL_EVENT EVENTS::ClearedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.cleared" );
1269
1270const TOOL_EVENT EVENTS::ConnectivityChangedEvent( TC_MESSAGE, TA_ACTION, "common.Interactive.connectivityChanged" );
1271
1272const TOOL_EVENT EVENTS::SelectedItemsModified( TC_MESSAGE, TA_ACTION, "common.Interactive.modified" );
1273const TOOL_EVENT EVENTS::SelectedItemsMoved( TC_MESSAGE, TA_ACTION, "common.Interactive.moved" );
1274const TOOL_EVENT EVENTS::InhibitSelectionEditing( TC_MESSAGE, TA_ACTION, "common.Interactive.inhibit" );
1275const TOOL_EVENT EVENTS::UninhibitSelectionEditing( TC_MESSAGE, TA_ACTION, "common.Interactive.uninhibit" );
1276
1277const TOOL_EVENT EVENTS::DisambiguatePoint( TC_MESSAGE, TA_ACTION, "common.Interactive.disambiguate" );
1278
1280 "common.Interactive.gridChangedByKey" );
1281
1283 "common.Interactive.contrastModeChangedByKeyEvent" );
1284
1285// System-wide undo/redo Events
1286
#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: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