KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_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) 2013-2023 CERN
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 * @author Maciej Suminski <[email protected]>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, you may find one here:
20 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21 * or you may search the http://www.gnu.org website for the version 2 license,
22 * or you may write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 */
25
26#include "pcb_actions.h"
27#include "tool/tool_action.h"
28#include "tool/tool_event.h"
29#include <pcbnew_id.h>
30#include <bitmaps.h>
31#include <layer_ids.h>
34#include <pcb_reference_image.h>
35#include <tool/tool_manager.h>
38#include <router/pns_router.h>
40
41// Actions, being statically-defined, require specialized I18N handling. We continue to
42// use the _() macro so that string harvesting by the I18N framework doesn't have to be
43// specialized, but we don't translate on initialization and instead do it in the getters.
44
45#undef _
46#define _(s) s
47
48// clang-format off
49
50// CONVERT_TOOL
51//
53 .Name( "pcbnew.Convert.convertToPoly" )
54 .Scope( AS_GLOBAL )
55 .FriendlyName( _( "Create Polygon from Selection..." ) )
56 .Tooltip( _( "Creates a graphic polygon from the selection" ) )
58
60 .Name( "pcbnew.Convert.convertToZone" )
61 .Scope( AS_GLOBAL )
62 .FriendlyName( _( "Create Zone from Selection..." ) )
63 .Tooltip( _( "Creates a copper zone from the selection" ) )
64 .Icon( BITMAPS::add_zone ) );
65
67 .Name( "pcbnew.Convert.convertToKeepout" )
68 .Scope( AS_GLOBAL )
69 .FriendlyName( _( "Create Rule Area from Selection..." ) )
70 .Tooltip( _( "Creates a rule area from the selection" ) )
72
74 .Name( "pcbnew.Convert.convertToLines" )
75 .Scope( AS_GLOBAL )
76 .FriendlyName( _( "Create Lines from Selection..." ) )
77 .Tooltip( _( "Creates graphic lines from the selection" ) )
78 .Icon( BITMAPS::add_line ) );
79
81 .Name( "pcbnew.Convert.convertToArc" )
82 .Scope( AS_GLOBAL )
83 .FriendlyName( _( "Create Arc from Selection" ) )
84 .Tooltip( _( "Creates an arc from the selected line segment" ) )
85 .Icon( BITMAPS::add_arc ) );
86
88 .Name( "pcbnew.Convert.convertToTracks" )
89 .Scope( AS_GLOBAL )
90 .FriendlyName( _( "Create Tracks from Selection" ) )
91 .Tooltip( _( "Creates tracks from the selected graphic lines" ) )
92 .Icon( BITMAPS::add_tracks ) );
93
95 .Name( "pcbnew.Convert.outsetItems" )
96 .Scope( AS_GLOBAL )
97 .FriendlyName( _( "Create Outsets from Selection..." ) )
98 .Tooltip( _( "Create outset lines from the selected item" ) )
100
101
102// DRAWING_TOOL
103//
105 .Name( "pcbnew.InteractiveDrawing.line" )
106 .Scope( AS_GLOBAL )
107 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'L' )
108 .LegacyHotkeyName( "Draw Line" )
109 .FriendlyName( _( "Draw Lines" ) )
110 .ToolbarState( TOOLBAR_STATE::TOGGLE )
112 .Flags( AF_ACTIVATE ) );
113
115 .Name( "pcbnew.InteractiveDrawing.graphicPolygon" )
116 .Scope( AS_GLOBAL )
117 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'P' )
118 .LegacyHotkeyName( "Draw Graphic Polygon" )
119 .FriendlyName( _( "Draw Polygons" ) )
120 .ToolbarState( TOOLBAR_STATE::TOGGLE )
122 .Flags( AF_ACTIVATE )
123 .Parameter( ZONE_MODE::GRAPHIC_POLYGON ) );
124
126 .Name( "pcbnew.InteractiveDrawing.rectangle" )
127 .Scope( AS_GLOBAL )
128 .FriendlyName( _( "Draw Rectangles" ) )
129 .ToolbarState( TOOLBAR_STATE::TOGGLE )
131 .Flags( AF_ACTIVATE ) );
132
134 .Name( "pcbnew.InteractiveDrawing.circle" )
135 .Scope( AS_GLOBAL )
136 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'C' )
137 .LegacyHotkeyName( "Draw Circle" )
138 .FriendlyName( _( "Draw Circles" ) )
139 .ToolbarState( TOOLBAR_STATE::TOGGLE )
140 .Icon( BITMAPS::add_circle )
141 .Flags( AF_ACTIVATE ) );
142
144 .Name( "pcbnew.InteractiveDrawing.arc" )
145 .Scope( AS_GLOBAL )
146 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'A' )
147 .LegacyHotkeyName( "Draw Arc" )
148 .FriendlyName( _( "Draw Arcs" ) )
149 .ToolbarState( TOOLBAR_STATE::TOGGLE )
150 .Icon( BITMAPS::add_arc )
151 .Flags( AF_ACTIVATE ) );
152
154 .Name( "pcbnew.InteractiveDrawing.bezier" )
155 .Scope( AS_GLOBAL )
156 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'B' )
157 .FriendlyName( _( "Draw Bezier Curve" ) )
158 .ToolbarState( TOOLBAR_STATE::TOGGLE )
159 .Icon( BITMAPS::add_bezier )
160 .Flags( AF_ACTIVATE ) );
161
163 .Name( "pcbnew.InteractiveDrawing.placeCharacteristics" )
164 .Scope( AS_GLOBAL )
165 .LegacyHotkeyName( "Add Board Characteristics" )
166 .FriendlyName( _( "Add Board Characteristics" ) )
167 .Tooltip( _( "Add a board characteristics table on a graphic layer" ) )
168 .ToolbarState( TOOLBAR_STATE::TOGGLE )
169 .Flags( AF_ACTIVATE ) );
170
172 .Name( "pcbnew.InteractiveDrawing.placeStackup" )
173 .Scope( AS_GLOBAL )
174 .LegacyHotkeyName( "Add Stackup Table" )
175 .FriendlyName( _( "Add Stackup Table" ) )
176 .Tooltip( _( "Add a board stackup table on a graphic layer" ) )
177 .ToolbarState( TOOLBAR_STATE::TOGGLE )
178 .Flags( AF_ACTIVATE ) );
179
181 .Name( "pcbnew.InteractiveDrawing.placeReferenceImage" )
182 .Scope( AS_GLOBAL )
183 .FriendlyName( _( "Place Reference Images" ) )
184 .Tooltip( _( "Add bitmap images to be used as reference (images will not be included in any output)" ) )
185 .ToolbarState( TOOLBAR_STATE::TOGGLE )
186 .Icon( BITMAPS::image )
187 .Flags( AF_ACTIVATE )
188 .Parameter<PCB_REFERENCE_IMAGE*>( nullptr ) );
189
191 .Name( "pcbnew.InteractiveDrawing.text" )
192 .Scope( AS_GLOBAL )
193 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'T' )
194 .LegacyHotkeyName( "Add Text" )
195 .FriendlyName( _( "Draw Text" ) )
196 .ToolbarState( TOOLBAR_STATE::TOGGLE )
197 .Icon( BITMAPS::text )
198 .Flags( AF_ACTIVATE ) );
199
201 .Name( "pcbnew.InteractiveDrawing.textbox" )
202 .Scope( AS_GLOBAL )
203 .FriendlyName( _( "Draw Text Boxes" ) )
204 .ToolbarState( TOOLBAR_STATE::TOGGLE )
205 .Icon( BITMAPS::add_textbox )
206 .Flags( AF_ACTIVATE ) );
207
209 .Name( "pcbnew.InteractiveDrawing.drawTable" )
210 .Scope( AS_GLOBAL )
211 .FriendlyName( _( "Draw Tables" ) )
212 .ToolbarState( TOOLBAR_STATE::TOGGLE )
213 .Icon( BITMAPS::table )
214 .Flags( AF_ACTIVATE ) );
215
217 .Name( "pcbnew.lengthTuner.SpacingIncrease" )
218 .Scope( AS_GLOBAL )
219 .DefaultHotkey( '1' )
220 .LegacyHotkeyName( "Increase meander spacing by one step." )
221 .FriendlyName( _( "Increase Spacing" ) )
222 .Tooltip( _( "Increase tuning pattern spacing by one step." ) )
224
226 .Name( "pcbnew.lengthTuner.SpacingDecrease" )
227 .Scope( AS_GLOBAL )
228 .DefaultHotkey( '2' )
229 .LegacyHotkeyName( "Decrease meander spacing by one step." )
230 .FriendlyName( _( "Decrease Spacing" ) )
231 .Tooltip( _( "Decrease tuning pattern spacing by one step." ) )
233
235 .Name( "pcbnew.lengthTuner.AmplIncrease" )
236 .Scope( AS_GLOBAL )
237 .DefaultHotkey( '3' )
238 .LegacyHotkeyName( "Increase meander amplitude by one step." )
239 .FriendlyName( _( "Increase Amplitude" ) )
240 .Tooltip( _( "Increase tuning pattern amplitude by one step." ) )
242
244 .Name( "pcbnew.lengthTuner.AmplDecrease" )
245 .Scope( AS_GLOBAL )
246 .DefaultHotkey( '4' )
247 .LegacyHotkeyName( "Decrease meander amplitude by one step." )
248 .FriendlyName( _( "Decrease Amplitude" ) )
249 .Tooltip( _( "Decrease tuning pattern amplitude by one step." ) )
251
252
254 .Name( "pcbnew.InteractiveDrawing.alignedDimension" )
255 .Scope( AS_GLOBAL )
256 .LegacyHotkeyName( "Add Dimension" )
257 .FriendlyName( _( "Draw Aligned Dimensions" ) )
258 .ToolbarState( TOOLBAR_STATE::TOGGLE )
260 .Flags( AF_ACTIVATE ) );
261
263 .Name( "pcbnew.InteractiveDrawing.centerDimension" )
264 .Scope( AS_GLOBAL )
265 .FriendlyName( _( "Draw Center Dimensions" ) )
266 .ToolbarState( TOOLBAR_STATE::TOGGLE )
268 .Flags( AF_ACTIVATE ) );
269
271 .Name( "pcbnew.InteractiveDrawing.radialDimension" )
272 .Scope( AS_GLOBAL )
273 .FriendlyName( _( "Draw Radial Dimensions" ) )
274 .ToolbarState( TOOLBAR_STATE::TOGGLE )
276 .Flags( AF_ACTIVATE ) );
277
279 .Name( "pcbnew.InteractiveDrawing.orthogonalDimension" )
280 .Scope( AS_GLOBAL )
281 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'H' )
282 .FriendlyName( _( "Draw Orthogonal Dimensions" ) )
283 .ToolbarState( TOOLBAR_STATE::TOGGLE )
285 .Flags( AF_ACTIVATE ) );
286
288 .Name( "pcbnew.InteractiveDrawing.leader" )
289 .Scope( AS_GLOBAL )
290 .FriendlyName( _( "Draw Leaders" ) )
291 .ToolbarState( TOOLBAR_STATE::TOGGLE )
292 .Icon( BITMAPS::add_leader )
293 .Flags( AF_ACTIVATE ) );
294
296 .Name( "pcbnew.InteractiveDrawing.zone" )
297 .Scope( AS_GLOBAL )
298#ifdef __WXOSX_MAC__
299 .DefaultHotkey( MD_ALT + 'Z' )
300#else
301 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'Z' )
302#endif
303 .LegacyHotkeyName( "Add Filled Zone" )
304 .FriendlyName( _( "Draw Filled Zones" ) )
305 .ToolbarState( TOOLBAR_STATE::TOGGLE )
306 .Icon( BITMAPS::add_zone )
307 .Flags( AF_ACTIVATE )
308 .Parameter( ZONE_MODE::ADD ) );
309
311 .Name( "pcbnew.InteractiveDrawing.via" )
312 .Scope( AS_GLOBAL )
313 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'X' )
314 .LegacyHotkeyName( "Add Vias" )
315 .FriendlyName( _( "Place Vias" ) )
316 .Tooltip( _( "Place free-standing vias" ) )
317 .ToolbarState( TOOLBAR_STATE::TOGGLE )
318 .Icon( BITMAPS::add_via )
319 .Flags( AF_ACTIVATE ) );
320
322 .Name( "pcbnew.InteractiveDrawing.ruleArea" )
323 .Scope( AS_GLOBAL )
324 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'K' )
325 .LegacyHotkeyName( "Add Keepout Area" )
326 .FriendlyName( _( "Draw Rule Areas" ) )
327 .ToolbarState( TOOLBAR_STATE::TOGGLE )
329 .Flags( AF_ACTIVATE )
330 .Parameter( ZONE_MODE::ADD ) );
331
333 .Name( "pcbnew.InteractiveDrawing.zoneCutout" )
334 .Scope( AS_GLOBAL )
335 .DefaultHotkey( MD_SHIFT + 'C' )
336 .LegacyHotkeyName( "Add a Zone Cutout" )
337 .FriendlyName( _( "Add a Zone Cutout" ) )
338 .Tooltip( _( "Add a cutout to an existing zone or rule area" ) )
339 .ToolbarState( TOOLBAR_STATE::TOGGLE )
341 .Flags( AF_ACTIVATE )
342 .Parameter( ZONE_MODE::CUTOUT ) );
343
345 .Name( "pcbnew.InteractiveDrawing.similarZone" )
346 .Scope( AS_GLOBAL )
347 .DefaultHotkey( MD_CTRL + MD_SHIFT + '.' )
348 .LegacyHotkeyName( "Add a Similar Zone" )
349 .FriendlyName( _( "Add a Similar Zone" ) )
350 .Tooltip( _( "Add a zone with the same settings as an existing zone" ) )
351 .Icon( BITMAPS::add_zone )
352 .Flags( AF_ACTIVATE )
353 .Parameter( ZONE_MODE::SIMILAR ) );
354
356 .Name( "pcbnew.InteractiveDrawing.placeImportedGraphics" )
357 .Scope( AS_GLOBAL )
358 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'F' )
359 .LegacyHotkeyName( "Place DXF" )
360 .FriendlyName( _( "Import Graphics..." ) )
361 .Tooltip( _( "Import 2D drawing file" ) )
363 .Flags( AF_ACTIVATE ) );
364
366 .Name( "pcbnew.InteractiveDrawing.setAnchor" )
367 .Scope( AS_GLOBAL )
368 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'N' )
369 .LegacyHotkeyName( "Place the Footprint Anchor" )
370 .FriendlyName( _( "Place the Footprint Anchor" ) )
371 .Tooltip( _( "Set the anchor point of the footprint" ) )
372 .ToolbarState( TOOLBAR_STATE::TOGGLE )
373 .Icon( BITMAPS::anchor )
374 .Flags( AF_ACTIVATE ) );
375
377 .Name( "pcbnew.InteractiveDrawing.incWidth" )
378 .Scope( AS_CONTEXT )
379 .DefaultHotkey( MD_CTRL + '+' )
380 .LegacyHotkeyName( "Increase Line Width" )
381 .FriendlyName( _( "Increase Line Width" ) ) );
382
384 .Name( "pcbnew.InteractiveDrawing.decWidth" )
385 .Scope( AS_CONTEXT )
386 .DefaultHotkey( MD_CTRL + '-' )
387 .LegacyHotkeyName( "Decrease Line Width" )
388 .FriendlyName( _( "Decrease Line Width" ) ) );
389
391 .Name( "pcbnew.InteractiveDrawing.arcPosture" )
392 .Scope( AS_CONTEXT )
393 .DefaultHotkey( '/' )
394 .LegacyHotkeyName( "Switch Track Posture" )
395 .FriendlyName( _( "Switch Arc Posture" ) ) );
396
398 .Name( "pcbnew.InteractiveDrawing.changeDimensionArrows" )
399 .Scope( AS_CONTEXT )
400 .FriendlyName( "Switch Dimension Arrows" )
401 .Tooltip( "Switch between inward and outward dimension arrows" ) );
402
403
405 .Name( "common.Control.magneticSnapActiveLayer" )
406 .Scope( AS_GLOBAL )
407 .FriendlyName( _( "Snap to Objects on the Active Layer Only" ) )
408 .Tooltip( _( "Enables snapping to objects on the active layer only" ) ) );
409
411 .Name( "common.Control.magneticSnapAllLayers" )
412 .Scope( AS_GLOBAL )
413 .FriendlyName( _( "Snap to Objects on All Layers" ) )
414 .Tooltip( _( "Enables snapping to objects on all visible layers" ) ) );
415
417 .Name( "common.Control.magneticSnapToggle" )
418 .Scope( AS_GLOBAL )
419 .DefaultHotkey( MD_SHIFT + 'S' )
420 .FriendlyName( _( "Toggle Snapping Between Active and All Layers" ) )
421 .Tooltip( _( "Toggles between snapping on all visible layers and only the active area" ) ) );
422
424 .Name( "pcbnew.InteractiveDrawing.deleteLastPoint" )
425 .Scope( AS_CONTEXT )
426 .DefaultHotkey( WXK_BACK )
427 .FriendlyName( _( "Delete Last Point" ) )
428 .Tooltip( _( "Delete the last point added to the current item" ) )
429 .Icon( BITMAPS::undo ) );
430
432 .Name( "pcbnew.InteractiveDrawing.closeOutline" )
433 .Scope( AS_CONTEXT )
434 .FriendlyName( _( "Close Outline" ) )
435 .Tooltip( _( "Close the in progress outline" ) )
436 .Icon( BITMAPS::checked_ok ) );
437
438// DRC
439//
441 .Name( "pcbnew.DRCTool.runDRC" )
442 .Scope( AS_GLOBAL )
443 .FriendlyName( _( "Design Rules Checker" ) )
444 .Tooltip( _( "Show the design rules checker window" ) )
445 .Icon( BITMAPS::erc ) );
446
447// PCB_DESIGN_BLOCK_CONTROL
449 .Name( "pcbnew.InteractiveDrawing.placeDesignBlock" )
450 .Scope( AS_GLOBAL )
451 .DefaultHotkey( MD_SHIFT + 'B' )
452 .FriendlyName( _( "Place Design Block" ) )
453 .Tooltip( _( "Add selected design block to current board" ) )
455 .Flags( AF_ACTIVATE )
456 .Parameter<DESIGN_BLOCK*>( nullptr ) );
457
459 .Name( "pcbnew.InteractiveDrawing.placeLinkedDesignBlock" )
460 .Scope( AS_GLOBAL )
461 .FriendlyName( _( "Place Linked Design Block" ) )
462 .Tooltip( _( "Place design block linked to selected group" ) )
464 .Flags( AF_ACTIVATE ) );
465
467 .Name( "pcbnew.InteractiveDrawing.saveToLinkedDesignBlock" )
468 .Scope( AS_GLOBAL )
469 .FriendlyName( _( "Save to Linked Design Block" ) )
470 .Tooltip( _( "Save selected group to linked design block" ) )
472 .Flags( AF_ACTIVATE ) );
473
475 .Name( "pcbnew.PcbDesignBlockControl.showDesignBlockPanel" )
476 .Scope( AS_GLOBAL )
477 .FriendlyName( _( "Design Blocks" ) )
478 .Tooltip( _( "Show/hide design blocks library" ) )
479 .Icon( BITMAPS::search_tree ) );
480
482 .Name( "pcbnew.PcbDesignBlockControl.saveBoardAsDesignBlock" )
483 .Scope( AS_GLOBAL )
484 .FriendlyName( _( "Save Current Board as Design Block..." ) )
485 .Tooltip( _( "Create a new design block from the current board" ) )
486 .Icon( BITMAPS::new_component ) );
487
489 .Name( "pcbnew.PcbDesignBlockControl.saveSelectionAsDesignBlock" )
490 .Scope( AS_GLOBAL )
491 .FriendlyName( _( "Save Selection as Design Block..." ) )
492 .Tooltip( _( "Create a new design block from the current selection" ) )
493 .Icon( BITMAPS::new_component ) );
494
496 .Name( "pcbnew.PcbDesignBlockControl.saveBoardToDesignBlock" )
497 .Scope( AS_GLOBAL )
498 .FriendlyName( _( "Save Current Board to Design Block..." ) )
499 .Tooltip( _( "Add current board to design block" ) )
500 .Icon( BITMAPS::save ) );
501
503 .Name( "pcbnew.PcbDesignBlockControl.saveSelectionToDesignBlock" )
504 .Scope( AS_GLOBAL )
505 .FriendlyName( _( "Save Selection to Design Block..." ) )
506 .Tooltip( _( "Add current selection to design block" ) )
507 .Icon( BITMAPS::save ) );
508
510 .Name( "pcbnew.PcbDesignBlockControl.saveDeleteDesignBlock" )
511 .Scope( AS_GLOBAL )
512 .FriendlyName( _( "Delete Design Block" ) )
513 .Tooltip( _( "Remove the selected design block from its library" ) )
514 .Icon( BITMAPS::trash ) );
515
517 .Name( "pcbnew.PcbDesignBlockControl.editDesignBlockProperties" )
518 .Scope( AS_GLOBAL )
519 .FriendlyName( _( "Properties..." ) )
520 .Tooltip( _( "Edit properies of design block" ) )
521 .Icon( BITMAPS::edit ) );
522
523// EDIT_TOOL
524//
526 .Name( "pcbnew.EditorControl.EditFpInFpEditor" )
527 .Scope( AS_GLOBAL )
528 .DefaultHotkey( MD_CTRL + 'E' )
529 .LegacyHotkeyName( "Edit with Footprint Editor" )
530 .FriendlyName( _( "Open in Footprint Editor" ) )
531 .Icon( BITMAPS::module_editor ) );
532
534 .Name( "pcbnew.EditorControl.EditLibFpInFpEditor" )
535 .Scope( AS_GLOBAL )
536 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'E' )
537 .FriendlyName( _( "Edit Library Footprint..." ) )
538 .Icon( BITMAPS::module_editor ) );
539
541 .Name( "pcbnew.InteractiveEdit.FindMove" )
542 .Scope( AS_GLOBAL )
543 .DefaultHotkey( 'T' )
544 .LegacyHotkeyName( "Get and Move Footprint" )
545 .FriendlyName( _( "Get and Move Footprint" ) )
546 .Tooltip( _( "Selects a footprint by reference designator and places it under the cursor for moving" ) )
547 .Icon( BITMAPS::move )
548 .Flags( AF_ACTIVATE ) );
549
551 .Name( "pcbnew.InteractiveMove.move" )
552 .Scope( AS_GLOBAL )
553 .DefaultHotkey( 'M' )
554 .LegacyHotkeyName( "Move Item" )
555 .FriendlyName( _( "Move" ) )
556 .Icon( BITMAPS::move )
557 .Flags( AF_ACTIVATE )
559
561 .Name( "pcbnew.InteractiveMove.moveIndividually" )
562 .Scope( AS_GLOBAL )
563 .DefaultHotkey( MD_CTRL + 'M' )
564 .FriendlyName( _( "Move Individually" ) )
565 .Tooltip( _( "Moves the selected items one-by-one" ) )
566 .Icon( BITMAPS::move )
567 .Flags( AF_ACTIVATE )
569
571 .Name( "pcbnew.InteractiveMove.moveWithReference" )
572 .Scope( AS_GLOBAL )
573 .FriendlyName( _( "Move with Reference" ) )
574 .Tooltip( _( "Moves the selected item(s) with a specified starting point" ) )
575 .Icon( BITMAPS::move )
576 .Flags( AF_ACTIVATE )
578
580 .Name( "pcbnew.InteractiveMove.copyWithReference" )
581 .Scope( AS_GLOBAL )
582 .FriendlyName( _( "Copy with Reference" ) )
583 .Tooltip( _( "Copy selected item(s) to clipboard with a specified starting point" ) )
584 .Icon( BITMAPS::copy )
585 .Flags( AF_ACTIVATE ) );
586
588 .Name( "pcbnew.InteractiveEdit.duplicateIncrementPads" )
589 .Scope( AS_GLOBAL )
590 .DefaultHotkey( MD_CTRL + MD_SHIFT + 'D' )
591 .LegacyHotkeyName( "Duplicate Item and Increment" )
592 .FriendlyName( _( "Duplicate and Increment" ) )
593 .Tooltip( _( "Duplicates the selected item(s), incrementing pad numbers" ) )
594 .Icon( BITMAPS::duplicate ) );
595
597 .Name( "pcbnew.InteractiveEdit.moveExact" )
598 .Scope( AS_GLOBAL )
599 .DefaultHotkey( MD_SHIFT + 'M' )
600 .LegacyHotkeyName( "Move Item Exactly" )
601 .FriendlyName( _( "Move Exactly..." ) )
602 .Tooltip( _( "Moves the selected item(s) by an exact amount" ) )
603 .Icon( BITMAPS::move_exactly ) );
604
606 .Name( "pcbnew.InteractiveEdit.moveCorner" )
607 .Scope( AS_GLOBAL )
608 .FriendlyName( _( "Move Corner To..." ) )
609 .Tooltip( _( "Move the active corner to an exact location" ) )
610 .Icon( BITMAPS::move_exactly ) );
611
613 .Name( "pcbnew.InteractiveEdit.moveMidpoint" )
614 .Scope( AS_GLOBAL )
615 .FriendlyName( _( "Move Midpoint To..." ) )
616 .Tooltip( _( "Move the active midpoint to an exact location" ) )
617 .Icon( BITMAPS::move_exactly ) );
618
620 .Name( "pcbnew.InteractiveEdit.rotateCw" )
621 .Scope( AS_GLOBAL )
622 .DefaultHotkey( MD_SHIFT + 'R' )
623 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
624 .LegacyHotkeyName( "Rotate Item Clockwise (Modern Toolset only)" )
625 .FriendlyName( _( "Rotate Clockwise" ) )
626 .Icon( BITMAPS::rotate_cw )
627 .Flags( AF_NONE )
628 .Parameter( -1 ) );
629
631 .Name( "pcbnew.InteractiveEdit.rotateCcw" )
632 .Scope( AS_GLOBAL )
633 .DefaultHotkey( 'R' )
634 .LegacyHotkeyName( "Rotate Item" )
635 .FriendlyName( _( "Rotate Counterclockwise" ) )
636 .Icon( BITMAPS::rotate_ccw )
637 .Flags( AF_NONE )
638 .Parameter( 1 ) );
639
641 .Name( "pcbnew.InteractiveEdit.flip" )
642 .Scope( AS_GLOBAL )
643 .DefaultHotkey( 'F' )
644 .LegacyHotkeyName( "Flip Item" )
645 .FriendlyName( _( "Change Side / Flip" ) )
646 .Tooltip( _( "Flips selected item(s) to opposite side of board" ) )
647 .Icon( BITMAPS::swap_layer ) );
648
650 .Name( "pcbnew.InteractiveEdit.mirrorHoriontally" )
651 .Scope( AS_GLOBAL )
652 .FriendlyName( _( "Mirror Horizontally" ) )
653 .Tooltip( _( "Mirrors selected item(s) across the Y axis" ) )
654 .Icon( BITMAPS::mirror_h ) );
655
657 .Name( "pcbnew.InteractiveEdit.mirrorVertically" )
658 .Scope( AS_GLOBAL )
659 .FriendlyName( _( "Mirror Vertically" ) )
660 .Tooltip( _( "Mirrors selected item(s) across the X axis" ) )
661 .Icon( BITMAPS::mirror_v ) );
662
664 .Name( "pcbnew.InteractiveEdit.swap" )
665 .Scope( AS_GLOBAL )
666 .DefaultHotkey( MD_ALT + 'S' )
667 .FriendlyName( _( "Swap" ) )
668 .Tooltip( _( "Swap positions of selected items" ) )
669 .Icon( BITMAPS::swap ) );
670
672 .Name( "pcbnew.InteractiveEdit.packAndMoveFootprints" )
673 .Scope( AS_GLOBAL )
674 .DefaultHotkey( 'P' )
675 .FriendlyName( _( "Pack and Move Footprints" ) )
676 .Tooltip( _( "Sorts selected footprints by reference, packs based on size and initiates movement" ) )
677 .Icon( BITMAPS::pack_footprints ) );
678
680 .Name( "pcbnew.InteractiveEdit.skip" )
681 .Scope( AS_CONTEXT )
682 .DefaultHotkey( WXK_TAB )
683 .FriendlyName( _( "Skip" ) )
684 .Tooltip( _( "Skip to next item" ) )
685 .Icon( BITMAPS::right ) );
686
688 .Name( "pcbnew.InteractiveEdit.changeTrackWidth" )
689 .Scope( AS_GLOBAL )
690 .FriendlyName( _( "Change Track Width" ) )
691 .Tooltip( _( "Updates selected track & via sizes" ) ) );
692
694 .Name( "pcbnew.Control.changeTrackLayerNext" )
695 .Scope( AS_GLOBAL )
696 .DefaultHotkey( MD_CTRL + '+' )
697 .FriendlyName( "Switch Track to Next Layer" )
698 .Tooltip( _( "Switch track to next enabled copper layer" ) ) );
699
701 .Name( "pcbnew.Control.changeTrackLayerPrev" )
702 .Scope( AS_GLOBAL )
703 .DefaultHotkey( MD_CTRL + '-' )
704 .FriendlyName( "Switch Track to Previous Layer" )
705 .Tooltip( _( "Switch track to previous enabled copper layer" ) ) );
706
708 .Name( "pcbnew.InteractiveEdit.filletTracks" )
709 .Scope( AS_GLOBAL )
710 .FriendlyName( _( "Fillet Tracks" ) )
711 .Tooltip( _( "Adds arcs tangent to the selected straight track segments" ) ) );
712
714 .Name( "pcbnew.InteractiveEdit.filletLines" )
715 .Scope( AS_GLOBAL )
716 .FriendlyName( _( "Fillet Lines..." ) )
717 .Tooltip( _( "Adds arcs tangent to the selected lines" ) )
718 .Icon( BITMAPS::fillet ) );
719
721 .Name( "pcbnew.InteractiveEdit.chamferLines" )
722 .Scope( AS_GLOBAL )
723 .FriendlyName( _( "Chamfer Lines..." ) )
724 .Tooltip( _( "Cut away corners between selected lines" ) )
725 .Icon( BITMAPS::chamfer ) );
726
728 .Name( "pcbnew.InteractiveEdit.dogboneCorners" )
729 .Scope( AS_GLOBAL )
730 .FriendlyName( _( "Dogbone Corners..." ) )
731 .Tooltip( _( "Add dogbone corners to selected lines" ) ) );
732
734 .Name( "pcbnew.InteractiveEdit.simplifyPolygons" )
735 .Scope( AS_GLOBAL )
736 .FriendlyName( _( "Simplify Polygons" ) )
737 .Tooltip( _( "Simplify polygon outlines, removing superfluous points" ) ) );
738
740 .Name( "pcbnew.InteractiveEdit.healShapes" )
741 .Scope( AS_GLOBAL )
742 .FriendlyName( _( "Heal Shapes" ) )
743 .Tooltip( _( "Connect shapes, possibly extending or cutting them, or adding extra geometry" ) )
744 .Icon( BITMAPS::heal_shapes ) );
745
747 .Name( "pcbnew.InteractiveEdit.extendLines" )
748 .Scope( AS_GLOBAL )
749 .FriendlyName( _( "Extend Lines to Meet" ) )
750 .Tooltip( _( "Extend lines to meet each other" ) ) );
751
753 .Name( "pcbnew.InteractiveEdit.mergePolygons" )
754 .Scope( AS_GLOBAL )
755 .FriendlyName( _( "Merge Polygons" ) )
756 .Tooltip( _( "Merge selected polygons into a single polygon" ) )
757 .Icon( BITMAPS::merge_polygons ) );
758
760 .Name( "pcbnew.InteractiveEdit.subtractPolygons" )
761 .Scope( AS_GLOBAL )
762 .FriendlyName( _( "Subtract Polygons" ) )
763 .Tooltip( _( "Subtract selected polygons from the last one selected" ) )
765
767 .Name( "pcbnew.InteractiveEdit.intersectPolygons" )
768 .Scope( AS_GLOBAL )
769 .FriendlyName( _( "Intersect Polygons" ) )
770 .Tooltip( _( "Create the intersection of the selected polygons" ) )
772
774 .Name( "pcbnew.InteractiveEdit.deleteFull" )
775 .Scope( AS_GLOBAL )
776 .DefaultHotkey( MD_SHIFT + static_cast<int>( WXK_DELETE ) )
777 .LegacyHotkeyName( "Delete Full Track" )
778 .FriendlyName( _( "Delete Full Track" ) )
779 .Tooltip( _( "Deletes selected item(s) and copper connections" ) )
781 .Flags( AF_NONE )
782 .Parameter( PCB_ACTIONS::REMOVE_FLAGS::ALT ) );
783
785 .Name( "pcbnew.InteractiveEdit.properties" )
786 .Scope( AS_GLOBAL )
787 .DefaultHotkey( 'E' )
788 .LegacyHotkeyName( "Edit Item" )
789 .FriendlyName( _( "Properties..." ) )
790 .Icon( BITMAPS::edit ) );
791
792// ARRAY
793//
795 .Name( "pcbnew.Array.createArray" )
796 .Scope( AS_GLOBAL )
797 .DefaultHotkey( MD_CTRL + 'T' )
798 .LegacyHotkeyName( "Create Array" )
799 .FriendlyName( _( "Create Array..." ) )
800 .Icon( BITMAPS::array )
801 .Flags( AF_ACTIVATE ) );
802
803// FOOTPRINT_EDITOR_CONTROL
804//
806 .Name( "pcbnew.ModuleEditor.newFootprint" )
807 .Scope( AS_GLOBAL )
808 .DefaultHotkey( MD_CTRL + 'N' )
809 .LegacyHotkeyName( "New" )
810 .FriendlyName( _( "New Footprint" ) )
811 .Tooltip( _( "Create a new, empty footprint" ) )
812 .Icon( BITMAPS::new_footprint ) );
813
815 .Name( "pcbnew.ModuleEditor.createFootprint" )
816 .Scope( AS_GLOBAL )
817 .FriendlyName( _( "Create Footprint..." ) )
818 .Tooltip( _( "Create a new footprint using the Footprint Wizard" ) )
819 .Icon( BITMAPS::module_wizard ) );
820
822 .Name( "pcbnew.ModuleEditor.editFootprint" )
823 .Scope( AS_GLOBAL )
824 .FriendlyName( _( "Edit Footprint" ) )
825 .Tooltip( _( "Show selected footprint on editor canvas" ) )
826 .Icon( BITMAPS::edit ) );
827
829 .Name( "pcbnew.ModuleEditor.duplicateFootprint" )
830 .Scope( AS_GLOBAL )
831 .FriendlyName( _( "Duplicate Footprint" ) )
832 .Icon( BITMAPS::duplicate ) );
833
835 .Name( "pcbnew.ModuleEditor.renameFootprint" )
836 .Scope( AS_GLOBAL )
837 .FriendlyName( _( "Rename Footprint..." ) )
838 .Icon( BITMAPS::edit ) );
839
841 .Name( "pcbnew.ModuleEditor.deleteFootprint" )
842 .Scope( AS_GLOBAL )
843 .FriendlyName( _( "Delete Footprint from Library" ) )
844 .Icon( BITMAPS::trash ) );
845
847 .Name( "pcbnew.ModuleEditor.cutFootprint" )
848 .Scope( AS_GLOBAL )
849 .FriendlyName( _( "Cut Footprint" ) )
850 .Icon( BITMAPS::cut ) );
851
853 .Name( "pcbnew.ModuleEditor.copyFootprint" )
854 .Scope( AS_GLOBAL )
855 .FriendlyName( _( "Copy Footprint" ) )
856 .Icon( BITMAPS::copy ) );
857
859 .Name( "pcbnew.ModuleEditor.pasteFootprint" )
860 .Scope( AS_GLOBAL )
861 .FriendlyName( _( "Paste Footprint" ) )
862 .Icon( BITMAPS::paste ) );
863
865 .Name( "pcbnew.ModuleEditor.importFootprint" )
866 .Scope( AS_GLOBAL )
867 .FriendlyName( _( "Import Footprint..." ) )
868 .Tooltip( _( "Import footprint from file" ) )
869 .Icon( BITMAPS::import_module ) );
870
872 .Name( "pcbnew.ModuleEditor.exportFootprint" )
873 .Scope( AS_GLOBAL )
874 .FriendlyName( _( "Export Current Footprint..." ) )
875 .Tooltip( _( "Export edited footprint to file" ) )
876 .Icon( BITMAPS::export_module ) );
877
879 .Name( "pcbnew.ModuleEditor.footprintProperties" )
880 .Scope( AS_GLOBAL )
881 .FriendlyName( _( "Footprint Properties..." ) )
882 .Icon( BITMAPS::module_options ) );
883
885 .Name( "pcbnew.ModuleEditor.checkFootprint" )
886 .Scope( AS_GLOBAL )
887 .FriendlyName( _( "Footprint Checker" ) )
888 .Tooltip( _( "Show the footprint checker window" ) )
889 .Icon( BITMAPS::erc ) );
890
892 .Name( "pcbnew.ModuleEditor.loadFootprintFromBoard" )
893 .Scope( AS_GLOBAL )
894 .FriendlyName( _( "Load footprint from current PCB" ) )
895 .Tooltip( _( "Load footprint from current board" ) )
897
899 .Name( "pcbnew.ModuleEditor.saveFootprintToBoard" )
900 .Scope( AS_GLOBAL )
901 .FriendlyName( _( "Insert footprint into PCB" ) )
902 .Tooltip( _( "Insert footprint into current board" ) )
904
906 .Name( "pcbnew.Control.previousFootprint" )
907 .Scope( AS_GLOBAL )
908 .FriendlyName( _( "Display previous footprint" ) )
909 .Icon( BITMAPS::lib_previous )
910 .Parameter<FPVIEWER_CONSTANTS>( FPVIEWER_CONSTANTS::PREVIOUS_PART ) );
911
913 .Name( "pcbnew.Control.nextFootprint" )
914 .Scope( AS_GLOBAL )
915 .FriendlyName( _( "Display next footprint" ) )
916 .Icon( BITMAPS::lib_next )
917 .Parameter<FPVIEWER_CONSTANTS>( FPVIEWER_CONSTANTS::NEXT_PART ) );
918
919// GLOBAL_EDIT_TOOL
920//
922 .Name( "pcbnew.GlobalEdit.updateFootprint" )
923 .Scope( AS_GLOBAL )
924 .FriendlyName( _( "Update Footprint..." ) )
925 .Tooltip( _( "Update footprint to include any changes from the library" ) )
926 .Icon( BITMAPS::refresh ) );
927
929 .Name( "pcbnew.GlobalEdit.updateFootprints" )
930 .Scope( AS_GLOBAL )
931 .FriendlyName( _( "Update Footprints from Library..." ) )
932 .Tooltip( _( "Update footprints to include any changes from the library" ) )
933 .Icon( BITMAPS::refresh ) );
934
936 .Name( "pcbnew.GlobalEdit.removeUnusedPads" )
937 .Scope( AS_GLOBAL )
938 .FriendlyName( _( "Remove Unused Pads..." ) )
939 .Tooltip( _( "Remove or restore the unconnected inner layers on through hole pads and vias" ) )
940 .Icon( BITMAPS::pads_remove ) );
941
943 .Name( "pcbnew.GlobalEdit.changeFootprint" )
944 .Scope( AS_GLOBAL )
945 .FriendlyName( _( "Change Footprint..." ) )
946 .Tooltip( _( "Assign a different footprint from the library" ) )
947 .Icon( BITMAPS::exchange ) );
948
950 .Name( "pcbnew.GlobalEdit.changeFootprints" )
951 .Scope( AS_GLOBAL )
952 .FriendlyName( _( "Change Footprints..." ) )
953 .Tooltip( _( "Assign different footprints from the library" ) )
954 .Icon( BITMAPS::exchange ) );
955
957 .Name( "pcbnew.GlobalEdit.swapLayers" )
958 .Scope( AS_GLOBAL )
959 .FriendlyName( _( "Swap Layers..." ) )
960 .Tooltip( _( "Move tracks or drawings from one layer to another" ) )
961 .Icon( BITMAPS::swap_layer ) );
962
964 .Name( "pcbnew.GlobalEdit.editTracksAndVias" )
965 .Scope( AS_GLOBAL )
966 .FriendlyName( _( "Edit Track & Via Properties..." ) )
967 .Tooltip( _( "Edit track and via properties globally across board" ) )
968 .Icon( BITMAPS::width_track_via ) );
969
971 .Name( "pcbnew.GlobalEdit.editTextAndGraphics" )
972 .Scope( AS_GLOBAL )
973 .FriendlyName( _( "Edit Text & Graphics Properties..." ) )
974 .Tooltip( _( "Edit Text and graphics properties globally across board" ) )
975 .Icon( BITMAPS::text ) );
976
978 .Name( "pcbnew.GlobalEdit.editTeardrops" )
979 .Scope( AS_GLOBAL )
980 .FriendlyName( _( "Edit Teardrops..." ) )
981 .Tooltip( _( "Add, remove or edit teardrops globally across board" ) )
982 .Icon( BITMAPS::via ) );
983
985 .Name( "pcbnew.GlobalEdit.globalDeletions" )
986 .Scope( AS_GLOBAL )
987 .FriendlyName( _( "Global Deletions..." ) )
988 .Tooltip( _( "Delete tracks, footprints and graphic items from board" ) )
990
992 .Name( "pcbnew.GlobalEdit.cleanupTracksAndVias" )
993 .Scope( AS_GLOBAL )
994 .FriendlyName( _( "Cleanup Tracks & Vias..." ) )
995 .Tooltip( _( "Cleanup redundant items, shorting items, etc." ) )
997
999 .Name( "pcbnew.GlobalEdit.cleanupGraphics" )
1000 .Scope( AS_GLOBAL )
1001 .FriendlyName( _( "Cleanup Graphics..." ) )
1002 .Tooltip( _( "Cleanup redundant items, etc." ) )
1003 .Icon( BITMAPS::cleanup_graphics ) );
1004
1005// MICROWAVE_TOOL
1006//
1008 .Name( "pcbnew.MicrowaveTool.createGap" )
1009 .Scope( AS_GLOBAL )
1010 .FriendlyName( _( "Draw Microwave Gaps" ) )
1011 .Tooltip( _( "Create gap of specified length for microwave applications" ) )
1012 .Icon( BITMAPS::mw_add_gap )
1013 .Flags( AF_ACTIVATE )
1014 .Parameter( MICROWAVE_FOOTPRINT_SHAPE::GAP ) );
1015
1017 .Name( "pcbnew.MicrowaveTool.createStub" )
1018 .Scope( AS_GLOBAL )
1019 .FriendlyName( _( "Draw Microwave Stubs" ) )
1020 .Tooltip( _( "Create stub of specified length for microwave applications" ) )
1021 .Icon( BITMAPS::mw_add_stub )
1022 .Flags( AF_ACTIVATE )
1023 .Parameter( MICROWAVE_FOOTPRINT_SHAPE::STUB ) );
1024
1026 .Name( "pcbnew.MicrowaveTool.createStubArc" )
1027 .Scope( AS_GLOBAL )
1028 .FriendlyName( _( "Draw Microwave Arc Stubs" ) )
1029 .Tooltip( _( "Create stub (arc) of specified size for microwave applications" ) )
1031 .Flags( AF_ACTIVATE )
1033
1035 .Name( "pcbnew.MicrowaveTool.createFunctionShape" )
1036 .Scope( AS_GLOBAL )
1037 .FriendlyName( _( "Draw Microwave Polygonal Shapes" ) )
1038 .Tooltip( _( "Create a microwave polygonal shape from a list of vertices" ) )
1039 .Icon( BITMAPS::mw_add_shape )
1040 .Flags( AF_ACTIVATE )
1042
1044 .Name( "pcbnew.MicrowaveTool.createLine" )
1045 .Scope( AS_GLOBAL )
1046 .FriendlyName( _( "Draw Microwave Lines" ) )
1047 .Tooltip( _( "Create line of specified length for microwave applications" ) )
1048 .Icon( BITMAPS::mw_add_line )
1049 .Flags( AF_ACTIVATE ) );
1050
1051
1052// PAD_TOOL
1053//
1055 .Name( "pcbnew.PadTool.CopyPadSettings" )
1056 .Scope( AS_GLOBAL )
1057 .FriendlyName( _( "Copy Pad Properties to Default" ) )
1058 .Tooltip( _( "Copy current pad's properties" ) )
1059 .Icon( BITMAPS::copy_pad_settings ) );
1060
1062 .Name( "pcbnew.PadTool.ApplyPadSettings" )
1063 .Scope( AS_GLOBAL )
1064 .FriendlyName( _( "Paste Default Pad Properties to Selected" ) )
1065 .Tooltip( _( "Replace the current pad's properties with those copied earlier" ) )
1066 .Icon( BITMAPS::apply_pad_settings ) );
1067
1069 .Name( "pcbnew.PadTool.PushPadSettings" )
1070 .Scope( AS_GLOBAL )
1071 .FriendlyName( _( "Push Pad Properties to Other Pads..." ) )
1072 .Tooltip( _( "Copy the current pad's properties to other pads" ) )
1073 .Icon( BITMAPS::push_pad_settings ) );
1074
1076 .Name( "pcbnew.PadTool.enumeratePads" )
1077 .Scope( AS_GLOBAL )
1078 .FriendlyName( _( "Renumber Pads..." ) )
1079 .Tooltip( _( "Renumber pads by clicking on them in the desired order" ) )
1080 .Icon( BITMAPS::pad_enumerate )
1081 .Flags( AF_ACTIVATE ) );
1082
1084 .Name( "pcbnew.PadTool.placePad" )
1085 .Scope( AS_GLOBAL )
1086 .FriendlyName( _( "Add Pad" ) )
1087 .Tooltip( _( "Add a pad" ) )
1088 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1089 .Icon( BITMAPS::pad )
1090 .Flags( AF_ACTIVATE ) );
1091
1093 .Name( "pcbnew.PadTool.explodePad" )
1094 .Scope( AS_GLOBAL )
1095 .DefaultHotkey( MD_CTRL + 'E' )
1096 .FriendlyName( _( "Edit Pad as Graphic Shapes" ) )
1097 .Tooltip( _( "Ungroups a custom-shaped pad for editing as individual graphic shapes" ) )
1099
1101 .Name( "pcbnew.PadTool.recombinePad" )
1102 .Scope( AS_GLOBAL )
1103 .DefaultHotkey( MD_CTRL + 'E' )
1104 .FriendlyName( _( "Finish Pad Edit" ) )
1105 .Tooltip( _( "Regroups all touching graphic shapes into the edited pad" ) )
1107
1109 .Name( "pcbnew.PadTool.defaultPadProperties" )
1110 .Scope( AS_GLOBAL )
1111 .FriendlyName( _( "Default Pad Properties..." ) )
1112 .Tooltip( _( "Edit the pad properties used when creating new pads" ) )
1113 .Icon( BITMAPS::options_pad ) );
1114
1115
1116// SCRIPTING TOOL
1117//
1118
1120 .Name( "pcbnew.ScriptingTool.pluginsShowFolder" )
1121 .Scope( AS_GLOBAL )
1122#ifdef __WXMAC__
1123 .FriendlyName( _( "Reveal Plugin Folder in Finder" ) )
1124 .Tooltip( _( "Reveals the plugins folder in a Finder window" ) )
1125#else
1126 .FriendlyName( _( "Open Plugin Directory" ) )
1127 .Tooltip( _( "Opens the directory in the default system file manager" ) )
1128#endif
1129 .Icon( BITMAPS::directory_open ) );
1130
1131// BOARD_EDITOR_CONTROL
1132//
1134 .Name( "pcbnew.EditorControl.appendBoard" )
1135 .Scope( AS_GLOBAL )
1136 .FriendlyName( _( "Append Board..." ) )
1137 .Tooltip( _( "Open another board and append its contents to this board" ) )
1138 .Icon( BITMAPS::add_board ) );
1139
1141 .Name( "pcbnew.EditorControl.rescueAutosave" )
1142 .Scope( AS_GLOBAL )
1143 .FriendlyName( _( "Rescue" ) )
1144 .Tooltip( _( "Clear board and get last rescue file automatically saved by PCB editor" ) )
1145 .Icon( BITMAPS::rescue ) );
1146
1148 .Name( "pcbnew.EditorControl.openNonKicadBoard" )
1149 .Scope( AS_GLOBAL )
1150 .FriendlyName( _( "Non-KiCad Board File..." ) )
1151 .Tooltip( _( "Import board file from other applications" ) )
1152 .Icon( BITMAPS::import_brd_file ) );
1153
1155 .Name( "pcbnew.EditorControl.exportFootprints" )
1156 .Scope( AS_GLOBAL )
1157 .FriendlyName( _( "Export Footprints..." ) )
1158 .Tooltip( _( "Add footprints from board to a new or an existing footprint library\n"
1159 "(does not remove other footprints from this library)" ) )
1160 .Icon( BITMAPS::library_archive ) );
1161
1163 .Name( "pcbnew.EditorControl.boardSetup" )
1164 .Scope( AS_GLOBAL )
1165 .FriendlyName( _( "Board Setup..." ) )
1166 .Tooltip( _( "Edit board setup including layers, design rules and various defaults" ) )
1167 .Icon( BITMAPS::options_board ) );
1168
1170 .Name( "pcbnew.EditorControl.importNetlist" )
1171 .Scope( AS_GLOBAL )
1172 .FriendlyName( _( "Import Netlist..." ) )
1173 .Tooltip( _( "Read netlist and update board connectivity" ) )
1174 .Icon( BITMAPS::netlist ) );
1175
1177 .Name( "pcbnew.EditorControl.importSpecctraSession" )
1178 .Scope( AS_GLOBAL )
1179 .FriendlyName( _( "Import Specctra Session..." ) )
1180 .Tooltip( _( "Import routed Specctra session (*.ses) file" ) )
1181 .Icon( BITMAPS::import ) );
1182
1184 .Name( "pcbnew.EditorControl.exportSpecctraDSN" )
1185 .Scope( AS_GLOBAL )
1186 .FriendlyName( _( "Export Specctra DSN..." ) )
1187 .Tooltip( _( "Export Specctra DSN routing info" ) )
1188 .Icon( BITMAPS::export_dsn ) );
1189
1191 .Name( "pcbnew.EditorControl.generateGerbers" )
1192 .Scope( AS_GLOBAL )
1193 .FriendlyName( _( "Gerbers (.gbr)..." ) )
1194 .Tooltip( _( "Generate Gerbers for fabrication" ) )
1195 .Icon( BITMAPS::post_gerber ) );
1196
1198 .Name( "pcbnew.EditorControl.generateDrillFiles" )
1199 .Scope( AS_GLOBAL )
1200 .FriendlyName( _( "Drill Files (.drl)..." ) )
1201 .Tooltip( _( "Generate Excellon drill file(s)" ) )
1202 .Icon( BITMAPS::post_drill ) );
1203
1205 .Name( "pcbnew.EditorControl.generatePosFile" )
1206 .Scope( AS_GLOBAL )
1207 .FriendlyName( _( "Component Placement (.pos, .gbr)..." ) )
1208 .Tooltip( _( "Generate component placement file(s) for pick and place" ) )
1209 .Icon( BITMAPS::post_compo ) );
1210
1212 .Name( "pcbnew.EditorControl.generateReportFile" )
1213 .Scope( AS_GLOBAL )
1214 .FriendlyName( _( "Footprint Report (.rpt)..." ) )
1215 .Tooltip( _( "Create report of all footprints from current board" ) )
1216 .Icon( BITMAPS::post_rpt ) );
1217
1219 .Name( "pcbnew.EditorControl.generateIPC2581File" )
1220 .Scope( AS_GLOBAL )
1221 .FriendlyName( _( "IPC-2581 File (.xml)..." ) )
1222 .Tooltip( _( "Generate an IPC-2581 file" ) )
1223 .Icon( BITMAPS::post_xml ) );
1224
1226 .Name( "pcbnew.EditorControl.generateODBPPFile" )
1227 .Scope( AS_GLOBAL )
1228 .FriendlyName( _( "ODB++ Output File..." ) )
1229 .Tooltip( _( "Generate ODB++ output files" ) )
1230 .Icon( BITMAPS::post_odb ) );
1231
1233 .Name( "pcbnew.EditorControl.generateD356File" )
1234 .Scope( AS_GLOBAL )
1235 .FriendlyName( _( "IPC-D-356 Netlist File..." ) )
1236 .Tooltip( _( "Generate IPC-D-356 netlist file" ) )
1237 .Icon( BITMAPS::post_d356 ) );
1238
1240 .Name( "pcbnew.EditorControl.generateBOM" )
1241 .Scope( AS_GLOBAL )
1242 .FriendlyName( _( "Bill of Materials..." ) )
1243 .Tooltip( _( "Create bill of materials from board" ) )
1244 .Icon( BITMAPS::post_bom ) );
1245
1247 .Name( "pcbnew.EditorControl.exportGenCAD" )
1248 .Scope( AS_GLOBAL )
1249 .FriendlyName( _( "Export GenCAD..." ) )
1250 .Tooltip( _( "Export GenCAD board representation" ) )
1251 .Icon( BITMAPS::post_gencad ) );
1252
1254 .Name( "pcbnew.EditorControl.exportVRML" )
1255 .Scope( AS_GLOBAL )
1256 .FriendlyName( _( "Export VRML..." ) )
1257 .Tooltip( _( "Export VRML 3D board representation" ) )
1258 .Icon( BITMAPS::export3d ) );
1259
1261 .Name( "pcbnew.EditorControl.exportIDF" )
1262 .Scope( AS_GLOBAL )
1263 .FriendlyName( _( "Export IDFv3..." ) )
1264 .Tooltip( _( "Export IDF 3D board representation" ) )
1265 .Icon( BITMAPS::export_idf ) );
1266
1268 .Name( "pcbnew.EditorControl.exportSTEP" )
1269 .Scope( AS_GLOBAL )
1270 .FriendlyName( _( "Export STEP/GLB/BREP/XAO/PLY/STL..." ) )
1271 .Tooltip( _( "Export STEP, GLB, BREP, XAO, PLY or STL 3D board representation" ) )
1272 .Icon( BITMAPS::export_step ) );
1273
1275 .Name( "pcbnew.EditorControl.exportFootprintAssociations" )
1276 .Scope( AS_GLOBAL )
1277 .FriendlyName( _( "Export Footprint Association (.cmp) File..." ) )
1278 .Tooltip( _( "Export footprint association file (*.cmp) for schematic back annotation" ) )
1279 .Icon( BITMAPS::export_cmp ) );
1280
1282 .Name( "pcbnew.EditorControl.exportHyperlynx" )
1283 .Scope( AS_GLOBAL )
1284 .FriendlyName( _( "Hyperlynx..." ) )
1285 .Icon( BITMAPS::export_step ) );
1286
1288 .Name( "pcbnew.EditorControl.collect3DModels" )
1289 .Scope( AS_GLOBAL )
1290 .FriendlyName( _( "Collect And Embed 3D Models" ) )
1291 .Tooltip( _( "Collect footprint 3D models and embed them into the board" ) ) );
1292
1293
1294// Track & via size control
1296 .Name( "pcbnew.EditorControl.trackWidthInc" )
1297 .Scope( AS_GLOBAL )
1298 .DefaultHotkey( 'W' )
1299 .LegacyHotkeyName( "Switch Track Width To Next" )
1300 .FriendlyName( _( "Switch Track Width to Next" ) )
1301 .Tooltip( _( "Change track width to next pre-defined size" ) ) );
1302
1304 .Name( "pcbnew.EditorControl.trackWidthDec" )
1305 .Scope( AS_GLOBAL )
1306 .DefaultHotkey( MD_SHIFT + 'W' )
1307 .LegacyHotkeyName( "Switch Track Width To Previous" )
1308 .FriendlyName( _( "Switch Track Width to Previous" ) )
1309 .Tooltip( _( "Change track width to previous pre-defined size" ) ) );
1310
1312 .Name( "pcbnew.EditorControl.viaSizeInc" )
1313 .Scope( AS_GLOBAL )
1314 .DefaultHotkey( '\'' )
1315 .LegacyHotkeyName( "Increase Via Size" )
1316 .FriendlyName( _( "Increase Via Size" ) )
1317 .Tooltip( _( "Change via size to next pre-defined size" ) ) );
1318
1320 .Name( "pcbnew.EditorControl.viaSizeDec" )
1321 .Scope( AS_GLOBAL )
1322 .DefaultHotkey( '\\' )
1323 .LegacyHotkeyName( "Decrease Via Size" )
1324 .FriendlyName( _( "Decrease Via Size" ) )
1325 .Tooltip( _( "Change via size to previous pre-defined size" ) ) );
1326
1328 .Name( "pcbnew.EditorControl.autoTrackWidth" )
1329 .Scope( AS_GLOBAL )
1330 .FriendlyName( _( "Automatically select track width" ) )
1331 .Tooltip( _( "When routing from an existing track use its width instead "
1332 "of the current width setting" ) )
1334 .ToolbarState( TOOLBAR_STATE::TOGGLE ) );
1335
1337 .Name( "pcbnew.EditorControl.trackViaSizeChanged" )
1338 .Scope( AS_GLOBAL )
1339 .Flags( AF_NOTIFY ) );
1340
1342 .Name( "pcbnew.EditorControl.assignNetclass" )
1343 .Scope( AS_GLOBAL )
1344 .FriendlyName( _( "Assign Netclass..." ) )
1345 .Tooltip( _( "Assign a netclass to nets matching a pattern" ) )
1346 .Icon( BITMAPS::netlist ) );
1347
1349 .Name( "pcbnew.EditorControl.zoneMerge" )
1350 .Scope( AS_GLOBAL )
1351 .FriendlyName( _( "Merge Zones" ) ) );
1352
1354 .Name( "pcbnew.EditorControl.zoneDuplicate" )
1355 .Scope( AS_GLOBAL )
1356 .FriendlyName( _( "Duplicate Zone onto Layer..." ) )
1357 .Icon( BITMAPS::zone_duplicate ) );
1358
1360 .Name( "pcbnew.EditorControl.placeFootprint" )
1361 .Scope( AS_GLOBAL )
1362 .DefaultHotkey( 'A' )
1363 .LegacyHotkeyName( "Add Footprint" )
1364 .FriendlyName( _( "Place Footprints" ) )
1365 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1366 .Icon( BITMAPS::module )
1367 .Flags( AF_ACTIVATE )
1368 .Parameter<FOOTPRINT*>( nullptr ) );
1369
1371 .Name( "pcbnew.EditorControl.drillOrigin" )
1372 .Scope( AS_GLOBAL )
1373 .FriendlyName( _( "Drill/Place File Origin" ) )
1374 .Tooltip( _( "Place origin point for drill files and component placement files" ) )
1375 .Icon( BITMAPS::set_origin )
1376 .Flags( AF_ACTIVATE ) );
1377
1379 .Name( "pcbnew.EditorControl.drillResetOrigin" )
1380 .Scope( AS_GLOBAL )
1381 .LegacyHotkeyName( "Reset Drill Origin" )
1382 .FriendlyName( _( "Reset Drill Origin" ) ) );
1383
1385 .Name( "pcbnew.EditorControl.drillSetOrigin" )
1386 .Scope( AS_CONTEXT )
1387 .Parameter( VECTOR2I() ) );
1388
1390 .Name( "pcbnew.EditorControl.toggleLock" )
1391 .Scope( AS_GLOBAL )
1392 .DefaultHotkey( 'L' )
1393 .LegacyHotkeyName( "Lock/Unlock Footprint" )
1394 .FriendlyName( _( "Toggle Lock" ) )
1395 .Tooltip( _( "Lock or unlock selected items" ) )
1396 .Icon( BITMAPS::lock_unlock ) );
1397
1399 .Name( "pcbnew.EditorControl.toggle45" )
1400 .Scope( AS_GLOBAL )
1401 .DefaultHotkey( MD_SHIFT + ' ' )
1402 .FriendlyName( _( "Constrain to H, V, 45" ) )
1403 .Tooltip( _( "Limit actions to horizontal, vertical, or 45 degrees from the starting point" ) )
1404 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1405 .Icon( BITMAPS::hv45mode ) );
1406
1408 .Name( "pcbnew.EditorControl.lock" )
1409 .Scope( AS_GLOBAL )
1410 .FriendlyName( _( "Lock" ) )
1411 .Tooltip( _( "Prevent items from being moved and/or resized on the canvas" ) )
1412 .Icon( BITMAPS::locked ) );
1413
1415 .Name( "pcbnew.EditorControl.unlock" )
1416 .Scope( AS_GLOBAL )
1417 .FriendlyName( _( "Unlock" ) )
1418 .Tooltip( _( "Allow items to be moved and/or resized on the canvas" ) )
1419 .Icon( BITMAPS::unlocked ) );
1420
1422 .Name( "pcbnew.EditorControl.highlightNet" )
1423 .Scope( AS_GLOBAL )
1424 .DefaultHotkey( '`' )
1425 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
1426 .LegacyHotkeyName( "Toggle Highlight of Selected Net (Modern Toolset only)" )
1427 .FriendlyName( _( "Highlight Net" ) )
1428 .Tooltip( _( "Highlight net under cursor" ) )
1429 .Icon( BITMAPS::net_highlight )
1430 .Parameter<int>( 0 ) );
1431
1433 .Name( "pcbnew.EditorControl.toggleLastNetHighlight" )
1434 .Scope( AS_GLOBAL )
1435 .FriendlyName( _( "Toggle Last Net Highlight" ) )
1436 .Tooltip( _( "Toggle between last two highlighted nets" ) )
1437 .Parameter<int>( 0 ) );
1438
1440 .Name( "pcbnew.EditorControl.clearHighlight" )
1441 .Scope( AS_GLOBAL )
1442 .DefaultHotkey( '~' )
1443 .FriendlyName( _( "Clear Net Highlighting" ) ) );
1444
1446 .Name( "pcbnew.EditorControl.toggleNetHighlight" )
1447 .Scope( AS_GLOBAL )
1448 .DefaultHotkey( MD_ALT + '`' )
1449 .FriendlyName( _( "Toggle Net Highlight" ) )
1450 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1451 .Icon( BITMAPS::net_highlight )
1452 .Parameter<int>( 0 ) );
1453
1455 .Name( "pcbnew.EditorControl.highlightNetSelection" )
1456 .Scope( AS_GLOBAL )
1457 .FriendlyName( _( "Highlight Net" ) )
1458 .Tooltip( _( "Highlight all copper items on the selected net(s)" ) )
1459 .Icon( BITMAPS::net_highlight )
1460 .Parameter<int>( 0 ) );
1461
1463 .Name( "pcbnew.EditorControl.highlightItem" )
1464 .Scope( AS_GLOBAL ) );
1465
1467 .Name( "pcbnew.EditorControl.hideNet" )
1468 .Scope( AS_GLOBAL )
1469 .FriendlyName( _( "Hide Net in Ratsnest" ) )
1470 .Tooltip( _( "Hide the selected net in the ratsnest of unconnected net lines/arcs" ) )
1471 .Icon( BITMAPS::hide_ratsnest )
1472 .Parameter<int>( 0 ) ); // Default to hiding selected net
1473
1475 .Name( "pcbnew.EditorControl.showNet" )
1476 .Scope( AS_GLOBAL )
1477 .FriendlyName( _( "Show Net in Ratsnest" ) )
1478 .Tooltip( _( "Show the selected net in the ratsnest of unconnected net lines/arcs" ) )
1479 .Icon( BITMAPS::show_ratsnest )
1480 .Parameter<int>( 0 ) ); // Default to showing selected net
1481
1483 .Name( "pcbnew.EditorControl.showEeschema" )
1484 .Scope( AS_GLOBAL )
1485 .FriendlyName( _( "Switch to Schematic Editor" ) )
1486 .Tooltip( _( "Open schematic in schematic editor" ) )
1487 .Icon( BITMAPS::icon_eeschema_24 ) );
1488
1489
1490// PCB_CONTROL
1491//
1492
1494 .Name( "pcbnew.Control.localRatsnestTool" )
1495 .Scope( AS_GLOBAL )
1496 .FriendlyName( _( "Local Ratsnest" ) )
1497 .Tooltip( _( "Toggle ratsnest display of selected item(s)" ) )
1498 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1499 .Icon( BITMAPS::tool_ratsnest )
1500 .Flags( AF_ACTIVATE ) );
1501
1503 .Name( "pcbnew.Control.hideDynamicRatsnest" )
1504 .Scope( AS_GLOBAL ) );
1505
1507 .Name( "pcbnew.Control.updateLocalRatsnest" )
1508 .Scope( AS_GLOBAL )
1509 .Parameter( VECTOR2I() ) );
1510
1512 .Name( "pcbnew.Control.showPythonConsole" )
1513 .Scope( AS_GLOBAL )
1514 .FriendlyName( _( "Scripting Console" ) )
1515 .Tooltip( _( "Show the Python scripting console" ) )
1516 .Icon( BITMAPS::py_script )
1517 .ToolbarState( TOOLBAR_STATE::TOGGLE) );
1518
1520 .Name( "pcbnew.Control.showLayersManager" )
1521 .Scope( AS_GLOBAL )
1522 .FriendlyName( _( "Appearance" ) )
1523 .Tooltip( _( "Show/hide the appearance manager" ) )
1524 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1525 .Icon( BITMAPS::layers_manager ) );
1526
1528 .Name( "pcbnew.Control.showNetInspector" )
1529 .Scope( AS_GLOBAL )
1530 .FriendlyName( _( "Net Inspector" ) )
1531 .Tooltip( _( "Show/hide the net inspector" ) )
1532 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1533 .Icon( BITMAPS::tools ) );
1534
1535TOOL_ACTION PCB_ACTIONS::zonesManager( "pcbnew.Control.zonesManager",
1536 AS_GLOBAL, 0, "",
1537 _( "Zone Manager..." ),
1538 _( "Show the zone manager dialog" ),
1540
1542 .Name( "pcbnew.Control.flipBoard" )
1543 .Scope( AS_GLOBAL )
1544 .FriendlyName( _( "Flip Board View" ) )
1545 .Tooltip( _( "View board from the opposite side" ) )
1546 .Icon( BITMAPS::flip_board ) );
1547
1549 .Name( "pcbnew.Control.rehatchShapes" )
1550 .Scope( AS_CONTEXT ) );
1551
1552
1553// Display modes
1555 .Name( "pcbnew.Control.showRatsnest" )
1556 .Scope( AS_GLOBAL )
1557 .FriendlyName( _( "Show Ratsnest" ) )
1558 .Tooltip( _( "Show lines/arcs representing missing connections on the board" ) )
1559 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1560 .Icon( BITMAPS::general_ratsnest ) );
1561
1563 .Name( "pcbnew.Control.ratsnestLineMode" )
1564 .Scope( AS_GLOBAL )
1565 .FriendlyName( _( "Curved Ratsnest Lines" ) )
1566 .Tooltip( _( "Show ratsnest with curved lines" ) )
1567 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1568 .Icon( BITMAPS::curved_ratsnest ) );
1569
1571 .Name( "pcbnew.Control.ratsnestModeCycle" )
1572 .Scope( AS_GLOBAL )
1573 .FriendlyName( _( "Ratsnest Mode (3-state)" ) )
1574 .Tooltip( _( "Cycle between showing ratsnests for all layers, just visible layers, and none" ) ) );
1575
1577 .Name( "pcbnew.Control.netColorMode" )
1578 .Scope( AS_GLOBAL )
1579 .FriendlyName( _( "Net Color Mode (3-state)" ) )
1580 .Tooltip( _( "Cycle between using net and netclass colors for all nets, just ratsnests, and none" ) ) );
1581
1583 .Name( "pcbnew.Control.trackDisplayMode" )
1584 .Scope( AS_GLOBAL )
1585 .DefaultHotkey( 'K' )
1586 .LegacyHotkeyName( "Track Display Mode" )
1587 .FriendlyName( _( "Sketch Tracks" ) )
1588 .Tooltip( _( "Show tracks in outline mode" ) )
1589 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1590 .Icon( BITMAPS::showtrack ) );
1591
1593 .Name( "pcbnew.Control.padDisplayMode" )
1594 .Scope( AS_GLOBAL )
1595 .FriendlyName( _( "Sketch Pads" ) )
1596 .Tooltip( _( "Show pads in outline mode" ) )
1597 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1598 .Icon( BITMAPS::pad_sketch ) );
1599
1601 .Name( "pcbnew.Control.viaDisplayMode" )
1602 .Scope( AS_GLOBAL )
1603 .FriendlyName( _( "Sketch Vias" ) )
1604 .Tooltip( _( "Show vias in outline mode" ) )
1605 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1606 .Icon( BITMAPS::via_sketch ) );
1607
1609 .Name( "pcbnew.Control.graphicOutlines" )
1610 .Scope( AS_GLOBAL )
1611 .FriendlyName( _( "Sketch Graphic Items" ) )
1612 .Tooltip( _( "Show graphic items in outline mode" ) )
1613 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1614 .Icon( BITMAPS::show_mod_edge ) );
1615
1617 .Name( "pcbnew.Control.textOutlines" )
1618 .Scope( AS_GLOBAL )
1619 .FriendlyName( _( "Sketch Text Items" ) )
1620 .Tooltip( _( "Show footprint texts in line mode" ) )
1621 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1622 .Icon( BITMAPS::text_sketch ) );
1623
1625 .Name( "pcbnew.Control.showPadNumbers" )
1626 .Scope( AS_GLOBAL )
1627 .FriendlyName( _( "Show Pad Numbers" ) )
1628 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1629 .Icon( BITMAPS::pad_number ) );
1630
1632 .Name( "pcbnew.Control.zoneDisplayEnable" )
1633 .Scope( AS_GLOBAL )
1634 .FriendlyName( _( "Draw Zone Fills" ) )
1635 .Tooltip( _( "Show filled areas of zones" ) )
1636 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1637 .Icon( BITMAPS::show_zone ) );
1638
1640 .Name( "pcbnew.Control.zoneDisplayDisable" )
1641 .Scope( AS_GLOBAL )
1642 .FriendlyName( _( "Draw Zone Outlines" ) )
1643 .Tooltip( _( "Show only zone boundaries" ) )
1644 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1645 .Icon( BITMAPS::show_zone_disable ) );
1646
1648 .Name( "pcbnew.Control.zoneDisplayOutlines" )
1649 .Scope( AS_GLOBAL )
1650 .FriendlyName( _( "Draw Zone Fill Fracture Borders" ) )
1651 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1653
1655 .Name( "pcbnew.Control.zoneDisplayTesselation" )
1656 .Scope( AS_GLOBAL )
1657 .FriendlyName( _( "Draw Zone Fill Triangulation" ) )
1658 .ToolbarState( TOOLBAR_STATE::TOGGLE )
1660
1662 .Name( "pcbnew.Control.zoneDisplayToggle" )
1663 .Scope( AS_GLOBAL )
1664 .FriendlyName( _( "Toggle Zone Display" ) )
1665 .Tooltip( _( "Cycle between showing zone fills and just their outlines" ) )
1666 .Icon( BITMAPS::show_zone ) );
1667
1668
1670 .Name( "pcbnew.Control.fpAutoZoom" )
1671 .Scope( AS_GLOBAL )
1672 .FriendlyName( _( "Automatic zoom" ) )
1673 .Tooltip( _( "Automatic Zoom on footprint change" ) )
1675 .ToolbarState( TOOLBAR_STATE::TOGGLE ) );
1676
1677// Layer control
1678
1679// Translate aLayer to the action that switches to it
1681{
1682 switch( aLayer )
1683 {
1684 case F_Cu: return &PCB_ACTIONS::layerTop;
1685 case In1_Cu: return &PCB_ACTIONS::layerInner1;
1686 case In2_Cu: return &PCB_ACTIONS::layerInner2;
1687 case In3_Cu: return &PCB_ACTIONS::layerInner3;
1688 case In4_Cu: return &PCB_ACTIONS::layerInner4;
1689 case In5_Cu: return &PCB_ACTIONS::layerInner5;
1690 case In6_Cu: return &PCB_ACTIONS::layerInner6;
1691 case In7_Cu: return &PCB_ACTIONS::layerInner7;
1692 case In8_Cu: return &PCB_ACTIONS::layerInner8;
1693 case In9_Cu: return &PCB_ACTIONS::layerInner9;
1694 case In10_Cu: return &PCB_ACTIONS::layerInner10;
1695 case In11_Cu: return &PCB_ACTIONS::layerInner11;
1696 case In12_Cu: return &PCB_ACTIONS::layerInner12;
1697 case In13_Cu: return &PCB_ACTIONS::layerInner13;
1698 case In14_Cu: return &PCB_ACTIONS::layerInner14;
1699 case In15_Cu: return &PCB_ACTIONS::layerInner15;
1700 case In16_Cu: return &PCB_ACTIONS::layerInner16;
1701 case In17_Cu: return &PCB_ACTIONS::layerInner17;
1702 case In18_Cu: return &PCB_ACTIONS::layerInner18;
1703 case In19_Cu: return &PCB_ACTIONS::layerInner19;
1704 case In20_Cu: return &PCB_ACTIONS::layerInner20;
1705 case In21_Cu: return &PCB_ACTIONS::layerInner21;
1706 case In22_Cu: return &PCB_ACTIONS::layerInner22;
1707 case In23_Cu: return &PCB_ACTIONS::layerInner23;
1708 case In24_Cu: return &PCB_ACTIONS::layerInner24;
1709 case In25_Cu: return &PCB_ACTIONS::layerInner25;
1710 case In26_Cu: return &PCB_ACTIONS::layerInner26;
1711 case In27_Cu: return &PCB_ACTIONS::layerInner27;
1712 case In28_Cu: return &PCB_ACTIONS::layerInner28;
1713 case In29_Cu: return &PCB_ACTIONS::layerInner29;
1714 case In30_Cu: return &PCB_ACTIONS::layerInner30;
1715 case B_Cu: return &PCB_ACTIONS::layerBottom;
1716 default: return nullptr;
1717 }
1718}
1719
1720// Implemented as an accessor + static variable to ensure it is initialized when used
1721// in static action constructors
1723{
1724 static TOOL_ACTION_GROUP s_toolActionGroup( "pcbnew.Control.DirectLayerActions" );
1725 return s_toolActionGroup;
1726}
1727
1729 .Name( "pcbnew.Control.layerTop" )
1730 .Scope( AS_GLOBAL )
1732 .DefaultHotkey( WXK_PAGEUP )
1733 .LegacyHotkeyName( "Switch to Component (F.Cu) layer" )
1734 .FriendlyName( _( "Switch to Component (F.Cu) layer" ) )
1735 .Flags( AF_NOTIFY )
1736 .Parameter( F_Cu ) );
1737
1739 .Name( "pcbnew.Control.layerInner1" )
1740 .Scope( AS_GLOBAL )
1742 .LegacyHotkeyName( "Switch to Inner layer 1" )
1743 .FriendlyName( _( "Switch to Inner Layer 1" ) )
1744 .Flags( AF_NOTIFY )
1745 .Parameter( In1_Cu ) );
1746
1748 .Name( "pcbnew.Control.layerInner2" )
1749 .Scope( AS_GLOBAL )
1751 .LegacyHotkeyName( "Switch to Inner layer 2" )
1752 .FriendlyName( _( "Switch to Inner Layer 2" ) )
1753 .Flags( AF_NOTIFY )
1754 .Parameter( In2_Cu ) );
1755
1757 .Name( "pcbnew.Control.layerInner3" )
1758 .Scope( AS_GLOBAL )
1760 .LegacyHotkeyName( "Switch to Inner layer 3" )
1761 .FriendlyName( _( "Switch to Inner Layer 3" ) )
1762 .Flags( AF_NOTIFY )
1763 .Parameter( In3_Cu ) );
1764
1766 .Name( "pcbnew.Control.layerInner4" )
1767 .Scope( AS_GLOBAL )
1769 .LegacyHotkeyName( "Switch to Inner layer 4" )
1770 .FriendlyName( _( "Switch to Inner Layer 4" ) )
1771 .Flags( AF_NOTIFY )
1772 .Parameter( In4_Cu ) );
1773
1775 .Name( "pcbnew.Control.layerInner5" )
1776 .Scope( AS_GLOBAL )
1778 .LegacyHotkeyName( "Switch to Inner layer 5" )
1779 .FriendlyName( _( "Switch to Inner Layer 5" ) )
1780 .Flags( AF_NOTIFY )
1781 .Parameter( In5_Cu ) );
1782
1784 .Name( "pcbnew.Control.layerInner6" )
1785 .Scope( AS_GLOBAL )
1787 .LegacyHotkeyName( "Switch to Inner layer 6" )
1788 .FriendlyName( _( "Switch to Inner Layer 6" ) )
1789 .Flags( AF_NOTIFY )
1790 .Parameter( In6_Cu ) );
1791
1793 .Name( "pcbnew.Control.layerInner7" )
1794 .Scope( AS_GLOBAL )
1796 .FriendlyName( _( "Switch to Inner Layer 7" ) )
1797 .Flags( AF_NOTIFY )
1798 .Parameter( In7_Cu ) );
1799
1801 .Name( "pcbnew.Control.layerInner8" )
1802 .Scope( AS_GLOBAL )
1804 .FriendlyName( _( "Switch to Inner Layer 8" ) )
1805 .Flags( AF_NOTIFY )
1806 .Parameter( In8_Cu ) );
1807
1809 .Name( "pcbnew.Control.layerInner9" )
1810 .Scope( AS_GLOBAL )
1812 .FriendlyName( _( "Switch to Inner Layer 9" ) )
1813 .Flags( AF_NOTIFY )
1814 .Parameter( In9_Cu ) );
1815
1817 .Name( "pcbnew.Control.layerInner10" )
1818 .Scope( AS_GLOBAL )
1820 .FriendlyName( _( "Switch to Inner Layer 10" ) )
1821 .Flags( AF_NOTIFY )
1822 .Parameter( In10_Cu ) );
1823
1825 .Name( "pcbnew.Control.layerInner11" )
1826 .Scope( AS_GLOBAL )
1828 .FriendlyName( _( "Switch to Inner Layer 11" ) )
1829 .Flags( AF_NOTIFY )
1830 .Parameter( In11_Cu ) );
1831
1833 .Name( "pcbnew.Control.layerInner12" )
1834 .Scope( AS_GLOBAL )
1836 .FriendlyName( _( "Switch to Inner Layer 12" ) )
1837 .Flags( AF_NOTIFY )
1838 .Parameter( In12_Cu ) );
1839
1841 .Name( "pcbnew.Control.layerInner13" )
1842 .Scope( AS_GLOBAL )
1844 .FriendlyName( _( "Switch to Inner Layer 13" ) )
1845 .Flags( AF_NOTIFY )
1846 .Parameter( In13_Cu ) );
1847
1849 .Name( "pcbnew.Control.layerInner14" )
1850 .Scope( AS_GLOBAL )
1852 .FriendlyName( _( "Switch to Inner Layer 14" ) )
1853 .Flags( AF_NOTIFY )
1854 .Parameter( In14_Cu ) );
1855
1857 .Name( "pcbnew.Control.layerInner15" )
1858 .Scope( AS_GLOBAL )
1860 .FriendlyName( _( "Switch to Inner Layer 15" ) )
1861 .Flags( AF_NOTIFY )
1862 .Parameter( In15_Cu ) );
1863
1865 .Name( "pcbnew.Control.layerInner16" )
1866 .Scope( AS_GLOBAL )
1868 .FriendlyName( _( "Switch to Inner Layer 16" ) )
1869 .Flags( AF_NOTIFY )
1870 .Parameter( In16_Cu ) );
1871
1873 .Name( "pcbnew.Control.layerInner17" )
1874 .Scope( AS_GLOBAL )
1876 .FriendlyName( _( "Switch to Inner Layer 17" ) )
1877 .Flags( AF_NOTIFY )
1878 .Parameter( In17_Cu ) );
1879
1881 .Name( "pcbnew.Control.layerInner18" )
1882 .Scope( AS_GLOBAL )
1884 .FriendlyName( _( "Switch to Inner Layer 18" ) )
1885 .Flags( AF_NOTIFY )
1886 .Parameter( In18_Cu ) );
1887
1889 .Name( "pcbnew.Control.layerInner19" )
1890 .Scope( AS_GLOBAL )
1892 .FriendlyName( _( "Switch to Inner Layer 19" ) )
1893 .Flags( AF_NOTIFY )
1894 .Parameter( In19_Cu ) );
1895
1897 .Name( "pcbnew.Control.layerInner20" )
1898 .Scope( AS_GLOBAL )
1900 .FriendlyName( _( "Switch to Inner Layer 20" ) )
1901 .Flags( AF_NOTIFY )
1902 .Parameter( In20_Cu ) );
1903
1905 .Name( "pcbnew.Control.layerInner21" )
1906 .Scope( AS_GLOBAL )
1908 .FriendlyName( _( "Switch to Inner Layer 21" ) )
1909 .Flags( AF_NOTIFY )
1910 .Parameter( In21_Cu ) );
1911
1913 .Name( "pcbnew.Control.layerInner22" )
1914 .Scope( AS_GLOBAL )
1916 .FriendlyName( _( "Switch to Inner Layer 22" ) )
1917 .Flags( AF_NOTIFY )
1918 .Parameter( In22_Cu ) );
1919
1921 .Name( "pcbnew.Control.layerInner23" )
1922 .Scope( AS_GLOBAL )
1924 .FriendlyName( _( "Switch to Inner Layer 23" ) )
1925 .Flags( AF_NOTIFY )
1926 .Parameter( In23_Cu ) );
1927
1929 .Name( "pcbnew.Control.layerInner24" )
1930 .Scope( AS_GLOBAL )
1932 .FriendlyName( _( "Switch to Inner Layer 24" ) )
1933 .Flags( AF_NOTIFY )
1934 .Parameter( In24_Cu ) );
1935
1937 .Name( "pcbnew.Control.layerInner25" )
1938 .Scope( AS_GLOBAL )
1940 .FriendlyName( _( "Switch to Inner Layer 25" ) )
1941 .Flags( AF_NOTIFY )
1942 .Parameter( In25_Cu ) );
1943
1945 .Name( "pcbnew.Control.layerInner26" )
1946 .Scope( AS_GLOBAL )
1948 .FriendlyName( _( "Switch to Inner Layer 26" ) )
1949 .Flags( AF_NOTIFY )
1950 .Parameter( In26_Cu ) );
1951
1953 .Name( "pcbnew.Control.layerInner27" )
1954 .Scope( AS_GLOBAL )
1956 .FriendlyName( _( "Switch to Inner Layer 27" ) )
1957 .Flags( AF_NOTIFY )
1958 .Parameter( In27_Cu ) );
1959
1961 .Name( "pcbnew.Control.layerInner28" )
1962 .Scope( AS_GLOBAL )
1964 .FriendlyName( _( "Switch to Inner Layer 28" ) )
1965 .Flags( AF_NOTIFY )
1966 .Parameter( In28_Cu ) );
1967
1969 .Name( "pcbnew.Control.layerInner29" )
1970 .Scope( AS_GLOBAL )
1972 .FriendlyName( _( "Switch to Inner Layer 29" ) )
1973 .Flags( AF_NOTIFY )
1974 .Parameter( In29_Cu ) );
1975
1977 .Name( "pcbnew.Control.layerInner30" )
1978 .Scope( AS_GLOBAL )
1980 .FriendlyName( _( "Switch to Inner Layer 30" ) )
1981 .Flags( AF_NOTIFY )
1982 .Parameter( In30_Cu ) );
1983
1985 .Name( "pcbnew.Control.layerBottom" )
1986 .Scope( AS_GLOBAL )
1988 .DefaultHotkey( WXK_PAGEDOWN )
1989 .LegacyHotkeyName( "Switch to Copper (B.Cu) layer" )
1990 .FriendlyName( _( "Switch to Copper (B.Cu) Layer" ) )
1991 .Flags( AF_NOTIFY )
1992 .Parameter( B_Cu ) );
1993
1995 .Name( "pcbnew.Control.layerNext" )
1996 .Scope( AS_GLOBAL )
1997 .DefaultHotkey( '+' )
1998 .LegacyHotkeyName( "Switch to Next Layer" )
1999 .FriendlyName( _( "Switch to Next Layer" ) )
2000 .Flags( AF_NOTIFY ) );
2001
2003 .Name( "pcbnew.Control.layerPrev" )
2004 .Scope( AS_GLOBAL )
2005 .DefaultHotkey( '-' )
2006 .LegacyHotkeyName( "Switch to Previous Layer" )
2007 .FriendlyName( _( "Switch to Previous Layer" ) )
2008 .Flags( AF_NOTIFY ) );
2009
2011 .Name( "pcbnew.Control.layerToggle" )
2012 .Scope( AS_GLOBAL )
2013 .DefaultHotkey( 'V' )
2014 .LegacyHotkeyName( "Add Through Via" )
2015 .FriendlyName( _( "Toggle Layer" ) )
2016 .Tooltip( _( "Switch between layers in active layer pair" ) )
2017 .Flags( AF_NOTIFY ) );
2018
2020 .Name( "pcbnew.Control.layerAlphaInc" )
2021 .Scope( AS_GLOBAL )
2022 .DefaultHotkey( '}' )
2023 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2024 .LegacyHotkeyName( "Increment Layer Transparency (Modern Toolset only)" )
2025 .FriendlyName( _( "Increase Layer Opacity" ) )
2026 .Tooltip( _( "Make the current layer less transparent" ) )
2027 .Icon( BITMAPS::contrast_mode ) );
2028
2030 .Name( "pcbnew.Control.layerAlphaDec" )
2031 .Scope( AS_GLOBAL )
2032 .DefaultHotkey( '{' )
2033 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2034 .LegacyHotkeyName( "Decrement Layer Transparency (Modern Toolset only)" )
2035 .FriendlyName( _( "Decrease Layer Opacity" ) )
2036 .Tooltip( _( "Make the current layer more transparent" ) )
2037 .Icon( BITMAPS::contrast_mode ) );
2038
2040 .Name( "pcbnew.Control.layerPairPresetCycle" )
2041 .Scope( AS_GLOBAL )
2042 .DefaultHotkey( MD_SHIFT + 'V' )
2043 .FriendlyName( _( "Cycle Layer Pair Presets" ) )
2044 .Tooltip( _( "Cycle between preset layer pairs" ) ) );
2045
2047 .Name( "pcbnew.Control.layerChanged" )
2048 .Scope( AS_GLOBAL )
2049 .Flags( AF_NOTIFY ) );
2050
2051//Show board statistics tool
2053 .Name( "pcbnew.InspectionTool.ShowBoardStatistics" )
2054 .Scope( AS_GLOBAL )
2055 .FriendlyName( _( "Show Board Statistics" ) )
2056 .Tooltip( _( "Shows board statistics" ) )
2057 .Icon( BITMAPS::editor ) );
2058
2060 .Name( "pcbnew.InspectionTool.InspectClearance" )
2061 .Scope( AS_GLOBAL )
2062 .FriendlyName( _( "Clearance Resolution" ) )
2063 .Tooltip( _( "Show clearance resolution for the active layer between two selected objects" ) )
2064 .Icon( BITMAPS::mw_add_gap ) );
2065
2067 .Name( "pcbnew.InspectionTool.InspectConstraints" )
2068 .Scope( AS_GLOBAL )
2069 .FriendlyName( _( "Constraints Resolution" ) )
2070 .Tooltip( _( "Show constraints resolution for the selected object" ) )
2071 .Icon( BITMAPS::mw_add_stub ) );
2072
2074 .Name( "pcbnew.InspectionTool.DiffFootprint" )
2075 .Scope( AS_GLOBAL )
2076 .FriendlyName( _( "Compare Footprint with Library" ) )
2077 .Tooltip( _( "Show differences between board footprint and its library equivalent" ) )
2078 .Icon( BITMAPS::library ) );
2079
2081 .Name( "pcbnew.InspectionTool.ShowFootprintAssociations" )
2082 .Scope( AS_GLOBAL )
2083 .FriendlyName( _( "Show Footprint Associations" ) )
2084 .Tooltip( _( "Show footprint library and schematic symbol associations" ) )
2086
2087//Geographic re-annotation tool
2089 .Name( "pcbnew.ReannotateTool.ShowReannotateDialog" )
2090 .Scope( AS_GLOBAL )
2091 .FriendlyName( _( "Geographical Reannotate..." ) )
2092 .Tooltip( _( "Reannotate PCB in geographical order" ) )
2093 .Icon( BITMAPS::annotate ) );
2094
2096 .Name( "pcbnew.Control.repairBoard" )
2097 .Scope( AS_GLOBAL )
2098 .FriendlyName( _( "Repair Board" ) )
2099 .Tooltip( _( "Run various diagnostics and attempt to repair board" ) )
2100 .Icon( BITMAPS::rescue )
2101 .Parameter( false ) ); // Don't repair quietly
2102
2104 .Name( "pcbnew.ModuleEditor.repairFootprint" )
2105 .Scope( AS_GLOBAL )
2106 .FriendlyName( _( "Repair Footprint" ) )
2107 .Tooltip( _( "Run various diagnostics and attempt to repair footprint" ) )
2108 .Icon( BITMAPS::rescue ) );
2109
2110
2111// PLACEMENT_TOOL
2112//
2114 .Name( "pcbnew.AlignAndDistribute.alignTop" )
2115 .Scope( AS_GLOBAL )
2116 .FriendlyName( _( "Align to Top" ) )
2117 .Tooltip( _( "Aligns selected items to the top edge of the item under the cursor" ) )
2118 .Icon( BITMAPS::align_items_top ) );
2119
2121 .Name( "pcbnew.AlignAndDistribute.alignBottom" )
2122 .Scope( AS_GLOBAL )
2123 .FriendlyName( _( "Align to Bottom" ) )
2124 .Tooltip( _( "Aligns selected items to the bottom edge of the item under the cursor" ) )
2125 .Icon( BITMAPS::align_items_bottom ) );
2126
2128 .Name( "pcbnew.AlignAndDistribute.alignLeft" )
2129 .Scope( AS_GLOBAL )
2130 .FriendlyName( _( "Align to Left" ) )
2131 .Tooltip( _( "Aligns selected items to the left edge of the item under the cursor" ) )
2132 .Icon( BITMAPS::align_items_left ) );
2133
2135 .Name( "pcbnew.AlignAndDistribute.alignRight" )
2136 .Scope( AS_GLOBAL )
2137 .FriendlyName( _( "Align to Right" ) )
2138 .Tooltip( _( "Aligns selected items to the right edge of the item under the cursor" ) )
2139 .Icon( BITMAPS::align_items_right ) );
2140
2142 .Name( "pcbnew.AlignAndDistribute.alignCenterY" )
2143 .Scope( AS_GLOBAL )
2144 .FriendlyName( _( "Align to Vertical Center" ) )
2145 .Tooltip( _( "Aligns selected items to the vertical center of the item under the cursor" ) )
2146 .Icon( BITMAPS::align_items_center ) );
2147
2149 .Name( "pcbnew.AlignAndDistribute.alignCenterX" )
2150 .Scope( AS_GLOBAL )
2151 .FriendlyName( _( "Align to Horizontal Center" ) )
2152 .Tooltip( _( "Aligns selected items to the horizontal center of the item under the cursor" ) )
2153 .Icon( BITMAPS::align_items_middle ) );
2154
2156 .Name( "pcbnew.AlignAndDistribute.distributeHorizontallyCenters" )
2157 .Scope( AS_GLOBAL )
2158 .FriendlyName( _( "Distribute Horizontally by Centers" ) )
2159 .Tooltip( _( "Distributes selected items between the left-most item and the right-most item"
2160 "so that the item centers are equally distributed" ) )
2162
2164 .Name( "pcbnew.AlignAndDistribute.distributeHorizontallyGaps" )
2165 .Scope( AS_GLOBAL )
2166 .FriendlyName( _( "Distribute Horizontally with Even Gaps" ) )
2167 .Tooltip( _( "Distributes selected items between the left-most item and the right-most item "
2168 "so that the gaps between items are equal" ) )
2170
2172 .Name( "pcbnew.AlignAndDistribute.distributeVerticallyGaps" )
2173 .Scope( AS_GLOBAL )
2174 .FriendlyName( _( "Distribute Vertically with Even Gaps" ) )
2175 .Tooltip( _( "Distributes selected items between the top-most item and the bottom-most item "
2176 "so that the gaps between items are equal" ) )
2178
2180 .Name( "pcbnew.AlignAndDistribute.distributeVerticallyCenters" )
2181 .Scope( AS_GLOBAL )
2182 .FriendlyName( _( "Distribute Vertically by Centers" ) )
2183 .Tooltip( _( "Distributes selected items between the top-most item and the bottom-most item "
2184 "so that the item centers are equally distributed" ) )
2186
2187// PCB_POINT_EDITOR
2188//
2190 .Name( "pcbnew.PointEditor.addCorner" )
2191 .Scope( AS_GLOBAL )
2192#ifdef __WXMAC__
2193 .DefaultHotkey( WXK_F1 )
2194#else
2195 .DefaultHotkey( WXK_INSERT )
2196#endif
2197 .FriendlyName( _( "Create Corner" ) )
2198 .Tooltip( _( "Create a corner" ) )
2199 .Icon( BITMAPS::add_corner ) );
2200
2202 .Name( "pcbnew.PointEditor.removeCorner" )
2203 .Scope( AS_GLOBAL )
2204 .FriendlyName( _( "Remove Corner" ) )
2205 .Tooltip( _( "Remove corner" ) )
2206 .Icon( BITMAPS::delete_cursor ) );
2207
2209 .Name( "pcbnew.PointEditor.chamferCorner" )
2210 .Scope( AS_GLOBAL )
2211 .FriendlyName( _( "Chamfer Corner" ) )
2212 .Tooltip( _( "Chamfer corner" ) )
2213 .Icon( BITMAPS::chamfer ) );
2214
2215// POSITION_RELATIVE_TOOL
2216//
2218 .Name( "pcbnew.PositionRelative.positionRelative" )
2219 .Scope( AS_GLOBAL )
2220 .DefaultHotkey( MD_SHIFT + 'P' )
2221 .LegacyHotkeyName( "Position Item Relative" )
2222 .FriendlyName( _( "Position Relative To..." ) )
2223 .Tooltip( _( "Positions the selected item(s) by an exact amount relative to another" ) )
2224 .Icon( BITMAPS::move_relative ) );
2225
2227 .Name( "pcbnew.PositionRelative.positionRelativeInteractively" )
2228 .Scope( AS_GLOBAL )
2229 .FriendlyName( _( "Position Interactively..." ) )
2230 .Tooltip( _( "Positions the selected item(s) by an exact amount relative to another, interactively" ) )
2231 .Icon( BITMAPS::move_relative ) );
2232
2233// PCIKER_TOOL
2234//
2236 .Name( "pcbnew.Picker.selectItemInteractively" )
2237 .Scope( AS_GLOBAL )
2238 .Parameter<PCB_PICKER_TOOL::INTERACTIVE_PARAMS>( {} ) );
2239
2241 .Name( "pcbnew.Picker.selectPointInteractively" )
2242 .Scope( AS_GLOBAL )
2243 .Parameter<PCB_PICKER_TOOL::INTERACTIVE_PARAMS>( {} ));
2244
2245
2247 .Name( "pcbnew.InteractiveSelection.SelectConnection" )
2248 .Scope( AS_GLOBAL )
2249 .DefaultHotkey( 'U' )
2250 .LegacyHotkeyName( "Select Single Track" )
2251 .FriendlyName( _( "Select/Expand Connection" ) )
2252 .Tooltip( _( "Selects a connection or expands an existing selection to junctions, pads, or entire connections" ) )
2253 .Icon( BITMAPS::add_tracks ) );
2254
2256 .Name( "pcbnew.InteractiveSelection.unrouteSelected" )
2257 .Scope( AS_GLOBAL )
2258 .FriendlyName( _( "Unroute Selected" ) )
2259 .Tooltip( _( "Unroutes selected items to the nearest pad." ) )
2260 .Icon( BITMAPS::general_deletions ) );
2261
2263 .Name( "pcbnew.InteractiveSelection.unrouteSegment" )
2264 .Scope( AS_GLOBAL )
2265 .DefaultHotkey( WXK_BACK )
2266 .FriendlyName( _( "Unroute Segment" ) )
2267 .Tooltip( _( "Unroutes segment to the nearest segment." ) )
2268 .Icon( BITMAPS::general_deletions ) );
2269
2271 .Name( "pcbnew.InteractiveSelection.SyncSelection" )
2272 .Scope( AS_GLOBAL ) );
2273
2275 .Name( "pcbnew.InteractiveSelection.SyncSelectionWithNets" )
2276 .Scope( AS_GLOBAL ) );
2277
2279 .Name( "pcbnew.InteractiveSelection.SelectNet" )
2280 .Scope( AS_GLOBAL )
2281 .FriendlyName( _( "Select All Tracks in Net" ) )
2282 .Tooltip( _( "Selects all tracks & vias belonging to the same net." ) )
2283 .Parameter<int>( 0 ) );
2284
2286 .Name( "pcbnew.InteractiveSelection.DeselectNet" )
2287 .Scope( AS_GLOBAL )
2288 .FriendlyName( _( "Deselect All Tracks in Net" ) )
2289 .Tooltip( _( "Deselects all tracks & vias belonging to the same net." ) )
2290 .Parameter<int>( 0 ) );
2291
2293 .Name( "pcbnew.InteractiveSelection.SelectUnconnected" )
2294 .Scope( AS_GLOBAL )
2295 .DefaultHotkey( 'O' )
2296 .FriendlyName( _( "Select All Unconnected Footprints" ) )
2297 .Tooltip( _( "Selects all unconnected footprints belonging to each selected net." ) ) );
2298
2300 .Name( "pcbnew.InteractiveSelection.GrabUnconnected" )
2301 .Scope( AS_GLOBAL )
2302 .DefaultHotkey( MD_SHIFT + 'O' )
2303 .FriendlyName( _( "Grab Nearest Unconnected Footprints" ) )
2304 .Tooltip( _( "Selects and initiates moving the nearest unconnected footprint on each selected net." ) ) );
2305
2307 .Name( "pcbnew.InteractiveSelection.SelectOnSheet" )
2308 .Scope( AS_GLOBAL )
2309 .FriendlyName( _( "Sheet" ) )
2310 .Tooltip( _( "Selects all footprints and tracks in the schematic sheet" ) )
2311 .Icon( BITMAPS::select_same_sheet ) );
2312
2314 .Name( "pcbnew.InteractiveSelection.SelectSameSheet" )
2315 .Scope( AS_GLOBAL )
2316 .FriendlyName( _( "Items in Same Hierarchical Sheet" ) )
2317 .Tooltip( _( "Selects all footprints and tracks in the same schematic sheet" ) )
2318 .Icon( BITMAPS::select_same_sheet ) );
2319
2321 .Name( "pcbnew.InteractiveSelection.SelectOnSchematic" )
2322 .Scope( AS_GLOBAL )
2323 .FriendlyName( _( "Select on Schematic" ) )
2324 .Tooltip( _( "Selects corresponding items in Schematic editor" ) )
2325 .Icon( BITMAPS::select_same_sheet ) );
2326
2328 .Name( "pcbnew.InteractiveSelection.FilterSelection" )
2329 .Scope( AS_GLOBAL )
2330 .FriendlyName( _( "Filter Selected Items..." ) )
2331 .Tooltip( _( "Remove items from the selection by type" ) )
2332 .Icon( BITMAPS::filter ) );
2333
2334
2335// ZONE_FILLER_TOOL
2336//
2338 .Name( "pcbnew.ZoneFiller.zoneFill" )
2339 .Scope( AS_GLOBAL )
2340 .FriendlyName( _( "Draft Fill Selected Zone(s)" ) )
2341 .Tooltip( _( "Update copper fill of selected zone(s) without regard to other interacting zones" ) )
2342 .Icon( BITMAPS::fill_zone )
2343 .Parameter<ZONE*>( nullptr ) );
2344
2346 .Name( "pcbnew.ZoneFiller.zoneFillAll" )
2347 .Scope( AS_GLOBAL )
2348 .DefaultHotkey( 'B' )
2349 .LegacyHotkeyName( "Fill or Refill All Zones" )
2350 .FriendlyName( _( "Fill All Zones" ) )
2351 .Tooltip( _( "Update copper fill of all zones" ) )
2352 .Icon( BITMAPS::fill_zone ) );
2353
2355 .Name( "pcbnew.ZoneFiller.zoneFillDirty" )
2356 .Scope( AS_CONTEXT ) );
2357
2359 .Name( "pcbnew.ZoneFiller.zoneUnfill" )
2360 .Scope( AS_GLOBAL )
2361 .FriendlyName( _( "Unfill Selected Zone(s)" ) )
2362 .Tooltip( _( "Remove copper fill from selected zone(s)" ) )
2363 .Icon( BITMAPS::zone_unfill ) );
2364
2366 .Name( "pcbnew.ZoneFiller.zoneUnfillAll" )
2367 .Scope( AS_GLOBAL )
2368 .DefaultHotkey( MD_CTRL + 'B' )
2369 .LegacyHotkeyName( "Remove Filled Areas in All Zones" )
2370 .FriendlyName( _( "Unfill All Zones" ) )
2371 .Tooltip( _( "Remove copper fill from all zones" ) )
2372 .Icon( BITMAPS::zone_unfill ) );
2373
2374
2375// AUTOPLACER_TOOL
2376//
2378 .Name( "pcbnew.Autoplacer.autoplaceSelected" )
2379 .Scope( AS_GLOBAL )
2380 .FriendlyName( _( "Place Selected Footprints" ) )
2381 .Tooltip( _( "Performs automatic placement of selected components" ) ) );
2382
2384 .Name( "pcbnew.Autoplacer.autoplaceOffboard" )
2385 .Scope( AS_GLOBAL )
2386 .FriendlyName( _( "Place Off-Board Footprints" ) )
2387 .Tooltip( _( "Performs automatic placement of components outside board area" ) ) );
2388
2390 .Name( "pcbnew.Multichannel.generatePlacementRuleAreas" )
2391 .Scope( AS_GLOBAL )
2392 .FriendlyName( _( "Generate Placement Rule Areas..." ) )
2393 .Tooltip( _( "Creates best-fit placement rule areas" ) )
2395 .Flags( AF_ACTIVATE ) );
2396
2398 .Name( "pcbnew.Multichannel.repeatLayout" )
2399 .Scope( AS_GLOBAL )
2400 .FriendlyName( _( "Repeat Layout..." ) )
2401 .Tooltip( _( "Clones placement & routing across multiple identical channels" ) )
2402 .Icon( BITMAPS::copy )
2403 );
2404
2405// ROUTER_TOOL
2406//
2408 .Name( "pcbnew.InteractiveRouter.SingleTrack" )
2409 .Scope( AS_GLOBAL )
2410 .DefaultHotkey( 'X' )
2411 .LegacyHotkeyName( "Add New Track" )
2412 .FriendlyName( _( "Route Single Track" ) )
2413 .Tooltip( _( "Route tracks" ) )
2414 .Icon( BITMAPS::add_tracks )
2415 .ToolbarState( TOOLBAR_STATE::TOGGLE )
2416 .Flags( AF_ACTIVATE )
2417 .Parameter( PNS::PNS_MODE_ROUTE_SINGLE ) );
2418
2420 .Name( "pcbnew.InteractiveRouter.DiffPair" )
2421 .Scope( AS_GLOBAL )
2422 .DefaultHotkey( '6' )
2423 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2424 .LegacyHotkeyName( "Route Differential Pair (Modern Toolset only)" )
2425 .FriendlyName( _( "Route Differential Pair" ) )
2426 .Tooltip( _( "Route differential pairs" ) )
2427 .Icon( BITMAPS::ps_diff_pair )
2428 .ToolbarState( TOOLBAR_STATE::TOGGLE )
2429 .Flags( AF_ACTIVATE )
2430 .Parameter( PNS::PNS_MODE_ROUTE_DIFF_PAIR ) );
2431
2433 .Name( "pcbnew.InteractiveRouter.SettingsDialog" )
2434 .Scope( AS_GLOBAL )
2435 .DefaultHotkey( MD_CTRL + '<' )
2436 .LegacyHotkeyName( "Routing Options" )
2437 .FriendlyName( _( "Interactive Router Settings..." ) )
2438 .Tooltip( _( "Open Interactive Router settings" ) )
2439 .Icon( BITMAPS::tools ) );
2440
2442 .Name( "pcbnew.InteractiveRouter.DiffPairDialog" )
2443 .Scope( AS_GLOBAL )
2444 .FriendlyName( _( "Differential Pair Dimensions..." ) )
2445 .Tooltip( _( "Open Differential Pair Dimension settings" ) )
2446 .Icon( BITMAPS::ps_diff_pair_gap ) );
2447
2449 .Name( "pcbnew.InteractiveRouter.HighlightMode" )
2450 .Scope( AS_GLOBAL )
2451 .FriendlyName( _( "Router Highlight Mode" ) )
2452 .Tooltip( _( "Switch router to highlight mode" ) )
2453 .Flags( AF_NONE )
2454 .Parameter( PNS::RM_MarkObstacles ) );
2455
2457 .Name( "pcbnew.InteractiveRouter.ShoveMode" )
2458 .Scope( AS_GLOBAL )
2459 .FriendlyName( _( "Router Shove Mode" ) )
2460 .Tooltip( _( "Switch router to shove mode" ) )
2461 .Flags( AF_NONE )
2462 .Parameter( PNS::RM_Shove ) );
2463
2465 .Name( "pcbnew.InteractiveRouter.WalkaroundMode" )
2466 .Scope( AS_GLOBAL )
2467 .FriendlyName( _( "Router Walkaround Mode" ) )
2468 .Tooltip( _( "Switch router to walkaround mode" ) )
2469 .Flags( AF_NONE )
2470 .Parameter( PNS::RM_Walkaround ) );
2471
2473 .Name( "pcbnew.InteractiveRouter.CycleRouterMode" )
2474 .Scope( AS_GLOBAL )
2475 .FriendlyName( _( "Cycle Router Mode" ) )
2476 .Tooltip( _( "Cycle router to the next mode" ) ) );
2477
2479 .Name( "pcbnew.InteractiveRouter.SelectLayerPair" )
2480 .Scope( AS_GLOBAL )
2481 .FriendlyName( _( "Set Layer Pair..." ) )
2482 .Tooltip( _( "Change active layer pair for routing" ) )
2484 .Flags( AF_ACTIVATE ) );
2485
2487 .Name( "pcbnew.LengthTuner.TuneSingleTrack" )
2488 .Scope( AS_GLOBAL )
2489 .DefaultHotkey( '7' )
2490 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2491 .LegacyHotkeyName( "Tune Single Track (Modern Toolset only)" )
2492 .FriendlyName( _( "Tune Length of a Single Track" ) )
2494 .ToolbarState( TOOLBAR_STATE::TOGGLE )
2495 .Flags( AF_ACTIVATE )
2496 .Parameter( PNS::PNS_MODE_TUNE_SINGLE ) );
2497
2499 .Name( "pcbnew.LengthTuner.TuneDiffPair" )
2500 .Scope( AS_GLOBAL )
2501 .DefaultHotkey( '8' )
2502 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2503 .LegacyHotkeyName( "Tune Differential Pair Length (Modern Toolset only)" )
2504 .FriendlyName( _( "Tune Length of a Differential Pair" ) )
2506 .ToolbarState( TOOLBAR_STATE::TOGGLE )
2507 .Flags( AF_ACTIVATE )
2508 .Parameter( PNS::PNS_MODE_TUNE_DIFF_PAIR ) );
2509
2511 .Name( "pcbnew.LengthTuner.TuneDiffPairSkew" )
2512 .Scope( AS_GLOBAL )
2513 .DefaultHotkey( '9' )
2514 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2515 .LegacyHotkeyName( "Tune Differential Pair Skew (Modern Toolset only)" )
2516 .FriendlyName( _( "Tune Skew of a Differential Pair" ) )
2518 .ToolbarState( TOOLBAR_STATE::TOGGLE )
2519 .Flags( AF_ACTIVATE )
2520 .Parameter( PNS::PNS_MODE_TUNE_DIFF_PAIR_SKEW ) );
2521
2523 .Name( "pcbnew.InteractiveRouter.InlineDrag" )
2524 .Scope( AS_CONTEXT )
2525 .Parameter<int>( PNS::DM_ANY ) );
2526
2528 .Name( "pcbnew.InteractiveRouter.UndoLastSegment" )
2529 .Scope( AS_CONTEXT )
2530 .DefaultHotkey( WXK_BACK )
2531 .FriendlyName( _( "Undo Last Segment" ) )
2532 .Tooltip( _( "Walks the current track back one segment." ) ) );
2533
2535 .Name( "pcbnew.InteractiveRouter.ContinueFromEnd" )
2536 .Scope( AS_CONTEXT )
2537 .DefaultHotkey( MD_CTRL + 'E' )
2538 .FriendlyName( _( "Route From Other End" ) )
2539 .Tooltip( _( "Commits current segments and starts next segment from nearest ratsnest end." ) ) );
2540
2542 .Name( "pcbnew.InteractiveRouter.AttemptFinish" )
2543 .Scope( AS_CONTEXT )
2544 .DefaultHotkey( 'F' )
2545 .FriendlyName( _( "Attempt Finish" ) )
2546 .Tooltip( _( "Attempts to complete current route to nearest ratsnest end." ) )
2547 .Parameter<bool*>( nullptr ) );
2548
2550 .Name( "pcbnew.InteractiveRouter.RouteSelected" )
2551 .Scope( AS_GLOBAL )
2552 .DefaultHotkey( MD_SHIFT + 'X' )
2553 .FriendlyName( _( "Route Selected" ) )
2554 .Tooltip( _( "Sequentially route selected items from ratsnest anchor." ) )
2555 .Flags( AF_ACTIVATE )
2556 .Parameter( PNS::PNS_MODE_ROUTE_SINGLE ) );
2557
2559 .Name( "pcbnew.InteractiveRouter.RouteSelectedFromEnd" )
2560 .Scope( AS_GLOBAL )
2561 .DefaultHotkey( MD_SHIFT + 'E' )
2562 .FriendlyName( _( "Route Selected From Other End" ) )
2563 .Tooltip( _( "Sequentially route selected items from other end of ratsnest anchor." ) )
2564 .Flags( AF_ACTIVATE )
2565 .Parameter( PNS::PNS_MODE_ROUTE_SINGLE ) );
2566
2568 .Name( "pcbnew.InteractiveRouter.Autoroute" )
2569 .Scope( AS_GLOBAL )
2570 .DefaultHotkey( MD_SHIFT + 'F' )
2571 .FriendlyName( _( "Attempt Finish Selected (Autoroute)" ) )
2572 .Tooltip( _( "Sequentially attempt to automatically route all selected pads." ) )
2573 .Flags( AF_ACTIVATE )
2574 .Parameter( PNS::PNS_MODE_ROUTE_SINGLE ) );
2575
2577 .Name( "pcbnew.InteractiveRouter.BreakTrack" )
2578 .Scope( AS_GLOBAL )
2579 .FriendlyName( _( "Break Track" ) )
2580 .Tooltip( _( "Splits the track segment into two segments connected at the cursor position." ) )
2581 .Icon( BITMAPS::break_line ) );
2582
2584 .Name( "pcbnew.InteractiveRouter.Drag45Degree" )
2585 .Scope( AS_GLOBAL )
2586 .DefaultHotkey( 'D' )
2587 .LegacyHotkeyName( "Drag Track Keep Slope" )
2588 .FriendlyName( _( "Drag 45 Degree Mode" ) )
2589 .Tooltip( _( "Drags the track segment while keeping connected tracks at 45 degrees." ) )
2591
2593 .Name( "pcbnew.InteractiveRouter.DragFreeAngle" )
2594 .Scope( AS_GLOBAL )
2595 .DefaultHotkey( 'G' )
2596 .LegacyHotkeyName( "Drag Item" )
2597 .FriendlyName( _( "Drag Free Angle" ) )
2598 .Tooltip( _( "Drags the nearest joint in the track without restricting the track angle." ) )
2599 .Icon( BITMAPS::drag_segment ) );
2600
2601
2602// GENERATOR_TOOL
2603//
2604
2606 .Name( "pcbnew.Generator.regenerateAllTuning" )
2607 .Scope( AS_GLOBAL )
2608 .FriendlyName( _( "Update All Tuning Patterns" ) )
2609 .Tooltip( _( "Attempt to re-tune existing tuning patterns within their bounds" ) )
2611 .Parameter( wxString( wxS( "tuning_pattern" ) ) ) );
2612
2614 .Name( "pcbnew.Generator.regenerateAll" )
2615 .Scope( AS_GLOBAL )
2616 .FriendlyName( _( "Rebuild All Generators" ) )
2617 .Tooltip( _( "Rebuilds geometry of all generators" ) )
2618 .Icon( BITMAPS::refresh )
2619 .Parameter( wxString( wxS( "*" ) ) ) );
2620
2622 .Name( "pcbnew.Generator.regenerateSelected" )
2623 .Scope( AS_GLOBAL )
2624 .FriendlyName( _( "Rebuild Selected Generators" ) )
2625 .Tooltip( _( "Rebuilds geometry of selected generator(s)" ) )
2626 .Icon( BITMAPS::refresh ) );
2627
2628
2630 .Name( "pcbnew.Generator.genStartEdit" )
2631 .Scope( AS_CONTEXT ) );
2632
2634 .Name( "pcbnew.Generator.genUpdateEdit" )
2635 .Scope( AS_CONTEXT ) );
2636
2638 .Name( "pcbnew.Generator.genPushEdit" )
2639 .Scope( AS_CONTEXT ) );
2640
2642 .Name( "pcbnew.Generator.genRevertEdit" )
2643 .Scope( AS_CONTEXT ) );
2644
2646 .Name( "pcbnew.Generator.genRemove" )
2647 .Scope( AS_CONTEXT ) );
2648
2649
2651 .Name( "pcbnew.Generator.showManager" )
2652 .Scope( AS_GLOBAL )
2653 .FriendlyName( _( "Generators Manager" ) )
2654 .Tooltip( _( "Show a manager dialog for Generator objects" ) )
2655 .Icon( BITMAPS::pin_table ) );
2656
2657
2658// LENGTH_TUNER_TOOL
2659//
2661 .Name( "pcbnew.LengthTuner.Settings" )
2662 .Scope( AS_GLOBAL )
2663 .DefaultHotkey( MD_CTRL + 'L' )
2664 // Don't be tempted to remove "Modern Toolset only". It's in the legacy property name.
2665 .LegacyHotkeyName( "Length Tuning Settings (Modern Toolset only)" )
2666 .MenuText( _( "Length Tuning Settings..." ) )
2667 .Tooltip( _( "Displays tuning pattern properties dialog" ) )
2669
2671 .Name( "pcbnew.Control.DdAppendBoard" )
2672 .Scope( AS_GLOBAL ) );
2673
2674
2676 .Name( "pcbnew.Control.ddImportFootprint" )
2677 .Scope( AS_GLOBAL ) );
2678
2679// actions for footprint wizard frame
2681 .Name( "pcbnew.FpWizard.showWizards" )
2682 .Scope( AS_GLOBAL )
2683 .FriendlyName( _( "Show wizards selector" ) )
2684 .Tooltip( _( "Select wizard script to run" ) )
2685 .Icon( BITMAPS::module_wizard ) );
2686
2688 .Name( "pcbnew.FpWizard.resetWizardPrms" )
2689 .Scope( AS_GLOBAL )
2690 .FriendlyName( _( "Reset wizard parameters" ) )
2691 .Tooltip( _( "Reset wizard parameters to default" ) )
2692 .Icon( BITMAPS::reload ) );
2693
2695 .Name( "pcbnew.FpWizard.selectPreviousWizardPage" )
2696 .Scope( AS_GLOBAL )
2697 .FriendlyName( _( "Select previous wizard page" ) )
2698 .Tooltip( _( "Select previous parameters page" ) )
2699 .Icon( BITMAPS::lib_previous ) );
2700
2702 .Name( "pcbnew.FpWizard.selectNextWizardPage" )
2703 .Scope( AS_GLOBAL )
2704 .FriendlyName( _( "Select next wizard page" ) )
2705 .Tooltip( _( "Select next parameters page" ) )
2706 .Icon( BITMAPS::lib_next ) );
2707
2709 .Name( "pcbnew.FpWizard.exportFpToEditor" )
2710 .Scope( AS_GLOBAL )
2711 .FriendlyName( _( "Export footprint to editor" ) )
2712 .Tooltip( _( "Export footprint to editor" ) )
2714
2715
2717{
2718 static TOOL_EVENT event = TOOL_EVENT( TC_MESSAGE, TA_ACTION,
2719 "common.Interactive.snappingModeChangedByKey" );
2720
2721 return event;
2722}
2723
2724
2726{
2727 static TOOL_EVENT event = TOOL_EVENT( TC_MESSAGE, TA_ACTION,
2728 "pcbnew.Control.layerPairPresetChangedByKey" );
2729
2730 return event;
2731}
@ new_footprint
@ copy_pad_settings
@ add_zone_cutout
@ cleanup_tracks_and_vias
@ show_mod_edge
@ general_deletions
@ align_items_bottom
@ hide_ratsnest
@ lib_previous
@ align_items_left
@ show_zone_outline_only
@ push_pad_settings
@ distribute_horizontal_centers
@ distribute_vertical_centers
@ delete_cursor
@ ps_diff_pair_tune_length
@ module_options
@ add_graphical_polygon
@ move_exactly
@ align_items_middle
@ distribute_horizontal_gaps
@ add_radial_dimension
@ auto_track_width
@ ps_tune_length
@ zone_duplicate
@ import_module
@ ps_diff_pair
@ router_len_tuner_dist_incr
@ drag_segment
@ module_editor
@ subtract_polygons
@ align_items_top
@ export_module
@ pad_enumerate
@ move_relative
@ curved_ratsnest
@ router_len_tuner_dist_decr
@ add_aligned_dimension
@ general_ratsnest
@ add_rectangle
@ outset_from_selection
@ mw_add_stub_arc
@ align_items_right
@ insert_module_board
@ apply_pad_settings
@ mw_add_shape
@ icon_eeschema_24
@ add_center_dimension
@ show_ratsnest
@ drag_segment_withslope
@ width_track_via
@ merge_polygons
@ export_footprint_names
@ add_graphical_segments
@ intersect_polygons
@ distribute_vertical_gaps
@ ps_diff_pair_tune_phase
@ contrast_mode
@ add_orthogonal_dimension
@ add_component
@ add_keepout_area
@ pack_footprints
@ custom_pad_to_primitives
@ directory_open
@ zoom_auto_fit_in_page
@ show_zone_disable
@ align_items_center
@ layers_manager
@ net_highlight
@ options_board
@ load_module_board
@ import_brd_file
@ show_zone_triangulation
@ router_len_tuner
@ select_layer_pair
@ router_len_tuner_amplitude_incr
@ new_component
@ select_same_sheet
@ library_archive
@ router_len_tuner_setup
@ cleanup_graphics
@ module_wizard
@ import_vector
@ router_len_tuner_amplitude_decr
@ tool_ratsnest
@ edit_cmp_symb_links
@ ps_diff_pair_gap
@ CURSOR_NONE
Definition: actions.h:301
static TOOL_ACTION deleteLastPoint
Definition: pcb_actions.h:219
static TOOL_ACTION toggleHV45Mode
Definition: pcb_actions.h:539
static TOOL_ACTION editTracksAndVias
Definition: pcb_actions.h:433
static TOOL_ACTION_GROUP layerDirectSwitchActions()
static TOOL_ACTION deleteFootprint
Definition: pcb_actions.h:480
static TOOL_ACTION drawRuleArea
Definition: pcb_actions.h:211
static TOOL_ACTION layerToggle
Definition: pcb_actions.h:366
static TOOL_ACTION drag45Degree
Definition: pcb_actions.h:185
static TOOL_ACTION duplicateIncrement
Activation of the duplication tool with incrementing (e.g. pad number)
Definition: pcb_actions.h:174
static TOOL_ACTION layerInner12
Definition: pcb_actions.h:342
static TOOL_ACTION changeDimensionArrows
Switch between dimension arrow directions.
Definition: pcb_actions.h:232
static TOOL_ACTION microwaveCreateGap
Definition: pcb_actions.h:528
static TOOL_ACTION recombinePad
Definition: pcb_actions.h:502
static TOOL_ACTION drawBezier
Definition: pcb_actions.h:194
static TOOL_ACTION renameFootprint
Definition: pcb_actions.h:479
static TOOL_ACTION routerUndoLastSegment
Definition: pcb_actions.h:251
static TOOL_ACTION nextFootprint
Definition: pcb_actions.h:496
static TOOL_ACTION placeText
Definition: pcb_actions.h:196
static TOOL_ACTION layerInner8
Definition: pcb_actions.h:338
static TOOL_ACTION swapLayers
Definition: pcb_actions.h:443
static TOOL_ACTION zonesManager
Definition: pcb_actions.h:454
static TOOL_ACTION generateBOM
Definition: pcb_actions.h:423
static TOOL_ACTION highlightItem
Definition: pcb_actions.h:570
static TOOL_ACTION drawOrthogonalDimension
Definition: pcb_actions.h:207
static TOOL_ACTION zoneDisplayToggle
Definition: pcb_actions.h:325
static TOOL_ACTION enumeratePads
Tool for quick pad enumeration.
Definition: pcb_actions.h:505
static TOOL_ACTION drawRectangle
Definition: pcb_actions.h:191
static TOOL_ACTION previousFootprint
Definition: pcb_actions.h:495
static TOOL_ACTION layerInner3
Definition: pcb_actions.h:333
static TOOL_ACTION layerPrev
Definition: pcb_actions.h:363
static TOOL_ACTION setAnchor
Definition: pcb_actions.h:218
static TOOL_ACTION padDisplayMode
Definition: pcb_actions.h:319
static TOOL_ACTION placeReferenceImage
Definition: pcb_actions.h:195
static TOOL_ACTION routerSettingsDialog
Activation of the Push and Shove settings dialogs.
Definition: pcb_actions.h:260
static TOOL_ACTION showRatsnest
Definition: pcb_actions.h:314
static TOOL_ACTION exportGenCAD
Definition: pcb_actions.h:425
static TOOL_ACTION zoneFillAll
Definition: pcb_actions.h:392
static TOOL_ACTION layerInner2
Definition: pcb_actions.h:332
static TOOL_ACTION showLayersManager
Definition: pcb_actions.h:451
static TOOL_ACTION changeTrackWidth
Update selected tracks & vias to the current track & via dimensions.
Definition: pcb_actions.h:138
static TOOL_ACTION trackWidthDec
Definition: pcb_actions.h:380
static TOOL_ACTION routerAttemptFinish
Definition: pcb_actions.h:254
static TOOL_ACTION convertToKeepout
Definition: pcb_actions.h:591
static TOOL_ACTION toggleNetHighlight
Definition: pcb_actions.h:568
static TOOL_ACTION generateDrillFiles
Definition: pcb_actions.h:417
static TOOL_ACTION pushPadSettings
Copy the current pad's settings to other pads in the footprint or on the board.
Definition: pcb_actions.h:525
static TOOL_ACTION unrouteSelected
Removes all tracks from the selected items to the first pad.
Definition: pcb_actions.h:76
static TOOL_ACTION saveSelectionAsDesignBlock
Definition: pcb_actions.h:462
static TOOL_ACTION drawCircle
Definition: pcb_actions.h:192
static TOOL_ACTION magneticSnapAllLayers
Definition: pcb_actions.h:236
static TOOL_ACTION mirrorH
Mirroring of selected items.
Definition: pcb_actions.h:125
static TOOL_ACTION routeDiffPair
Activation of the Push and Shove router (differential pair mode)
Definition: pcb_actions.h:245
static TOOL_ACTION exportVRML
Definition: pcb_actions.h:426
static TOOL_ACTION generateD356File
Definition: pcb_actions.h:422
static TOOL_ACTION updateFootprint
Definition: pcb_actions.h:439
static TOOL_ACTION collect3DModels
Definition: pcb_actions.h:562
static TOOL_ACTION tuneDiffPair
Definition: pcb_actions.h:248
static TOOL_ACTION convertToTracks
Definition: pcb_actions.h:594
static TOOL_ACTION exportCmpFile
Definition: pcb_actions.h:429
static TOOL_ACTION saveToLinkedDesignBlock
Definition: pcb_actions.h:459
static TOOL_ACTION alignTop
Definition: pcb_actions.h:294
static TOOL_ACTION trackViaSizeChanged
Definition: pcb_actions.h:386
static TOOL_ACTION exportSpecctraDSN
Definition: pcb_actions.h:414
static TOOL_ACTION createFootprint
Definition: pcb_actions.h:475
static TOOL_ACTION layerChanged
Definition: pcb_actions.h:372
static TOOL_ACTION trackWidthInc
Definition: pcb_actions.h:379
static TOOL_ACTION grabUnconnected
Select and move nearest unconnected footprint from ratsnest of selection.
Definition: pcb_actions.h:91
static TOOL_ACTION filterSelection
Filter the items in the current selection (invokes dialog)
Definition: pcb_actions.h:103
static TOOL_ACTION ddAppendBoard
Drag and drop.
Definition: pcb_actions.h:597
static TOOL_ACTION editFootprint
Definition: pcb_actions.h:477
static TOOL_ACTION exportFootprint
Definition: pcb_actions.h:485
static TOOL_ACTION layerInner25
Definition: pcb_actions.h:355
static TOOL_ACTION editDesignBlockProperties
Definition: pcb_actions.h:466
static TOOL_ACTION breakTrack
Break a single track into two segments at the cursor.
Definition: pcb_actions.h:183
static TOOL_ACTION pointEditorMoveMidpoint
Definition: pcb_actions.h:291
static TOOL_ACTION highlightNet
Definition: pcb_actions.h:566
static TOOL_ACTION magneticSnapActiveLayer
Snapping controls.
Definition: pcb_actions.h:235
static TOOL_ACTION autoTrackWidth
Definition: pcb_actions.h:384
static TOOL_ACTION generateIPC2581File
Definition: pcb_actions.h:420
static TOOL_ACTION getAndPlace
Find an item and start moving.
Definition: pcb_actions.h:583
static TOOL_ACTION drawTable
Definition: pcb_actions.h:198
static TOOL_ACTION drawTextBox
Definition: pcb_actions.h:197
static TOOL_ACTION generateODBPPFile
Definition: pcb_actions.h:421
static TOOL_ACTION repeatLayout
Definition: pcb_actions.h:600
static TOOL_ACTION copyPadSettings
Copy the selected pad's settings to the board design settings.
Definition: pcb_actions.h:519
static TOOL_ACTION layerAlphaDec
Definition: pcb_actions.h:365
static TOOL_ACTION routerRouteSelectedFromEnd
Definition: pcb_actions.h:256
static TOOL_ACTION routerHighlightMode
Actions to enable switching modes via hotkey assignments.
Definition: pcb_actions.h:264
static TOOL_ACTION routerWalkaroundMode
Definition: pcb_actions.h:266
static TOOL_ACTION routerShoveMode
Definition: pcb_actions.h:265
static TOOL_ACTION convertToLines
Definition: pcb_actions.h:592
static TOOL_ACTION drawZoneCutout
Definition: pcb_actions.h:212
static TOOL_ACTION genPushEdit
Definition: pcb_actions.h:279
static TOOL_ACTION drawPolygon
Definition: pcb_actions.h:190
static TOOL_ACTION placePad
Activation of the drawing tool (placing a PAD)
Definition: pcb_actions.h:499
static TOOL_ACTION openNonKicadBoard
Definition: pcb_actions.h:407
static TOOL_ACTION hideNetInRatsnest
Definition: pcb_actions.h:573
static TOOL_ACTION hideLocalRatsnest
Definition: pcb_actions.h:576
static TOOL_ACTION exportFpToEditor
Definition: pcb_actions.h:608
static TOOL_ACTION distributeHorizontallyGaps
Definition: pcb_actions.h:301
static TOOL_ACTION zoneDisplayFilled
Definition: pcb_actions.h:321
static TOOL_ACTION layerInner24
Definition: pcb_actions.h:354
static TOOL_ACTION viaSizeDec
Definition: pcb_actions.h:382
static TOOL_ACTION showNetInRatsnest
Definition: pcb_actions.h:574
static TOOL_ACTION drawRadialDimension
Definition: pcb_actions.h:206
static TOOL_ACTION genStartEdit
Definition: pcb_actions.h:277
static TOOL_ACTION tuneSingleTrack
Definition: pcb_actions.h:247
static TOOL_ACTION zoneFill
Definition: pcb_actions.h:391
static TOOL_ACTION cleanupTracksAndVias
Definition: pcb_actions.h:437
static TOOL_ACTION viaDisplayMode
Definition: pcb_actions.h:320
static TOOL_ACTION editTextAndGraphics
Definition: pcb_actions.h:434
static TOOL_ACTION properties
Activation of the edit tool.
Definition: pcb_actions.h:168
static TOOL_ACTION drawLeader
Definition: pcb_actions.h:208
static TOOL_ACTION editFpInFpEditor
Definition: pcb_actions.h:448
static TOOL_ACTION moveWithReference
move with a reference point
Definition: pcb_actions.h:112
static TOOL_ACTION toggleLock
Definition: pcb_actions.h:542
static TOOL_ACTION changeTrackLayerPrev
Definition: pcb_actions.h:140
static TOOL_ACTION swap
Swapping of selected items.
Definition: pcb_actions.h:129
static TOOL_ACTION toggleLastNetHighlight
Definition: pcb_actions.h:567
static TOOL_ACTION layerInner29
Definition: pcb_actions.h:359
static TOOL_ACTION * LayerIDToAction(PCB_LAYER_ID aLayerID)
Translate a layer ID into the action that switches to that layer.
static TOOL_ACTION drillResetOrigin
Definition: pcb_actions.h:551
static TOOL_ACTION deleteDesignBlock
Definition: pcb_actions.h:465
static TOOL_ACTION placeCharacteristics
Definition: pcb_actions.h:214
static TOOL_ACTION pluginsShowFolder
Scripting Actions.
Definition: pcb_actions.h:402
static TOOL_ACTION viaSizeInc
Definition: pcb_actions.h:381
static TOOL_ACTION routerAutorouteSelected
Definition: pcb_actions.h:257
static TOOL_ACTION moveExact
Activation of the exact move tool.
Definition: pcb_actions.h:171
static TOOL_ACTION autoplaceOffboardComponents
Definition: pcb_actions.h:585
static TOOL_ACTION layerInner11
Definition: pcb_actions.h:341
static TOOL_ACTION routerDiffPairDialog
Definition: pcb_actions.h:261
static TOOL_ACTION explodePad
Definition: pcb_actions.h:501
static TOOL_ACTION routerContinueFromEnd
Definition: pcb_actions.h:253
static TOOL_ACTION zoneUnfill
Definition: pcb_actions.h:394
static TOOL_ACTION intersectPolygons
Intersection of multiple polygons.
Definition: pcb_actions.h:165
static TOOL_ACTION pointEditorMoveCorner
Definition: pcb_actions.h:290
static TOOL_ACTION layerAlphaInc
Definition: pcb_actions.h:364
static TOOL_ACTION saveBoardAsDesignBlock
Definition: pcb_actions.h:461
static TOOL_ACTION layerPairPresetsCycle
Definition: pcb_actions.h:367
static TOOL_ACTION distributeHorizontallyCenters
Definition: pcb_actions.h:300
static TOOL_ACTION inspectConstraints
Definition: pcb_actions.h:559
static TOOL_ACTION generatePosFile
Definition: pcb_actions.h:418
static TOOL_ACTION globalDeletions
Definition: pcb_actions.h:436
static TOOL_ACTION newFootprint
Definition: pcb_actions.h:472
static TOOL_ACTION genRemove
Definition: pcb_actions.h:281
static TOOL_ACTION drillOrigin
Definition: pcb_actions.h:550
static TOOL_ACTION selectOnSheetFromEeschema
Select all components on sheet from Eeschema crossprobing.
Definition: pcb_actions.h:94
static TOOL_ACTION layerInner16
Definition: pcb_actions.h:346
static TOOL_ACTION defaultPadProperties
Definition: pcb_actions.h:488
static TOOL_ACTION selectConnection
Select tracks between junctions or expands an existing selection to pads or the entire connection.
Definition: pcb_actions.h:73
static TOOL_ACTION assignNetClass
Definition: pcb_actions.h:388
static TOOL_ACTION packAndMoveFootprints
Pack and start moving selected footprints.
Definition: pcb_actions.h:132
static TOOL_ACTION alignRight
Definition: pcb_actions.h:297
static TOOL_ACTION tuneSkew
Definition: pcb_actions.h:249
static TOOL_ACTION copyWithReference
copy command with manual reference point selection
Definition: pcb_actions.h:115
static TOOL_ACTION layerInner26
Definition: pcb_actions.h:356
static TOOL_ACTION layerInner18
Definition: pcb_actions.h:348
static TOOL_ACTION incWidth
Increase width of currently drawn line.
Definition: pcb_actions.h:223
static TOOL_ACTION repairBoard
Definition: pcb_actions.h:556
static TOOL_ACTION layerInner14
Definition: pcb_actions.h:344
static TOOL_ACTION healShapes
Connect selected shapes, possibly extending or cutting them, or adding extra geometry.
Definition: pcb_actions.h:152
static TOOL_ACTION selectPointInteractively
Definition: pcb_actions.h:311
static TOOL_ACTION trackDisplayMode
Definition: pcb_actions.h:318
static TOOL_ACTION exportSTEP
Definition: pcb_actions.h:428
static TOOL_ACTION showNetInspector
Definition: pcb_actions.h:452
static TOOL_ACTION selectLayerPair
Definition: pcb_actions.h:180
static TOOL_ACTION magneticSnapToggle
Definition: pcb_actions.h:237
static TOOL_ACTION microwaveCreateStubArc
Definition: pcb_actions.h:532
static TOOL_ACTION layerInner6
Definition: pcb_actions.h:336
static TOOL_ACTION dragFreeAngle
Definition: pcb_actions.h:186
static TOOL_ACTION positionRelativeInteractively
Definition: pcb_actions.h:307
static TOOL_ACTION clearHighlight
Definition: pcb_actions.h:565
static TOOL_ACTION generateGerbers
Definition: pcb_actions.h:416
static TOOL_ACTION inspectClearance
Definition: pcb_actions.h:558
static TOOL_ACTION convertToZone
Definition: pcb_actions.h:590
static TOOL_ACTION ddImportFootprint
Definition: pcb_actions.h:598
static TOOL_ACTION generatorsShowManager
Definition: pcb_actions.h:283
static TOOL_ACTION zoneDisplayTriangulated
Definition: pcb_actions.h:324
static TOOL_ACTION genUpdateEdit
Definition: pcb_actions.h:278
static TOOL_ACTION generateReportFile
Definition: pcb_actions.h:419
static TOOL_ACTION rehatchShapes
Definition: pcb_actions.h:376
static TOOL_ACTION updateLocalRatsnest
Definition: pcb_actions.h:577
static TOOL_ACTION spacingDecrease
Definition: pcb_actions.h:200
static TOOL_ACTION updateFootprints
Definition: pcb_actions.h:440
static TOOL_ACTION exportHyperlynx
Definition: pcb_actions.h:430
static TOOL_ACTION importFootprint
Definition: pcb_actions.h:484
static TOOL_ACTION autoplaceSelectedComponents
Definition: pcb_actions.h:586
static TOOL_ACTION layerInner22
Definition: pcb_actions.h:352
static TOOL_ACTION placeDesignBlock
Definition: pcb_actions.h:457
static TOOL_ACTION alignBottom
Definition: pcb_actions.h:295
static TOOL_ACTION selectUnconnected
Select unconnected footprints from ratsnest of selection.
Definition: pcb_actions.h:88
static TOOL_ACTION placeImportedGraphics
Definition: pcb_actions.h:217
static TOOL_ACTION layerInner5
Definition: pcb_actions.h:335
static TOOL_ACTION removeUnusedPads
Definition: pcb_actions.h:444
static TOOL_ACTION zoneDisplayFractured
Definition: pcb_actions.h:323
static TOOL_ACTION ratsnestModeCycle
Definition: pcb_actions.h:317
static TOOL_ACTION drawVia
Definition: pcb_actions.h:210
static TOOL_ACTION regenerateAll
Definition: pcb_actions.h:274
static TOOL_ACTION showWizards
Footprint wizard frame actions:
Definition: pcb_actions.h:604
static TOOL_ACTION applyPadSettings
Copy the default pad settings to the selected pad.
Definition: pcb_actions.h:522
static TOOL_ACTION alignLeft
Definition: pcb_actions.h:296
static TOOL_ACTION drawArc
Definition: pcb_actions.h:193
static TOOL_ACTION deleteFull
Definition: pcb_actions.h:178
static TOOL_ACTION exportIDF
Definition: pcb_actions.h:427
static TOOL_ACTION runDRC
Definition: pcb_actions.h:446
static TOOL_ACTION convertToPoly
Definition: pcb_actions.h:589
static TOOL_ACTION zoneDuplicate
Duplicate zone onto another layer.
Definition: pcb_actions.h:399
static TOOL_ACTION unrouteSegment
Removes track segment from the selected item to the next segment.
Definition: pcb_actions.h:79
static TOOL_ACTION regenerateAllTuning
Generator tool.
Definition: pcb_actions.h:273
static TOOL_ACTION graphicsOutlines
Display footprint graphics as outlines.
Definition: pcb_actions.h:511
static TOOL_ACTION importNetlist
Definition: pcb_actions.h:411
static TOOL_ACTION generatePlacementRuleAreas
Definition: pcb_actions.h:601
static TOOL_ACTION layerInner20
Definition: pcb_actions.h:350
static TOOL_ACTION selectNextWizardPage
Definition: pcb_actions.h:607
static TOOL_ACTION layerInner7
Definition: pcb_actions.h:337
static TOOL_ACTION layerInner27
Definition: pcb_actions.h:357
static TOOL_ACTION diffFootprint
Definition: pcb_actions.h:560
static TOOL_ACTION moveIndividually
move items one-by-one
Definition: pcb_actions.h:109
static TOOL_ACTION changeFootprints
Definition: pcb_actions.h:442
static TOOL_ACTION outsetItems
Create outset items from selection.
Definition: pcb_actions.h:158
static TOOL_ACTION drawSimilarZone
Definition: pcb_actions.h:213
static TOOL_ACTION syncSelection
Sets selection to specified items, zooms to fit, if enabled.
Definition: pcb_actions.h:63
static TOOL_ACTION boardSetup
Definition: pcb_actions.h:409
static TOOL_ACTION showEeschema
Definition: pcb_actions.h:553
static TOOL_ACTION loadFpFromBoard
Definition: pcb_actions.h:492
static TOOL_ACTION showDesignBlockPanel
Definition: pcb_actions.h:460
static TOOL_ACTION decWidth
Decrease width of currently drawn line.
Definition: pcb_actions.h:226
static TOOL_ACTION drawCenterDimension
Definition: pcb_actions.h:205
static TOOL_ACTION zoneUnfillAll
Definition: pcb_actions.h:395
static TOOL_ACTION pasteFootprint
Definition: pcb_actions.h:483
static TOOL_ACTION zoneFillDirty
Definition: pcb_actions.h:393
static TOOL_ACTION chamferLines
Chamfer (i.e. adds a straight line) all selected straight lines by a user defined setback.
Definition: pcb_actions.h:148
static TOOL_ACTION appendBoard
Definition: pcb_actions.h:405
static TOOL_ACTION netColorModeCycle
Definition: pcb_actions.h:316
static TOOL_ACTION selectSameSheet
Select all components on the same sheet as the selected footprint.
Definition: pcb_actions.h:97
static TOOL_ACTION layerInner1
Definition: pcb_actions.h:331
static TOOL_ACTION layerInner10
Definition: pcb_actions.h:340
static TOOL_ACTION dogboneCorners
Add "dogbone" corners to selected lines to allow routing with a cutter radius.
Definition: pcb_actions.h:150
static TOOL_ACTION microwaveCreateStub
Definition: pcb_actions.h:530
static TOOL_ACTION selectNet
Select all connections belonging to a single net.
Definition: pcb_actions.h:82
static TOOL_ACTION filletTracks
Fillet (i.e. adds an arc tangent to) all selected straight tracks by a user defined radius.
Definition: pcb_actions.h:143
static TOOL_ACTION layerInner15
Definition: pcb_actions.h:345
static TOOL_ACTION simplifyPolygons
Simplify polygon outlines.
Definition: pcb_actions.h:156
static TOOL_ACTION arcPosture
Switch posture when drawing arc.
Definition: pcb_actions.h:229
static TOOL_ACTION microwaveCreateLine
Definition: pcb_actions.h:536
static TOOL_ACTION footprintProperties
Definition: pcb_actions.h:487
static TOOL_ACTION layerInner17
Definition: pcb_actions.h:347
static TOOL_ACTION flipBoard
Definition: pcb_actions.h:374
static TOOL_ACTION layerBottom
Definition: pcb_actions.h:361
static TOOL_ACTION zoneDisplayOutline
Definition: pcb_actions.h:322
static TOOL_ACTION ratsnestLineMode
Definition: pcb_actions.h:315
static TOOL_ACTION showFootprintAssociations
Definition: pcb_actions.h:561
static TOOL_ACTION layerInner19
Definition: pcb_actions.h:349
static TOOL_ACTION layerInner9
Definition: pcb_actions.h:339
static TOOL_ACTION fpAutoZoom
Definition: pcb_actions.h:327
static TOOL_ACTION pointEditorChamferCorner
Definition: pcb_actions.h:288
static TOOL_ACTION textOutlines
Display texts as lines.
Definition: pcb_actions.h:514
static TOOL_ACTION resetWizardPrms
Definition: pcb_actions.h:605
static TOOL_ACTION showPadNumbers
Definition: pcb_actions.h:326
static TOOL_ACTION checkFootprint
Definition: pcb_actions.h:490
static TOOL_ACTION filletLines
Fillet (i.e. adds an arc tangent to) all selected straight lines by a user defined radius.
Definition: pcb_actions.h:146
static TOOL_ACTION highlightNetSelection
Definition: pcb_actions.h:569
static TOOL_ACTION microwaveCreateFunctionShape
Definition: pcb_actions.h:534
static TOOL_ACTION saveSelectionToDesignBlock
Definition: pcb_actions.h:464
static TOOL_ACTION editLibFpInFpEditor
Definition: pcb_actions.h:449
static TOOL_ACTION zoneMerge
Definition: pcb_actions.h:396
static TOOL_ACTION duplicateFootprint
Definition: pcb_actions.h:478
static TOOL_ACTION closeOutline
Definition: pcb_actions.h:220
static TOOL_ACTION changeFootprint
Definition: pcb_actions.h:441
static TOOL_ACTION routerInlineDrag
Activation of the Push and Shove router (inline dragging mode)
Definition: pcb_actions.h:270
static TOOL_ACTION pointEditorRemoveCorner
Definition: pcb_actions.h:287
static TOOL_ACTION positionRelative
Definition: pcb_actions.h:306
static TOOL_ACTION skip
Definition: pcb_actions.h:135
static TOOL_ACTION amplIncrease
Definition: pcb_actions.h:201
static TOOL_ACTION move
move or drag an item
Definition: pcb_actions.h:106
static TOOL_ACTION mirrorV
Definition: pcb_actions.h:126
static TOOL_ACTION cutFootprint
Definition: pcb_actions.h:481
static TOOL_ACTION amplDecrease
Definition: pcb_actions.h:202
static TOOL_ACTION drillSetOrigin
Definition: pcb_actions.h:552
static TOOL_ACTION unlock
Definition: pcb_actions.h:544
static TOOL_ACTION lengthTunerSettings
Definition: pcb_actions.h:203
static TOOL_ACTION mergePolygons
Merge multiple polygons into a single polygon.
Definition: pcb_actions.h:161
static TOOL_ACTION syncSelectionWithNets
Sets selection to specified items with connected nets, zooms to fit, if enabled.
Definition: pcb_actions.h:66
static TOOL_ACTION spacingIncrease
Definition: pcb_actions.h:199
static TOOL_ACTION layerInner30
Definition: pcb_actions.h:360
static TOOL_ACTION boardReannotate
Definition: pcb_actions.h:555
static TOOL_ACTION subtractPolygons
Subtract polygons from other polygons.
Definition: pcb_actions.h:163
static TOOL_ACTION layerTop
Definition: pcb_actions.h:330
static TOOL_ACTION cycleRouterMode
Definition: pcb_actions.h:267
static TOOL_ACTION regenerateSelected
Definition: pcb_actions.h:275
static TOOL_ACTION convertToArc
Definition: pcb_actions.h:593
static TOOL_ACTION layerInner4
Definition: pcb_actions.h:334
static TOOL_ACTION repairFootprint
Definition: pcb_actions.h:557
static TOOL_ACTION changeTrackLayerNext
Definition: pcb_actions.h:139
static TOOL_ACTION flip
Flipping of selected objects.
Definition: pcb_actions.h:122
static TOOL_ACTION exportFootprints
Definition: pcb_actions.h:408
static TOOL_ACTION alignCenterX
Definition: pcb_actions.h:298
static TOOL_ACTION placeFootprint
Definition: pcb_actions.h:216
static TOOL_ACTION pointEditorAddCorner
Definition: pcb_actions.h:286
static TOOL_ACTION routeSingleTrack
Activation of the Push and Shove router.
Definition: pcb_actions.h:242
static TOOL_ACTION layerInner13
Definition: pcb_actions.h:343
static TOOL_ACTION layerInner21
Definition: pcb_actions.h:351
static TOOL_ACTION selectItemInteractively
Selection of reference points/items.
Definition: pcb_actions.h:310
static TOOL_ACTION createArray
Tool for creating an array of objects.
Definition: pcb_actions.h:508
static TOOL_ACTION saveBoardToDesignBlock
Definition: pcb_actions.h:463
static TOOL_ACTION boardStatistics
Definition: pcb_actions.h:554
static TOOL_ACTION saveFpToBoard
Definition: pcb_actions.h:493
static TOOL_ACTION deselectNet
Remove all connections belonging to a single net from the active selection.
Definition: pcb_actions.h:85
static TOOL_ACTION editTeardrops
Definition: pcb_actions.h:435
static TOOL_ACTION layerNext
Definition: pcb_actions.h:362
static TOOL_ACTION showPythonConsole
Definition: pcb_actions.h:453
static TOOL_ACTION copyFootprint
Definition: pcb_actions.h:482
static TOOL_ACTION extendLines
Extend selected lines to meet at a point.
Definition: pcb_actions.h:154
static TOOL_ACTION drawLine
Definition: pcb_actions.h:189
static TOOL_ACTION placeLinkedDesignBlock
Definition: pcb_actions.h:458
static TOOL_ACTION distributeVerticallyGaps
Definition: pcb_actions.h:303
static TOOL_ACTION placeStackup
Definition: pcb_actions.h:215
static TOOL_ACTION localRatsnestTool
Definition: pcb_actions.h:575
static TOOL_ACTION routerRouteSelected
Definition: pcb_actions.h:255
static TOOL_ACTION cleanupGraphics
Definition: pcb_actions.h:438
static TOOL_ACTION rotateCw
Rotation of selected objects.
Definition: pcb_actions.h:118
static TOOL_ACTION rotateCcw
Definition: pcb_actions.h:119
static TOOL_ACTION drawAlignedDimension
Definition: pcb_actions.h:204
static TOOL_ACTION genRevertEdit
Definition: pcb_actions.h:280
static TOOL_ACTION layerInner23
Definition: pcb_actions.h:353
static TOOL_ACTION distributeVerticallyCenters
Definition: pcb_actions.h:302
static TOOL_ACTION drawZone
Definition: pcb_actions.h:209
static TOOL_ACTION alignCenterY
Definition: pcb_actions.h:299
static TOOL_ACTION rescueAutosave
Definition: pcb_actions.h:406
static TOOL_ACTION importSpecctraSession
Definition: pcb_actions.h:413
static TOOL_ACTION selectPreviousWizardPage
Definition: pcb_actions.h:606
static TOOL_ACTION selectOnSchematic
Select symbols/pins on schematic corresponding to selected footprints/pads.
Definition: pcb_actions.h:100
static TOOL_ACTION lock
Definition: pcb_actions.h:543
static TOOL_ACTION layerInner28
Definition: pcb_actions.h:358
static const TOOL_EVENT & SnappingModeChangedByKeyEvent()
Hotkey feedback.
static const TOOL_EVENT & LayerPairPresetChangedByKeyEvent()
Build up the properties of a TOOL_ACTION in an incremental manner that is static-construction safe.
Definition: tool_action.h:118
Define a group that can be used to group actions (and their events) of similar operations.
Definition: tool_action.h:79
Represent a single user action.
Definition: tool_action.h:304
Generic, UI-independent tool event.
Definition: tool_event.h:168
PCB_LAYER_ID
A quick note on layer IDs:
Definition: layer_ids.h:60
@ In22_Cu
Definition: layer_ids.h:87
@ In11_Cu
Definition: layer_ids.h:76
@ In29_Cu
Definition: layer_ids.h:94
@ In30_Cu
Definition: layer_ids.h:95
@ In17_Cu
Definition: layer_ids.h:82
@ In9_Cu
Definition: layer_ids.h:74
@ In19_Cu
Definition: layer_ids.h:84
@ In7_Cu
Definition: layer_ids.h:72
@ In28_Cu
Definition: layer_ids.h:93
@ In26_Cu
Definition: layer_ids.h:91
@ B_Cu
Definition: layer_ids.h:65
@ In21_Cu
Definition: layer_ids.h:86
@ In23_Cu
Definition: layer_ids.h:88
@ In15_Cu
Definition: layer_ids.h:80
@ In2_Cu
Definition: layer_ids.h:67
@ In10_Cu
Definition: layer_ids.h:75
@ In4_Cu
Definition: layer_ids.h:69
@ In16_Cu
Definition: layer_ids.h:81
@ In24_Cu
Definition: layer_ids.h:89
@ In1_Cu
Definition: layer_ids.h:66
@ In13_Cu
Definition: layer_ids.h:78
@ In8_Cu
Definition: layer_ids.h:73
@ In14_Cu
Definition: layer_ids.h:79
@ In12_Cu
Definition: layer_ids.h:77
@ In27_Cu
Definition: layer_ids.h:92
@ In6_Cu
Definition: layer_ids.h:71
@ In5_Cu
Definition: layer_ids.h:70
@ In3_Cu
Definition: layer_ids.h:68
@ In20_Cu
Definition: layer_ids.h:85
@ F_Cu
Definition: layer_ids.h:64
@ In18_Cu
Definition: layer_ids.h:83
@ In25_Cu
Definition: layer_ids.h:90
@ RM_MarkObstacles
Ignore collisions, mark obstacles.
@ RM_Walkaround
Only walk around.
@ RM_Shove
Only shove.
@ PNS_MODE_ROUTE_SINGLE
Definition: pns_router.h:63
@ PNS_MODE_ROUTE_DIFF_PAIR
Definition: pns_router.h:64
@ PNS_MODE_TUNE_DIFF_PAIR
Definition: pns_router.h:66
@ PNS_MODE_TUNE_SINGLE
Definition: pns_router.h:65
@ PNS_MODE_TUNE_DIFF_PAIR_SKEW
Definition: pns_router.h:67
@ DM_ANY
Definition: pns_router.h:77
#define _(s)
Definition: pcb_actions.cpp:46
@ SIMILAR
Add a new zone with the same settings as an existing one.
@ CUTOUT
Make a cutout to an existing zone.
@ ADD
Add a new zone/keepout with fresh settings.
@ TOGGLE
Action is a toggle button on the toolbar.
@ AS_GLOBAL
Global action (toolbar/main menu event, global shortcut)
Definition: tool_action.h:49
@ AS_CONTEXT
Action belongs to a particular tool (i.e. a part of a pop-up menu)
Definition: tool_action.h:47
@ AF_ACTIVATE
Action activates a tool.
Definition: tool_action.h:56
@ AF_NOTIFY
Action is a notification (it is by default passed to all tools)
Definition: tool_action.h:57
@ AF_NONE
Definition: tool_action.h:55
@ 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
VECTOR2< int32_t > VECTOR2I
Definition: vector2d.h:695