KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_actions.h
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-2016 CERN
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * @author Maciej Suminski <[email protected]>
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, you may find one here:
21 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
22 * or you may search the http://www.gnu.org website for the version 2 license,
23 * or you may write to the Free Software Foundation, Inc.,
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
25 */
26
27#ifndef __PCB_ACTIONS_H
28#define __PCB_ACTIONS_H
29
30#include <layer_ids.h>
31#include <tool/tool_action.h>
32#include <tool/actions.h>
33
41
42class DESIGN_BLOCK;
43
50class PCB_ACTIONS : public ACTIONS
51{
52public:
59 static TOOL_ACTION* LayerIDToAction( PCB_LAYER_ID aLayerID );
60
61 // Selection Tool
64
67
70
74
77
80
83
86
89
92
95
98
101
104
107
110
113
116
120
123
127
130
133
134 // Compound Action Tool actions, e.g. Move Individually
136
141
144
159
166
169
172
175
179
181
184
187
188 // Drawing Tool Activations
222
225
228
231
234
239
240 // Push and Shove Router Tool
241
244
247
251
253
259
263
269
272
283
285
286 // Point Editor
290
293
294 // Placement Tool
305
306 // Position Relative Tool
309
313
314 // Display modes
329
330 // Layer control
369
370 // Group to link all actions that directly select layers
372
373 static TOOL_ACTION layerChanged; // notification
374
376
378
379 // Track & via size control
384
386
387 static TOOL_ACTION trackViaSizeChanged; // notification
388
390
391 // Zone actions
398
401
404
405 // Board editor control
411
413
416
425
432
433 // Global edit tool
446
448
451
456
457 // Design Block management
469
470 // Footprint editor tools
471
472 // We don't use ACTION::new here because we need to distinguish between New Library
473 // and New Footprint.
475
476 // Create a new footprint using the Footprint Wizard
478
488
492
494
497
500
503
506
509
512
515
518
519 // Pad tools
520
523
526
529
530 // Microwave tools
532
534
536
538
540
541 // Constrained drawing
543
544 // Locking
548
549 // Miscellaneous
566
567 // Appearance controls
568 static TOOL_ACTION clearHighlight; // Turns off highlight and resets previous highlight
569 static TOOL_ACTION highlightNet; // Highlights a net by code (cross-probe highlight)
570 static TOOL_ACTION toggleLastNetHighlight; // Toggles between current and previous highlight
571 static TOOL_ACTION toggleNetHighlight; // Toggles between highlight off and highlight on
572 static TOOL_ACTION highlightNetSelection; // Turns on highlight and takes net from selection
573 static TOOL_ACTION highlightItem; // Select component via cross-probe
574
575 // Ratsnest
581
584
587
590
591 // convert tool
598
603
606
613};
614
616{
617public:
618 // These are functions that access the underlying event because the event constructor
619 // needs the ACTION::cancelInteractive action, so we must
620
624};
625
626#endif
@ ADD
Definition am_param.h:150
Gather all the actions that are shared by tools.
Definition actions.h:48
Gather all the actions that are shared by tools.
Definition pcb_actions.h:51
static TOOL_ACTION deleteLastPoint
static TOOL_ACTION toggleHV45Mode
static TOOL_ACTION editTracksAndVias
static TOOL_ACTION_GROUP layerDirectSwitchActions()
static TOOL_ACTION deleteFootprint
static TOOL_ACTION drawRuleArea
static TOOL_ACTION layerToggle
static TOOL_ACTION drag45Degree
static TOOL_ACTION duplicateIncrement
Activation of the duplication tool with incrementing (e.g. pad number)
static TOOL_ACTION layerInner12
static TOOL_ACTION changeDimensionArrows
Switch between dimension arrow directions.
static TOOL_ACTION microwaveCreateGap
static TOOL_ACTION recombinePad
static TOOL_ACTION drawBezier
static TOOL_ACTION renameFootprint
static TOOL_ACTION routerUndoLastSegment
static TOOL_ACTION nextFootprint
static TOOL_ACTION placeText
static TOOL_ACTION layerInner8
static TOOL_ACTION swapLayers
static TOOL_ACTION zonesManager
static TOOL_ACTION generateBOM
static TOOL_ACTION highlightItem
static TOOL_ACTION drawOrthogonalDimension
static TOOL_ACTION zoneDisplayToggle
static TOOL_ACTION enumeratePads
Tool for quick pad enumeration.
static TOOL_ACTION drawRectangle
static TOOL_ACTION previousFootprint
static TOOL_ACTION layerInner3
static TOOL_ACTION layerPrev
static TOOL_ACTION setAnchor
static TOOL_ACTION padDisplayMode
static TOOL_ACTION placeReferenceImage
static TOOL_ACTION routerSettingsDialog
Activation of the Push and Shove settings dialogs.
static TOOL_ACTION showRatsnest
static TOOL_ACTION exportGenCAD
static TOOL_ACTION zoneFillAll
static TOOL_ACTION layerInner2
static TOOL_ACTION showLayersManager
static TOOL_ACTION changeTrackWidth
Update selected tracks & vias to the current track & via dimensions.
static TOOL_ACTION trackWidthDec
static TOOL_ACTION routerAttemptFinish
static TOOL_ACTION convertToKeepout
static TOOL_ACTION toggleNetHighlight
static TOOL_ACTION generateDrillFiles
static TOOL_ACTION pushPadSettings
Copy the current pad's settings to other pads in the footprint or on the board.
static TOOL_ACTION unrouteSelected
Removes all tracks from the selected items to the first pad.
Definition pcb_actions.h:76
static TOOL_ACTION saveSelectionAsDesignBlock
static TOOL_ACTION drawCircle
static TOOL_ACTION magneticSnapAllLayers
static TOOL_ACTION mirrorH
Mirroring of selected items.
static TOOL_ACTION routeDiffPair
Activation of the Push and Shove router (differential pair mode)
static TOOL_ACTION exportVRML
static TOOL_ACTION pickerTool
static TOOL_ACTION generateD356File
static TOOL_ACTION updateFootprint
static TOOL_ACTION collect3DModels
static TOOL_ACTION tuneDiffPair
static TOOL_ACTION convertToTracks
static TOOL_ACTION exportCmpFile
static TOOL_ACTION saveToLinkedDesignBlock
static TOOL_ACTION alignTop
static TOOL_ACTION trackViaSizeChanged
static TOOL_ACTION exportSpecctraDSN
static TOOL_ACTION createFootprint
static TOOL_ACTION layerChanged
static TOOL_ACTION trackWidthInc
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)
static TOOL_ACTION ddAppendBoard
Drag and drop.
static TOOL_ACTION editFootprint
static TOOL_ACTION exportFootprint
static TOOL_ACTION layerInner25
static TOOL_ACTION editDesignBlockProperties
static TOOL_ACTION breakTrack
Break a single track into two segments at the cursor.
static TOOL_ACTION pointEditorMoveMidpoint
static TOOL_ACTION highlightNet
static TOOL_ACTION magneticSnapActiveLayer
Snapping controls.
static TOOL_ACTION autoTrackWidth
static TOOL_ACTION generateIPC2581File
static TOOL_ACTION getAndPlace
Find an item and start moving.
static TOOL_ACTION drawTable
static TOOL_ACTION drawTextBox
static TOOL_ACTION generateODBPPFile
static TOOL_ACTION repeatLayout
static TOOL_ACTION copyPadSettings
Copy the selected pad's settings to the board design settings.
static TOOL_ACTION layerAlphaDec
static TOOL_ACTION routerRouteSelectedFromEnd
static TOOL_ACTION routerHighlightMode
Actions to enable switching modes via hotkey assignments.
static TOOL_ACTION routerWalkaroundMode
static TOOL_ACTION genFinishEdit
static TOOL_ACTION routerShoveMode
static TOOL_ACTION convertToLines
static TOOL_ACTION drawZoneCutout
static TOOL_ACTION drawPolygon
static TOOL_ACTION placePad
Activation of the drawing tool (placing a PAD)
static TOOL_ACTION openNonKicadBoard
static TOOL_ACTION hideNetInRatsnest
static TOOL_ACTION hideLocalRatsnest
static TOOL_ACTION exportFpToEditor
static TOOL_ACTION distributeHorizontallyGaps
static TOOL_ACTION zoneDisplayFilled
static TOOL_ACTION layerInner24
static TOOL_ACTION viaSizeDec
static TOOL_ACTION showNetInRatsnest
static TOOL_ACTION drawRadialDimension
static TOOL_ACTION genStartEdit
static TOOL_ACTION padTable
static TOOL_ACTION tuneSingleTrack
static TOOL_ACTION zoneFill
static TOOL_ACTION cleanupTracksAndVias
static TOOL_ACTION viaDisplayMode
static TOOL_ACTION editTextAndGraphics
static TOOL_ACTION properties
Activation of the edit tool.
static TOOL_ACTION drawLeader
static TOOL_ACTION editFpInFpEditor
static TOOL_ACTION selectionTool
static TOOL_ACTION moveWithReference
move with a reference point
static TOOL_ACTION toggleLock
static TOOL_ACTION changeTrackLayerPrev
static TOOL_ACTION swap
Swapping of selected items.
static TOOL_ACTION toggleLastNetHighlight
static TOOL_ACTION layerInner29
static TOOL_ACTION * LayerIDToAction(PCB_LAYER_ID aLayerID)
Translate a layer ID into the action that switches to that layer.
static TOOL_ACTION drillResetOrigin
static TOOL_ACTION deleteDesignBlock
static TOOL_ACTION placeCharacteristics
static TOOL_ACTION pluginsShowFolder
Scripting Actions.
static TOOL_ACTION viaSizeInc
static TOOL_ACTION routerAutorouteSelected
static TOOL_ACTION moveExact
Activation of the exact move tool.
static TOOL_ACTION autoplaceOffboardComponents
static TOOL_ACTION layerInner11
static TOOL_ACTION routerDiffPairDialog
static TOOL_ACTION explodePad
static TOOL_ACTION routerContinueFromEnd
static TOOL_ACTION zoneUnfill
static TOOL_ACTION intersectPolygons
Intersection of multiple polygons.
static TOOL_ACTION pointEditorMoveCorner
static TOOL_ACTION layerAlphaInc
static TOOL_ACTION saveBoardAsDesignBlock
static TOOL_ACTION layerPairPresetsCycle
static TOOL_ACTION distributeHorizontallyCenters
static TOOL_ACTION inspectConstraints
static TOOL_ACTION generatePosFile
static TOOL_ACTION globalDeletions
static TOOL_ACTION newFootprint
static TOOL_ACTION genRemove
static TOOL_ACTION drillOrigin
static TOOL_ACTION selectOnSheetFromEeschema
Select all components on sheet from Eeschema crossprobing.
Definition pcb_actions.h:94
static TOOL_ACTION layerInner16
static TOOL_ACTION defaultPadProperties
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
static TOOL_ACTION packAndMoveFootprints
Pack and start moving selected footprints.
static TOOL_ACTION alignRight
static TOOL_ACTION tuneSkew
static TOOL_ACTION copyWithReference
copy command with manual reference point selection
static TOOL_ACTION layerInner26
static TOOL_ACTION genCancelEdit
static TOOL_ACTION layerInner18
static TOOL_ACTION incWidth
Increase width of currently drawn line.
static TOOL_ACTION repairBoard
static TOOL_ACTION layerInner14
static TOOL_ACTION healShapes
Connect selected shapes, possibly extending or cutting them, or adding extra geometry.
static TOOL_ACTION selectPointInteractively
static TOOL_ACTION trackDisplayMode
static TOOL_ACTION exportSTEP
static TOOL_ACTION showNetInspector
static TOOL_ACTION selectLayerPair
static TOOL_ACTION magneticSnapToggle
static TOOL_ACTION microwaveCreateStubArc
static TOOL_ACTION layerInner6
static TOOL_ACTION applyDesignBlockLayout
static TOOL_ACTION dragFreeAngle
static TOOL_ACTION positionRelativeInteractively
static TOOL_ACTION clearHighlight
static TOOL_ACTION generateGerbers
static TOOL_ACTION inspectClearance
static TOOL_ACTION convertToZone
static TOOL_ACTION ddImportFootprint
static TOOL_ACTION generatorsShowManager
static TOOL_ACTION zoneDisplayTriangulated
static TOOL_ACTION genUpdateEdit
static TOOL_ACTION generateReportFile
static TOOL_ACTION rehatchShapes
static TOOL_ACTION updateLocalRatsnest
static TOOL_ACTION spacingDecrease
static TOOL_ACTION updateFootprints
static TOOL_ACTION exportHyperlynx
static TOOL_ACTION importFootprint
static TOOL_ACTION autoplaceSelectedComponents
static TOOL_ACTION layerInner22
static TOOL_ACTION find
Find an item.
static TOOL_ACTION placeDesignBlock
static TOOL_ACTION alignBottom
static TOOL_ACTION selectUnconnected
Select unconnected footprints from ratsnest of selection.
Definition pcb_actions.h:88
static TOOL_ACTION placeImportedGraphics
static TOOL_ACTION layerInner5
static TOOL_ACTION removeUnusedPads
static TOOL_ACTION zoneDisplayFractured
static TOOL_ACTION ratsnestModeCycle
static TOOL_ACTION drawVia
static TOOL_ACTION regenerateAll
static TOOL_ACTION showWizards
Footprint wizard frame actions:
static TOOL_ACTION applyPadSettings
Copy the default pad settings to the selected pad.
static TOOL_ACTION alignLeft
static TOOL_ACTION drawArc
static TOOL_ACTION deleteFull
static TOOL_ACTION exportIDF
static TOOL_ACTION runDRC
static TOOL_ACTION convertToPoly
static TOOL_ACTION zoneDuplicate
Duplicate zone onto another layer.
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.
static TOOL_ACTION graphicsOutlines
Display footprint graphics as outlines.
static TOOL_ACTION importNetlist
static TOOL_ACTION generatePlacementRuleAreas
static TOOL_ACTION layerInner20
static TOOL_ACTION selectNextWizardPage
static TOOL_ACTION layerInner7
static TOOL_ACTION layerInner27
static TOOL_ACTION diffFootprint
static TOOL_ACTION moveIndividually
move items one-by-one
static TOOL_ACTION changeFootprints
static TOOL_ACTION outsetItems
Create outset items from selection.
static TOOL_ACTION drawSimilarZone
static TOOL_ACTION syncSelection
Sets selection to specified items, zooms to fit, if enabled.
Definition pcb_actions.h:63
static TOOL_ACTION remove
Deleting a BOARD_ITEM.
static TOOL_ACTION boardSetup
static TOOL_ACTION showEeschema
static TOOL_ACTION loadFpFromBoard
static TOOL_ACTION showDesignBlockPanel
static TOOL_ACTION decWidth
Decrease width of currently drawn line.
static TOOL_ACTION drawCenterDimension
static TOOL_ACTION zoneUnfillAll
static TOOL_ACTION pasteFootprint
static TOOL_ACTION zoneFillDirty
static TOOL_ACTION chamferLines
Chamfer (i.e. adds a straight line) all selected straight lines by a user defined setback.
static TOOL_ACTION appendBoard
static TOOL_ACTION netColorModeCycle
static TOOL_ACTION selectSameSheet
Select all components on the same sheet as the selected footprint.
Definition pcb_actions.h:97
static TOOL_ACTION measureTool
static TOOL_ACTION layerInner1
static TOOL_ACTION layerInner10
static TOOL_ACTION dogboneCorners
Add "dogbone" corners to selected lines to allow routing with a cutter radius.
static TOOL_ACTION microwaveCreateStub
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.
static TOOL_ACTION layerInner15
static TOOL_ACTION simplifyPolygons
Simplify polygon outlines.
static TOOL_ACTION arcPosture
Switch posture when drawing arc.
static TOOL_ACTION ddImportGraphics
static TOOL_ACTION microwaveCreateLine
static TOOL_ACTION footprintProperties
static TOOL_ACTION layerInner17
static TOOL_ACTION flipBoard
static TOOL_ACTION layerBottom
static TOOL_ACTION zoneDisplayOutline
static TOOL_ACTION ratsnestLineMode
static TOOL_ACTION showFootprintAssociations
static TOOL_ACTION layerInner19
static TOOL_ACTION layerInner9
static TOOL_ACTION fpAutoZoom
static TOOL_ACTION pointEditorChamferCorner
static TOOL_ACTION textOutlines
Display texts as lines.
static TOOL_ACTION resetWizardPrms
static TOOL_ACTION showPadNumbers
static TOOL_ACTION checkFootprint
static TOOL_ACTION filletLines
Fillet (i.e. adds an arc tangent to) all selected straight lines by a user defined radius.
static TOOL_ACTION highlightNetSelection
static TOOL_ACTION microwaveCreateFunctionShape
static TOOL_ACTION saveSelectionToDesignBlock
static TOOL_ACTION placePoint
static TOOL_ACTION editLibFpInFpEditor
static TOOL_ACTION zoneMerge
static TOOL_ACTION duplicateFootprint
static TOOL_ACTION closeOutline
static TOOL_ACTION changeFootprint
static TOOL_ACTION routerInlineDrag
Activation of the Push and Shove router (inline dragging mode)
static TOOL_ACTION pointEditorRemoveCorner
static TOOL_ACTION positionRelative
static TOOL_ACTION skip
static TOOL_ACTION amplIncrease
static TOOL_ACTION move
move or drag an item
static TOOL_ACTION mirrorV
static TOOL_ACTION cutFootprint
static TOOL_ACTION amplDecrease
static TOOL_ACTION drillSetOrigin
static TOOL_ACTION unlock
static TOOL_ACTION lengthTunerSettings
static TOOL_ACTION mergePolygons
Merge multiple polygons into a single polygon.
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
static TOOL_ACTION layerInner30
static TOOL_ACTION boardReannotate
static TOOL_ACTION subtractPolygons
Subtract polygons from other polygons.
static TOOL_ACTION layerTop
static TOOL_ACTION cycleRouterMode
static TOOL_ACTION regenerateSelected
static TOOL_ACTION convertToArc
static TOOL_ACTION layerInner4
static TOOL_ACTION repairFootprint
static TOOL_ACTION changeTrackLayerNext
static TOOL_ACTION flip
Flipping of selected objects.
static TOOL_ACTION exportFootprints
static TOOL_ACTION alignCenterX
static TOOL_ACTION placeFootprint
static TOOL_ACTION pointEditorAddCorner
static TOOL_ACTION routeSingleTrack
Activation of the Push and Shove router.
static TOOL_ACTION layerInner13
static TOOL_ACTION layerInner21
static TOOL_ACTION selectItemInteractively
Selection of reference points/items.
static TOOL_ACTION createArray
Tool for creating an array of objects.
static TOOL_ACTION saveBoardToDesignBlock
static TOOL_ACTION boardStatistics
static TOOL_ACTION saveFpToBoard
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
static TOOL_ACTION layerNext
static TOOL_ACTION selectionMenu
Run a selection menu to select from a list of items.
Definition pcb_actions.h:69
static TOOL_ACTION showPythonConsole
static TOOL_ACTION copyFootprint
static TOOL_ACTION extendLines
Extend selected lines to meet at a point.
static TOOL_ACTION drawLine
static TOOL_ACTION placeLinkedDesignBlock
static TOOL_ACTION distributeVerticallyGaps
static TOOL_ACTION placeStackup
static TOOL_ACTION regenerateItem
static TOOL_ACTION localRatsnestTool
static TOOL_ACTION routerRouteSelected
static TOOL_ACTION cleanupGraphics
static TOOL_ACTION rotateCw
Rotation of selected objects.
static TOOL_ACTION rotateCcw
static TOOL_ACTION drawAlignedDimension
static TOOL_ACTION layerInner23
static TOOL_ACTION distributeVerticallyCenters
static TOOL_ACTION drawZone
static TOOL_ACTION alignCenterY
static TOOL_ACTION rescueAutosave
static TOOL_ACTION importSpecctraSession
static TOOL_ACTION selectPreviousWizardPage
static TOOL_ACTION selectOnSchematic
Select symbols/pins on schematic corresponding to selected footprints/pads.
static TOOL_ACTION lock
static TOOL_ACTION layerInner28
static const TOOL_EVENT & SnappingModeChangedByKeyEvent()
Hotkey feedback.
static const TOOL_EVENT & LayerPairPresetChangedByKeyEvent()
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.
Generic, UI-independent tool event.
Definition tool_event.h:171
PCB_LAYER_ID
A quick note on layer IDs:
Definition layer_ids.h:60
ZONE_MODE
Definition pcb_actions.h:35
@ SIMILAR
Add a new zone with the same settings as an existing one.
Definition pcb_actions.h:38
@ CUTOUT
Make a cutout to an existing zone.
Definition pcb_actions.h:37
@ GRAPHIC_POLYGON
Definition pcb_actions.h:39