|
KiCad PCB EDA Suite
|
Interactive authoring of geometric constraints (issue #2329). More...
#include <constraint_edit_tool.h>
Public Types | |
| enum | RESET_REASON { RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH , REDRAW , SHUTDOWN } |
| Determine the reason of reset for a tool. More... | |
Public Member Functions | |
| CONSTRAINT_EDIT_TOOL () | |
| ~CONSTRAINT_EDIT_TOOL () override=default | |
| void | Reset (RESET_REASON aReason) override |
| Bring the tool to a known, initial state. | |
| bool | Init () override |
| Init() is called once upon a registration of the tool. | |
| int | AddConstraint (const TOOL_EVENT &aEvent) |
| int | AddPointConstraint (const TOOL_EVENT &aEvent) |
| int | RemoveConstraints (const TOOL_EVENT &aEvent) |
| int | ShowConstraints (const TOOL_EVENT &aEvent) |
| int | ManageConstraints (const TOOL_EVENT &aEvent) |
| bool | SelectConstraintAt (const VECTOR2I &aPos) |
Select the constraint whose on-canvas badge is at aPos (enlarge it, highlight the panel row); returns true if a badge was hit. | |
| bool | EditConstraintAt (const VECTOR2I &aPos) |
Open the value dialog for the constraint badged at aPos; returns true if one was hit. | |
| bool | ClearConstraintSelection () |
| Clear any badge-selected constraint. Returns true if a constraint was selected and is now cleared. | |
| bool | TryDeleteSelectedConstraint () |
| Delete the currently badge-selected constraint; returns true if one was selected and removed. | |
| bool | TryEditSelectedConstraint () |
| Edit the currently badge-selected constraint's value; returns true if one was selected. | |
| void | SolveAfterMove (const std::vector< PCB_SHAPE * > &aShapes) |
Re-solve the clusters of aShapes after a whole-shape edit, folded into that edit's undo. | |
| void | SolveAfterEdit (const std::vector< PCB_SHAPE * > &aShapes) |
Re-solve after a panel or dialog edit holding aShapes fixed so typed values survive Only their constrained neighbors move folded into the same undo. | |
| void | DiagnoseAfterMove (const std::vector< PCB_SHAPE * > &aShapes) |
Re-diagnose and refresh the overlay and info bar after the caller re-solves aShapes into its own commit for example a live move drag solving each tick. | |
| void | RemoveConstraintById (const KIID &aId) |
| Intent entry points for the constraints panel, so it never mutates the board or the selection itself – the tool stays the single owner of constraint edit/remove/highlight + refresh. | |
| void | EditConstraintById (const KIID &aId) |
| void | HighlightConstraintMembers (const KIID &aId, int aMemberIndex) |
| int | refreshOverlay (const TOOL_EVENT &aEvent) |
| Refresh the diagnostics overlay if it is currently shown. | |
| int | onSelectionChanged (const TOOL_EVENT &aEvent) |
| Clear stale badge/isolation state when the board selection changes. | |
| int | onHoverMotion (const TOOL_EVENT &aEvent) |
| In HOVER mode, reveal the constraints of the shape under the cursor (nothing when none). | |
| void | SetIsFootprintEditor (bool aEnabled) |
| Function SetIsFootprintEditor() | |
| bool | IsFootprintEditor () const |
| void | SetIsBoardEditor (bool aEnabled) |
| bool | IsBoardEditor () const |
| virtual bool | Is45Limited () const |
| Should the tool use its 45° mode option? | |
| virtual bool | Is90Limited () const |
| Should the tool limit drawing to horizontal and vertical only? | |
| LEADER_MODE | GetAngleSnapMode () const |
| Get the current angle snapping mode. | |
| void | Activate () |
| Run the tool. | |
| TOOL_MENU & | GetToolMenu () |
| void | SetContextMenu (ACTION_MENU *aMenu, CONTEXT_MENU_TRIGGER aTrigger=CMENU_BUTTON) |
| Assign a context menu and tells when it should be activated. | |
| void | RunMainStack (std::function< void()> aFunc) |
| Call a function using the main stack. | |
| template<class T> | |
| void | Go (int(T::*aStateFunc)(const TOOL_EVENT &), const TOOL_EVENT_LIST &aConditions=TOOL_EVENT(TC_ANY, TA_ANY)) |
| Define which state (aStateFunc) to go when a certain event arrives (aConditions). | |
| TOOL_EVENT * | Wait (const TOOL_EVENT_LIST &aEventList=TOOL_EVENT(TC_ANY, TA_ANY)) |
| Suspend execution of the tool until an event specified in aEventList arrives. | |
| TOOL_TYPE | GetType () const |
| Return the type of the tool. | |
| TOOL_ID | GetId () const |
| Return the unique identifier of the tool. | |
| const std::string & | GetName () const |
| Return the name of the tool. | |
| TOOL_MANAGER * | GetManager () const |
| Return the instance of TOOL_MANAGER that takes care of the tool. | |
| bool | IsToolActive () const |
Protected Types | |
| enum | INTERACTIVE_PLACEMENT_OPTIONS { IPO_ROTATE = 0x01 , IPO_FLIP = 0x02 , IPO_SINGLE_CLICK = 0x04 , IPO_REPEAT = 0x08 } |
| Options for placing items interactively. More... | |
Protected Member Functions | |
| void | doInteractiveItemPlacement (const TOOL_EVENT &aTool, INTERACTIVE_PLACER_BASE *aPlacer, const wxString &aCommitMessage, int aOptions=IPO_ROTATE|IPO_FLIP|IPO_REPEAT) |
| Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc. | |
| KIGFX::PCB_VIEW * | view () const |
| KIGFX::VIEW_CONTROLS * | controls () const |
| template<class T = PCB_BASE_EDIT_FRAME> | |
| T * | frame () const |
| BOARD * | board () const |
| FOOTPRINT * | footprint () const |
| PCBNEW_SETTINGS::DISPLAY_OPTIONS & | displayOptions () const |
| PCB_DRAW_PANEL_GAL * | canvas () const |
| const PCB_SELECTION & | selection () const |
| PCB_SELECTION & | selection () |
| void | attachManager (TOOL_MANAGER *aManager) |
| Set the TOOL_MANAGER the tool will belong to. | |
| KIGFX::VIEW * | getView () const |
| Returns the instance of #VIEW object used in the application. | |
| KIGFX::VIEW_CONTROLS * | getViewControls () const |
| Return the instance of VIEW_CONTROLS object used in the application. | |
| template<typename T> | |
| T * | getEditFrame () const |
| Return the application window object, casted to requested user type. | |
| template<typename T> | |
| T * | getModel () const |
| Return the model object if it matches the requested type. | |
Protected Attributes | |
| bool | m_isFootprintEditor |
| bool | m_isBoardEditor |
| TOOL_TYPE | m_type |
| TOOL_ID | m_toolId |
| Unique id, assigned by a TOOL_MANAGER instance. | |
| std::string | m_toolName |
| Names are expected to obey the format application.ToolName (eg. | |
| TOOL_MANAGER * | m_toolMgr |
Private Member Functions | |
| void | setTransitions () override |
| This method is meant to be overridden in order to specify handlers for events. | |
| BOARD_ITEM * | constraintParent () const |
| The owner a new constraint should be parented to (the footprint in the footprint editor). | |
| void | finishConstraintCommit (BOARD_COMMIT &aCommit, const std::vector< PCB_CONSTRAINT * > &aAdded) |
Push aCommit, snap the geometry for the added constraints, and refresh the overlays. | |
| bool | commitConstraint (std::unique_ptr< PCB_CONSTRAINT > aConstraint) |
Confirm any value, reject a duplicate, and commit aConstraint. Returns true if it was added. | |
| int | pickShapeConstraint (PCB_CONSTRAINT_TYPE aType, const TOOL_EVENT &aEvent) |
| Author a whole-shape constraint by clicking its items on the canvas (the no-selection path). | |
| int | pickLinearConstraint (PCB_CONSTRAINT_TYPE aType, const TOOL_EVENT &aEvent) |
| Author a horizontal or vertical constraint from a whole segment or two point anchors Clicking a point first starts the two point path so a corner can be levelled. | |
| void | solveAddedConstraint (PCB_CONSTRAINT *aConstraint) |
| Solve a just-added constraint so the geometry snaps to satisfy it, in its own commit. | |
| PCB_CONSTRAINT * | hitTestBadge (const VECTOR2I &aPos) const |
The constraint whose badge is within the hit radius of aPos, or nullptr. | |
| void | setSelectedConstraint (PCB_CONSTRAINT *aConstraint) |
Mark aConstraint selected on the overlay and in the panel (nullptr clears). | |
| KIGFX::PCB_RENDER_SETTINGS * | pcbRenderSettings () const |
| The active PCB render settings, or nullptr when no painter is attached (headless). | |
| void | updateConstrainedItems (const BOARD_CONSTRAINT_DIAGNOSTICS &aDiag) |
| Stash the constrained-item set (the shadow-layer gate) into the render settings and repaint the overlay target. | |
| void | updateHighlightedConstraintMembers (PCB_CONSTRAINT *aConstraint) |
| Stash the selected constraint's members (the highlighted-shadow set) into the render settings and repaint the overlay target. | |
| void | repaintShadowItems (const std::unordered_set< KIID > &aOld, const std::unordered_set< KIID > &aNew) |
Re-cache the items whose shadow-set membership changed between aOld and aNew, so the cached constraint-shadow layer reflects the new set (a plain target-dirty would not rebuild it). | |
| void | updateConstraintMsgPanel (PCB_CONSTRAINT *aConstraint) |
| Show the selected constraint's type, items and state in the bottom message panel. | |
| void | refreshDiagnostics () |
| Mark the diagnosis and candidate caches stale (the model changed) and re-render the views. | |
| void | renderConstraintViews () |
| Re-render the shown views from the cached diagnosis without invalidating it – for a bare visibility change (a hover) that did not touch the model. | |
| const BOARD_CONSTRAINT_DIAGNOSTICS & | ensureDiagnosis () |
| The cached board diagnosis, solved only when the model changed since the last call, so a hover acquisition reuses the last solve instead of re-solving on every mouse move. | |
| const std::vector< PCB_SHAPE * > & | hoverCandidates () |
| The shapes referenced by any constraint, the hover-hit candidate set (cached per model). | |
| void | applyDiagnostics (const BOARD_CONSTRAINT_DIAGNOSTICS &aDiag) |
| Push an already-computed diagnosis into every shown view, so a caller that already solved does not solve again. | |
| void | removeConstraint (PCB_CONSTRAINT *aConstraint) |
| Remove a constraint in its own commit and refresh the diagnostics. | |
| PCB_CONSTRAINT * | resolveConstraint (const KIID &aId) const |
| Resolve a constraint by KIID against the live board, or nullptr. | |
| void | editConstraint (PCB_CONSTRAINT *aConstraint) |
| Open the value dialog for a constraint and, on accept, commit + re-solve + refresh. | |
| bool | allMembersLocked (const PCB_CONSTRAINT *aConstraint) const |
True if every item aConstraint references resolves and is locked (nothing the solver may move), so the relation was recorded but cannot adjust geometry. | |
| bool | isDuplicateConstraint (const PCB_CONSTRAINT *aConstraint) const |
True if the board already holds a constraint equal to aConstraint (same type and members), so authoring it would only add a redundant copy. | |
| void | resetTransitions () |
| Clear the current transition map and restores the default one created by setTransitions(). | |
| void | goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions) |
| EDA_ITEM * | getModelInternal () const |
| TOOLS_HOLDER * | getToolHolderInternal () const |
Private Attributes | |
| PCB_SELECTION_TOOL * | m_selectionTool |
| CONDITIONAL_MENU * | m_menu |
| std::unique_ptr< CONSTRAINT_OVERLAY > | m_overlay |
| BOARD_CONSTRAINT_DIAGNOSTICS | m_cachedDiag |
| Reused until the model changes. | |
| BOARD_CONSTRAINT_DIAGNOSER | m_diagnoser |
| Incremental board diagnoser for the hot edit path, so editing one shape re-solves only its own cluster instead of every cluster on the board. | |
| bool | m_diagDirty = true |
| std::optional< std::vector< PCB_SHAPE * > > | m_hoverCandidates |
| Constrained shapes, per model. | |
| std::map< PCB_CONSTRAINT_TYPE, double > | m_lastConstraintValue |
| Last value and driving choice per constraint type this session so same type runs keep one size Keyed by type so length and angle values never mix cleared on tool Reset. | |
| std::map< PCB_CONSTRAINT_TYPE, bool > | m_lastConstraintDriving |
Interactive authoring of geometric constraints (issue #2329).
Operates on the current selection: addConstraint creates a constraint of the type passed as the action parameter from the selected whole shapes; removeConstraints deletes every constraint that references a selected item. The selection-to-constraint logic lives in BuildConstraintFromItems so it can be unit-tested without the tool framework.
Definition at line 51 of file constraint_edit_tool.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 128 of file pcb_tool_base.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 73 of file tool_base.h.
| CONSTRAINT_EDIT_TOOL::CONSTRAINT_EDIT_TOOL | ( | ) |
Definition at line 123 of file constraint_edit_tool.cpp.
References m_menu, m_selectionTool, and PCB_TOOL_BASE::PCB_TOOL_BASE().
|
overridedefault |
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 61 of file tool_interactive.cpp.
References TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), and DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog().
| int CONSTRAINT_EDIT_TOOL::AddConstraint | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1128 of file constraint_edit_tool.cpp.
References BuildConstraintFromItems(), commitConstraint(), constraintParent(), HORIZONTAL, m_selectionTool, TOOL_EVENT::Parameter(), pickLinearConstraint(), pickShapeConstraint(), PCB_TOOL_BASE::selection(), and VERTICAL.
Referenced by setTransitions().
| int CONSTRAINT_EDIT_TOOL::AddPointConstraint | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1467 of file constraint_edit_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), anchor, PCB_TOOL_BASE::board(), BULLSEYE, PICKER_TOOL_BASE::ClearHandlers(), COINCIDENT, ConstraintAnchorPosition(), constraintParent(), finishConstraintCommit(), PCB_TOOL_BASE::frame(), isDuplicateConstraint(), KiROUND(), m_overlay, TOOL_BASE::m_toolMgr, MIDPOINT, NearestConstraintAnchor(), niluuid, TOOL_EVENT::Parameter(), pcbIUScale, ACTIONS::pickerTool, POINT_ON_LINE, PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), SYMMETRIC, TOOL_INTERACTIVE::Wait(), WHOLE, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
|
private |
True if every item aConstraint references resolves and is locked (nothing the solver may move), so the relation was recorded but cannot adjust geometry.
Definition at line 683 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), and PCB_CONSTRAINT::GetMembers().
Referenced by finishConstraintCommit().
|
private |
Push an already-computed diagnosis into every shown view, so a caller that already solved does not solve again.
Definition at line 551 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::frame(), m_overlay, and updateConstrainedItems().
Referenced by DiagnoseAfterMove(), and renderConstraintViews().
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 58 of file tool_base.cpp.
References m_toolMgr, and TOOL_MANAGER.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotectedinherited |
Definition at line 178 of file pcb_tool_base.h.
References TOOL_BASE::getModel().
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), CONSTRAINT_EDIT_TOOL::allMembersLocked(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), AUTOPLACE_TOOL::autoplaceOffboard(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_CONTROL::CollectAndEmbed3DModels(), CONSTRAINT_EDIT_TOOL::constraintParent(), MULTICHANNEL_TOOL::copyRuleAreaContents(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), CONSTRAINT_EDIT_TOOL::DiagnoseAfterMove(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), DRAWING_TOOL::drawShape(), EDIT_TOOL::Duplicate(), CONSTRAINT_EDIT_TOOL::ensureDiagnosis(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportCmpFile(), BOARD_EDITOR_CONTROL::ExportHyperlynx(), BOARD_EDITOR_CONTROL::ExportIDF(), BOARD_EDITOR_CONTROL::ExportNetlist(), BOARD_EDITOR_CONTROL::ExportSTEP(), BOARD_EDITOR_CONTROL::ExportVRML(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), MULTICHANNEL_TOOL::findComponentsInRuleArea(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), MULTICHANNEL_TOOL::fixupNet(), footprint(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), GENERATOR_TOOL::GenEditAction(), MULTICHANNEL_TOOL::GeneratePotentialRuleAreas(), GENERATOR_TOOL::GENERATOR_TOOL(), BOARD_EDITOR_CONTROL::GenFootprintsReport(), ROUTER_TOOL::handleLayerSwitch(), CONSTRAINT_EDIT_TOOL::HighlightConstraintMembers(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), CONSTRAINT_EDIT_TOOL::hitTestBadge(), CONSTRAINT_EDIT_TOOL::hoverCandidates(), CONSTRAINT_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), CONSTRAINT_EDIT_TOOL::isDuplicateConstraint(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PAD_TOOL::OnUndoRedo(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_CONTROL::pruneItemLayers(), MULTICHANNEL_TOOL::queryBoardItemsInGroup(), MULTICHANNEL_TOOL::queryComponentsInComponentClass(), MULTICHANNEL_TOOL::queryComponentsInGroup(), MULTICHANNEL_TOOL::queryComponentsInSheet(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), PCB_CONTROL::RehatchShapes(), CONSTRAINT_EDIT_TOOL::removeConstraint(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), CONSTRAINT_EDIT_TOOL::repaintShadowItems(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), MULTICHANNEL_TOOL::RepeatLayout(), CONSTRAINT_EDIT_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PCB_CONTROL::Reset(), PNS::TOOL_BASE::Reset(), CONSTRAINT_EDIT_TOOL::resolveConstraint(), BOARD_INSPECTION_TOOL::showBoardComparison(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), CONSTRAINT_EDIT_TOOL::solveAddedConstraint(), CONSTRAINT_EDIT_TOOL::SolveAfterEdit(), CONSTRAINT_EDIT_TOOL::SolveAfterMove(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::unfilledZoneCheck(), CONSTRAINT_EDIT_TOOL::updateConstraintMsgPanel(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
|
protectedinherited |
Definition at line 349 of file pcb_tool_base.cpp.
References frame().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::Init(), POSITION_RELATIVE_TOOL::InteractiveOffset(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::RatsnestModeCycle(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::refresh(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), ZONE_FILLER_TOOL::singleShotRefocus(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and ZONE_FILLER_TOOL::ZoneFillDirty().
| bool CONSTRAINT_EDIT_TOOL::ClearConstraintSelection | ( | ) |
Clear any badge-selected constraint. Returns true if a constraint was selected and is now cleared.
Definition at line 309 of file constraint_edit_tool.cpp.
References m_overlay, niluuid, and setSelectedConstraint().
Referenced by PCB_SELECTION_TOOL::Main().
|
private |
Confirm any value, reject a duplicate, and commit aConstraint. Returns true if it was added.
Definition at line 1161 of file constraint_edit_tool.cpp.
References _, COMMIT::Add(), finishConstraintCommit(), PCB_TOOL_BASE::frame(), DIALOG_CONSTRAINT_VALUE::GetConstraintValue(), DIALOG_CONSTRAINT_VALUE::GetDriving(), InitialConstraintValue(), isDuplicateConstraint(), m_lastConstraintDriving, m_lastConstraintValue, and DIALOG_SHIM::ShowModal().
Referenced by AddConstraint(), pickLinearConstraint(), and pickShapeConstraint().
|
private |
The owner a new constraint should be parented to (the footprint in the footprint editor).
Definition at line 317 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), BOARD::GetFirstFootprint(), and PCB_TOOL_BASE::IsFootprintEditor().
Referenced by AddConstraint(), AddPointConstraint(), pickLinearConstraint(), and pickShapeConstraint().
|
inlineprotectedinherited |
Definition at line 167 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawZone(), ROUTER_TOOL::finishInteractive(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::HighlightNetChain(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceTuningPattern(), ROUTER_TOOL::prepareInteractive(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
| void CONSTRAINT_EDIT_TOOL::DiagnoseAfterMove | ( | const std::vector< PCB_SHAPE * > & | aShapes | ) |
Re-diagnose and refresh the overlay and info bar after the caller re-solves aShapes into its own commit for example a live move drag solving each tick.
Definition at line 870 of file constraint_edit_tool.cpp.
References _, applyDiagnostics(), PCB_TOOL_BASE::board(), BoardHasConstraints(), PCB_TOOL_BASE::frame(), m_cachedDiag, m_diagDirty, m_diagnoser, EDA_ITEM::m_Uuid, OVER_CONSTRAINED, and BOARD_CONSTRAINT_DIAGNOSTICS::shapeStates.
Referenced by SolveAfterEdit(), and SolveAfterMove().
|
protectedinherited |
Definition at line 344 of file pcb_tool_base.cpp.
References frame().
Referenced by PCB_CONTROL::AppendBoard(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_CONTROL::RatsnestModeCycle(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), and PCB_CONTROL::ViaDisplayMode().
|
protectedinherited |
Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc.
More complex interactive processes are not supported here, you should implement a customised event loop for those.
| aItemCreator | the callable that will attempt to create the item |
| aCommitMessage | the message used on a successful commit |
Definition at line 39 of file pcb_tool_base.cpp.
References TOOL_INTERACTIVE::Activate(), KIGFX::PCB_VIEW::Add(), KIGFX::VIEW_GROUP::Add(), SELECTION::Add(), PCB_ACTIONS::angleSnapModeChanged, ARROW, board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), controls(), INTERACTIVE_PLACER_BASE::CreateItem(), DIRECT, PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), frame(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, GetAppSettings(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), KIGFX::VIEW_CONTROLS::GetMousePosition(), TOOL_BASE::getView(), grid, IPO_FLIP, IPO_REPEAT, IPO_ROTATE, IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_AngleSnapMode, INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, NO_RECURSE, PENCIL, PLACE, INTERACTIVE_PLACER_BASE::PlaceItem(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, selection(), ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_ITEM::SetFlags(), KIGFX::VIEW_CONTROLS::ShowCursor(), INTERACTIVE_PLACER_BASE::SnapItem(), TC_COMMAND, PCB_ACTIONS::trackViaSizeChanged, KIGFX::PCB_VIEW::Update(), view(), and TOOL_INTERACTIVE::Wait().
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DRAWING_TOOL::DrawVia(), PAD_TOOL::PlacePad(), and DRAWING_TOOL::PlacePoint().
|
private |
Open the value dialog for a constraint and, on accept, commit + re-solve + refresh.
Definition at line 604 of file constraint_edit_tool.cpp.
References EditConstraintValue(), PCB_TOOL_BASE::frame(), PCB_CONSTRAINT::GetConstraintType(), PCB_CONSTRAINT::GetValue(), PCB_CONSTRAINT::HasValue(), PCB_CONSTRAINT::IsDriving(), m_lastConstraintDriving, m_lastConstraintValue, and refreshDiagnostics().
Referenced by EditConstraintAt(), EditConstraintById(), and TryEditSelectedConstraint().
| bool CONSTRAINT_EDIT_TOOL::EditConstraintAt | ( | const VECTOR2I & | aPos | ) |
Open the value dialog for the constraint badged at aPos; returns true if one was hit.
Definition at line 296 of file constraint_edit_tool.cpp.
References editConstraint(), hitTestBadge(), and setSelectedConstraint().
Referenced by PCB_SELECTION_TOOL::Main().
| void CONSTRAINT_EDIT_TOOL::EditConstraintById | ( | const KIID & | aId | ) |
Definition at line 626 of file constraint_edit_tool.cpp.
References editConstraint(), PCB_CONSTRAINT::HasValue(), HighlightConstraintMembers(), and resolveConstraint().
|
private |
The cached board diagnosis, solved only when the model changed since the last call, so a hover acquisition reuses the last solve instead of re-solving on every mouse move.
Definition at line 374 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), m_cachedDiag, m_diagDirty, and m_diagnoser.
Referenced by finishConstraintCommit(), onHoverMotion(), renderConstraintViews(), and updateConstraintMsgPanel().
|
private |
Push aCommit, snap the geometry for the added constraints, and refresh the overlays.
Definition at line 718 of file constraint_edit_tool.cpp.
References _, allMembersLocked(), BOARD_CONSTRAINT_DIAGNOSTICS::conflicting, alg::contains(), ensureDiagnosis(), BOARD_CONSTRAINT_DIAGNOSTICS::errored, PCB_TOOL_BASE::frame(), BOARD_COMMIT::Push(), refreshDiagnostics(), and solveAddedConstraint().
Referenced by AddPointConstraint(), and commitConstraint().
|
inlineprotectedinherited |
Definition at line 180 of file pcb_tool_base.h.
References board(), and BOARD::GetFirstFootprint().
Referenced by AUTOPLACE_TOOL::autoplaceOffboard(), AUTOPLACE_TOOL::autoplaceSelected(), MICROWAVE_TOOL::createBaseFootprint(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawVia(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDITOR_CONTROL::EditLibraryFootprint(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportNetlist(), DRC_TOOL::FixDRCError(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), CONSTRAINT_EDIT_TOOL::hoverCandidates(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_INSPECTION_TOOL::makeDRCEngine(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), FOOTPRINT_EDITOR_CONTROL::Properties(), PAD_TOOL::pushPadSettings(), PCB_CONTROL::RehatchShapes(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), BOARD_INSPECTION_TOOL::reportClearance(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), DRAWING_TOOL::SetAnchor(), and FOOTPRINT_EDITOR_CONTROL::ShowDatasheet().
Definition at line 173 of file pcb_tool_base.h.
References TOOL_BASE::getEditFrame(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), CONSTRAINT_EDIT_TOOL::applyDiagnostics(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::BooleanPolygons(), canvas(), PCB_POINT_EDITOR::chamferCorner(), EDIT_TOOL::ChangeTrackLayer(), ZONE_FILLER_TOOL::CheckAllZones(), MULTICHANNEL_TOOL::CheckRACompatibility(), PNS::TOOL_BASE::checkSnap(), CONSTRAINT_EDIT_TOOL::commitConstraint(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), CONSTRAINT_EDIT_TOOL::DiagnoseAfterMove(), displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), CONSTRAINT_EDIT_TOOL::editConstraint(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), CONSTRAINT_EDIT_TOOL::finishConstraintCommit(), ROUTER_TOOL::finishInteractive(), DRC_TOOL::FixDRCErrorMenuText(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetAngleSnapMode(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), EDIT_TOOL::Init(), PCB_PICKER_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), CONVERT_TOOL::OutsetItems(), PAD_TOOL::PadTable(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlacePoint(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), PCB_POINT_EDITOR::removeCorner(), CONSTRAINT_EDIT_TOOL::renderConstraintViews(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::repeatLayout(), CONSTRAINT_EDIT_TOOL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PNS::TOOL_BASE::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_POINT_EDITOR::setEditedPoint(), CONSTRAINT_EDIT_TOOL::setSelectedConstraint(), ROUTER_TOOL::SettingsDialog(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), FOOTPRINT_EDITOR_CONTROL::ShowDatasheet(), BOARD_EDITOR_CONTROL::ShowEeschema(), GENERATOR_TOOL::ShowGeneratorsManager(), MULTICHANNEL_TOOL::ShowMismatchDetails(), EDIT_TOOL::SimplifyPolygons(), GLOBAL_EDIT_TOOL::swapBoardItem(), EDIT_TOOL::SwapGateNets(), GLOBAL_EDIT_TOOL::SwapLayers(), EDIT_TOOL::SwapPadNets(), ROUTER_TOOL::switchLayerOnViaPlacement(), EDIT_TOOL::ToggleFootprintAttribute(), CONSTRAINT_EDIT_TOOL::updateConstraintMsgPanel(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), DIFF_PHASE_SKEW_TOOL::updateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
inherited |
Get the current angle snapping mode.
Definition at line 381 of file pcb_tool_base.cpp.
References frame(), FRAME_PCB_EDITOR, and GetAppSettings().
Referenced by EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), Is45Limited(), Is90Limited(), and DRAWING_TOOL::UpdateStatusBar().
Return the application window object, casted to requested user type.
Definition at line 182 of file tool_base.h.
References getToolHolderInternal(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_EDITOR_CONTROL::BoardSetup(), PCB_POINT_EDITOR::chamferCorner(), PCB_POINT_EDITOR::changeArcEditMode(), ZONE_FILLER_TOOL::CheckAllZones(), FOOTPRINT_EDITOR_CONTROL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupTracksAndVias(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), MICROWAVE_TOOL::drawMicrowaveInductor(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_SELECTION_TOOL::editFrame(), GLOBAL_EDIT_TOOL::EditTeardrops(), FOOTPRINT_EDITOR_CONTROL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), EDIT_TOOL::EditVertices(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FOOTPRINT_WIZARD_TOOLS::frame(), PCB_SELECTION_TOOL::frame(), PCB_TEST_SELECTION_TOOL::frame(), PCB_TOOL_BASE::frame(), PCB_VIEWER_TOOLS::frame(), SCH_TOOL_BASE< T >::frame(), BOARD_EDITOR_CONTROL::GenerateDrillFiles(), BOARD_EDITOR_CONTROL::GeneratePosFile(), GLOBAL_EDIT_TOOL::GlobalDeletions(), PCB_CONTROL::GridPlaceOrigin(), BOARD_EDITOR_CONTROL::ImportNetlist(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), GERBVIEW_SELECTION_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_EDITOR_CONTROL::Init(), PL_POINT_EDITOR::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GLOBAL_EDIT_TOOL::Migrate3DModels(), PCB_POINT_EDITOR::movePoint(), BOARD_EDITOR_CONTROL::OnAngleSnapModeChanged(), FOOTPRINT_EDITOR_CONTROL::OnAngleSnapModeChanged(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelative(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), FOOTPRINT_EDITOR_CONTROL::Properties(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), BITMAP2CMP_CONTROL::Reset(), BOARD_EDITOR_CONTROL::Reset(), BOARD_INSPECTION_TOOL::Reset(), BOARD_REANNOTATE_TOOL::Reset(), COMMON_CONTROL::Reset(), COMMON_TOOLS::Reset(), CVPCB_ASSOCIATION_TOOL::Reset(), CVPCB_CONTROL::Reset(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Reset(), DESIGN_BLOCK_CONTROL::Reset(), DRAWING_TOOL::Reset(), DRC_RULE_EDITOR_TOOL::Reset(), DRC_TOOL::Reset(), EDIT_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Reset(), GERBVIEW_CONTROL::Reset(), GERBVIEW_INSPECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), GROUP_TOOL::Reset(), KICAD_MANAGER_CONTROL::Reset(), LIBRARY_EDITOR_CONTROL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_DRAWING_TOOLS::Reset(), PL_EDIT_TOOL::Reset(), PL_EDITOR_CONTROL::Reset(), PL_POINT_EDITOR::Reset(), PL_SELECTION_TOOL::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), SIMULATOR_CONTROL::Reset(), ZOOM_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Revert(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), BOARD_EDITOR_CONTROL::ToggleConstraintsPanel(), BOARD_EDITOR_CONTROL::ToggleLayersManager(), BOARD_EDITOR_CONTROL::ToggleLibraryTree(), BOARD_EDITOR_CONTROL::ToggleNetInspector(), BOARD_EDITOR_CONTROL::ToggleProperties(), BOARD_EDITOR_CONTROL::ToggleSearch(), PROPERTIES_TOOL::UpdateProperties(), ZONE_FILLER_TOOL::ZoneFillDirty(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 119 of file tool_base.h.
References m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 142 of file tool_base.h.
References m_toolMgr, and TOOL_MANAGER.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditCancel(), PCB_TUNING_PATTERN::EditFinish(), PCB_TUNING_PATTERN::EditStart(), makeShapeModificationMenu(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
Return the model object if it matches the requested type.
Definition at line 195 of file tool_base.h.
References getModelInternal(), and T.
Referenced by BOARD_EDITOR_CONTROL::AutoTrackWidth(), PCB_SELECTION_TOOL::board(), PCB_TEST_SELECTION_TOOL::board(), PCB_TOOL_BASE::board(), PCB_VIEWER_TOOLS::board(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::filterSelection(), PCB_GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::HideLocalRatsnest(), EMBED_TOOL::Init(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::pushPadSettings(), BOARD_EDITOR_CONTROL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), EMBED_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::selectPoint(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
privateinherited |
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 132 of file tool_base.h.
References m_toolName.
Referenced by PCB_CONTROL::AppendBoard(), TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), SCH_TOOL_BASE< SCH_BASE_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().
|
privateinherited |
|
inherited |
Definition at line 108 of file tool_interactive.cpp.
References m_menu.
Referenced by BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), GENERATOR_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), and SYMBOL_EDITOR_EDIT_TOOL::Init().
|
inlineinherited |
Return the type of the tool.
Definition at line 107 of file tool_base.h.
References m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), TOOL_MANAGER::ShutdownTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 34 of file tool_base.cpp.
References m_toolMgr.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::CollectHits(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SCH_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PCB_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), SCH_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), CONSTRAINT_EDIT_TOOL::hitTestBadge(), PCB_SELECTION_TOOL::hitTestDistance(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PL_POINT_EDITOR::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), PL_EDIT_TOOL::Paste(), CONSTRAINT_EDIT_TOOL::pcbRenderSettings(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), CONSTRAINT_EDIT_TOOL::repaintShadowItems(), BOARD_EDITOR_CONTROL::Reset(), CONSTRAINT_EDIT_TOOL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_POINT_EDITOR::Reset(), PNS::TOOL_BASE::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectConnection(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), CONSTRAINT_EDIT_TOOL::ShowConstraints(), SCH_SELECTION_TOOL::SyncSelection(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), SCH_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), SCH_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TEST_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL(), and SCH_SELECTION_TOOL::~SCH_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 40 of file tool_base.cpp.
References m_toolMgr.
Referenced by PCB_POINT_EDITOR::addCorner(), SCH_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TEST_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), EDIT_TOOL::copyToClipboard(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), COMMON_TOOLS::doZoomToPreset(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_TOOL_BASE< T >::Increment(), EDIT_TOOL::Init(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Properties(), PL_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_SELECTION_TOOL::selectCursor(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::SelectNode(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PCB_PICKER_TOOL::setControls(), PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 143 of file tool_interactive.h.
References goInternal(), and T.
Referenced by ALIGN_DISTRIBUTE_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), CONSTRAINT_EDIT_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DIFF_PHASE_SKEW_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_RULE_EDITOR_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDA_3D_CONTROLLER::setTransitions(), EDIT_TOOL::setTransitions(), EMBED_TOOL::setTransitions(), FOOTPRINT_CHOOSER_SELECTION_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), FOOTPRINT_WIZARD_TOOLS::setTransitions(), GENERATOR_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MICROWAVE_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_DESIGN_BLOCK_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_TEST_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().
|
privateinherited |
Definition at line 80 of file tool_interactive.cpp.
Referenced by Go().
| void CONSTRAINT_EDIT_TOOL::HighlightConstraintMembers | ( | const KIID & | aId, |
| int | aMemberIndex ) |
Definition at line 645 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), PCB_CONSTRAINT::GetMembers(), m_overlay, m_selectionTool, TOOL_BASE::m_toolMgr, resolveConstraint(), setSelectedConstraint(), and ACTIONS::zoomFitSelection.
Referenced by EditConstraintById(), and PANEL_CONSTRAINTS::onLeftDown().
|
private |
The constraint whose badge is within the hit radius of aPos, or nullptr.
Definition at line 182 of file constraint_edit_tool.cpp.
References CONSTRAINT_OVERLAY::BadgeHitRadius(), CONSTRAINT_OVERLAY::BadgeWorldPerPixel(), PCB_TOOL_BASE::board(), TOOL_BASE::getView(), CONSTRAINT_OVERLAY::LayoutBadges(), m_overlay, BOARD::ResolveItem(), and result.
Referenced by EditConstraintAt(), and SelectConstraintAt().
|
private |
The shapes referenced by any constraint, the hover-hit candidate set (cached per model).
Definition at line 386 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::footprint(), and m_hoverCandidates.
Referenced by onHoverMotion().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from PCB_TOOL_BASE.
Definition at line 961 of file constraint_edit_tool.cpp.
References _HKI, PCB_ACTIONS::addConstraintAngular, PCB_ACTIONS::addConstraintArcAngle, PCB_ACTIONS::addConstraintCollinear, PCB_ACTIONS::addConstraintConcentric, PCB_ACTIONS::addConstraintEqualLength, PCB_ACTIONS::addConstraintEqualRadius, PCB_ACTIONS::addConstraintFixedLength, PCB_ACTIONS::addConstraintFixedRadius, PCB_ACTIONS::addConstraintHorizontal, PCB_ACTIONS::addConstraintParallel, PCB_ACTIONS::addConstraintPerpendicular, PCB_ACTIONS::addConstraintTangent, PCB_ACTIONS::addConstraintVertical, CONDITIONAL_MENU::AddMenu(), ALWAYS, ARC, PCB_TOOL_BASE::board(), CIRCLE, PCB_ACTIONS::ConstraintAddActions(), SELECTION_CONDITIONS::Count(), ELLIPSE, ELLIPSE_ARC, BOARD::GetFirstFootprint(), PCB_CONSTRAINT::GetMembers(), PCB_ACTIONS::hideConstraints, HOVER, PCB_TOOL_BASE::IsFootprintEditor(), m_menu, m_overlay, m_selectionTool, TOOL_BASE::m_toolMgr, PCB_ACTIONS::manageConstraints, measurement, SELECTION_CONDITIONS::OnlyTypes(), PCB_SHAPE_LOCATE_SEGMENT_T, PCB_SHAPE_T, PCB_ACTIONS::removeConstraints, SEGMENT, SELECTION_CONDITIONS::ShowAlways(), PCB_ACTIONS::showConstraints, and UNDEFINED.
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 371 of file pcb_tool_base.cpp.
References DIRECT, and GetAngleSnapMode().
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
virtualinherited |
Should the tool limit drawing to horizontal and vertical only?
Definition at line 376 of file pcb_tool_base.cpp.
References DEG90, and GetAngleSnapMode().
Referenced by PCB_POINT_EDITOR::OnSelectionChange(), and PCB_POINT_EDITOR::setAltConstraint().
|
inlineinherited |
Definition at line 106 of file pcb_tool_base.h.
References m_isBoardEditor.
|
private |
True if the board already holds a constraint equal to aConstraint (same type and members), so authoring it would only add a redundant copy.
Definition at line 697 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), ConstraintsAreDuplicate(), and BOARD::GetFirstFootprint().
Referenced by AddPointConstraint(), and commitConstraint().
|
inlineinherited |
Definition at line 103 of file pcb_tool_base.h.
References m_isFootprintEditor.
Referenced by CONSTRAINT_EDIT_TOOL::constraintParent(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), CONSTRAINT_EDIT_TOOL::Init(), CONVERT_TOOL::OutsetItems(), PCB_GRID_HELPER::queryVisible(), and CONSTRAINT_EDIT_TOOL::RemoveConstraints().
|
inherited |
Definition at line 28 of file tool_base.cpp.
References m_toolId, and m_toolMgr.
Referenced by EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
| int CONSTRAINT_EDIT_TOOL::ManageConstraints | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 920 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::frame(), m_selectionTool, removeConstraint(), and DIALOG_SHIM::ShowModal().
Referenced by setTransitions().
| int CONSTRAINT_EDIT_TOOL::onHoverMotion | ( | const TOOL_EVENT & | aEvent | ) |
In HOVER mode, reveal the constraints of the shape under the cursor (nothing when none).
Definition at line 426 of file constraint_edit_tool.cpp.
References CONSTRAINT_OVERLAY::BadgeHitRadius(), CONSTRAINT_OVERLAY::BadgeWorldPerPixel(), PCB_TOOL_BASE::board(), BoardHasConstraints(), cursor, ensureDiagnosis(), KIGFX::VIEW_CONTROLS::GetMousePosition(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), HOVER, hoverCandidates(), KiROUND(), CONSTRAINT_OVERLAY::LayoutBadges(), m_overlay, NearestConstrainedShape(), niluuid, and KIGFX::VIEW::ToWorld().
Referenced by setTransitions().
| int CONSTRAINT_EDIT_TOOL::onSelectionChanged | ( | const TOOL_EVENT & | aEvent | ) |
Clear stale badge/isolation state when the board selection changes.
Definition at line 167 of file constraint_edit_tool.cpp.
References m_overlay, m_selectionTool, niluuid, and setSelectedConstraint().
Referenced by setTransitions().
|
private |
The active PCB render settings, or nullptr when no painter is attached (headless).
Definition at line 471 of file constraint_edit_tool.cpp.
References KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), and TOOL_BASE::getView().
Referenced by updateConstrainedItems(), and updateHighlightedConstraintMembers().
|
private |
Author a horizontal or vertical constraint from a whole segment or two point anchors Clicking a point first starts the two point path so a corner can be levelled.
Definition at line 1342 of file constraint_edit_tool.cpp.
References TOOL_INTERACTIVE::Activate(), anchor, PCB_TOOL_BASE::board(), BULLSEYE, PICKER_TOOL_BASE::ClearHandlers(), commitConstraint(), ConstraintAnchorPosition(), constraintParent(), KiROUND(), m_overlay, TOOL_BASE::m_toolMgr, NearestConstraintAnchor(), pcbIUScale, ACTIONS::pickerTool, PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), TOOL_INTERACTIVE::Wait(), WHOLE, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by AddConstraint().
|
private |
Author a whole-shape constraint by clicking its items on the canvas (the no-selection path).
Definition at line 1211 of file constraint_edit_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), ARC_ANGLE, PCB_TOOL_BASE::board(), BuildConstraintFromItems(), BULLSEYE, PICKER_TOOL_BASE::ClearHandlers(), commitConstraint(), CONCENTRIC, constraintParent(), ConstraintTypeLabel(), alg::contains(), EQUAL_RADIUS, FIXED_LENGTH, FIXED_RADIUS, PCB_TOOL_BASE::frame(), HORIZONTAL, KiROUND(), m_overlay, TOOL_BASE::m_toolMgr, niluuid, pcbIUScale, ACTIONS::pickerTool, PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), TANGENT, VERTICAL, TOOL_INTERACTIVE::Wait(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by AddConstraint().
|
private |
Mark the diagnosis and candidate caches stale (the model changed) and re-render the views.
Definition at line 326 of file constraint_edit_tool.cpp.
References m_diagDirty, m_hoverCandidates, and renderConstraintViews().
Referenced by editConstraint(), finishConstraintCommit(), refreshOverlay(), removeConstraint(), RemoveConstraints(), Reset(), and ShowConstraints().
| int CONSTRAINT_EDIT_TOOL::refreshOverlay | ( | const TOOL_EVENT & | aEvent | ) |
Refresh the diagnostics overlay if it is currently shown.
Definition at line 951 of file constraint_edit_tool.cpp.
References m_diagDirty, TOOL_EVENT::PassEvent(), and refreshDiagnostics().
Referenced by setTransitions().
|
private |
Remove a constraint in its own commit and refresh the diagnostics.
Definition at line 567 of file constraint_edit_tool.cpp.
References _, PCB_TOOL_BASE::board(), PCB_CONSTRAINT::GetMembers(), BOARD_COMMIT::Push(), refreshDiagnostics(), COMMIT::Remove(), and SolveAfterMove().
Referenced by ManageConstraints(), RemoveConstraintById(), and TryDeleteSelectedConstraint().
| void CONSTRAINT_EDIT_TOOL::RemoveConstraintById | ( | const KIID & | aId | ) |
Intent entry points for the constraints panel, so it never mutates the board or the selection itself – the tool stays the single owner of constraint edit/remove/highlight + refresh.
Definition at line 597 of file constraint_edit_tool.cpp.
References removeConstraint(), and resolveConstraint().
| int CONSTRAINT_EDIT_TOOL::RemoveConstraints | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1617 of file constraint_edit_tool.cpp.
References _, PCB_TOOL_BASE::board(), PCB_TOOL_BASE::IsFootprintEditor(), m_selectionTool, BOARD_COMMIT::Push(), refreshDiagnostics(), COMMIT::Remove(), and PCB_TOOL_BASE::selection().
Referenced by setTransitions().
|
private |
Re-render the shown views from the cached diagnosis without invalidating it – for a bare visibility change (a hover) that did not touch the model.
Definition at line 336 of file constraint_edit_tool.cpp.
References ALWAYS, applyDiagnostics(), ensureDiagnosis(), PCB_TOOL_BASE::frame(), m_overlay, niluuid, updateConstrainedItems(), and updateHighlightedConstraintMembers().
Referenced by refreshDiagnostics().
|
private |
Re-cache the items whose shadow-set membership changed between aOld and aNew, so the cached constraint-shadow layer reflects the new set (a plain target-dirty would not rebuild it).
Definition at line 523 of file constraint_edit_tool.cpp.
References KIGFX::ALL, PCB_TOOL_BASE::board(), TOOL_BASE::getView(), repaint, and KIGFX::VIEW::Update().
Referenced by updateConstrainedItems(), and updateHighlightedConstraintMembers().
|
overridevirtual |
Bring the tool to a known, initial state.
If the tool claimed anything from the model or the view, it must release it when its reset.
| aReason | contains information about the reason of tool reset. |
Reimplemented from PCB_TOOL_BASE.
Definition at line 131 of file constraint_edit_tool.cpp.
References ALWAYS, PCB_TOOL_BASE::board(), PCB_TOOL_BASE::frame(), TOOL_BASE::getView(), HOVER, m_diagnoser, m_lastConstraintDriving, m_lastConstraintValue, m_overlay, TOOL_BASE::MODEL_RELOAD, refreshDiagnostics(), TOOL_BASE::SHUTDOWN, and TOOL_BASE::SUPERMODEL_RELOAD.
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 73 of file tool_interactive.cpp.
|
private |
Resolve a constraint by KIID against the live board, or nullptr.
Definition at line 588 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::board(), niluuid, and BOARD::ResolveItem().
Referenced by EditConstraintById(), HighlightConstraintMembers(), RemoveConstraintById(), TryDeleteSelectedConstraint(), and TryEditSelectedConstraint().
|
inherited |
Call a function using the main stack.
| aFunc | is the function to be calls. |
Definition at line 102 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawTable(), KICAD_MANAGER_CONTROL::NewProject(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), BOARD_EDITOR_CONTROL::ShowEeschema(), and BOARD_EDITOR_CONTROL::UpdatePCBFromSchematic().
| bool CONSTRAINT_EDIT_TOOL::SelectConstraintAt | ( | const VECTOR2I & | aPos | ) |
Select the constraint whose on-canvas badge is at aPos (enlarge it, highlight the panel row); returns true if a badge was hit.
Called by the selection tool so badge clicks work mode-lessly while the diagnostics overlay is shown.
Definition at line 282 of file constraint_edit_tool.cpp.
References hitTestBadge(), m_selectionTool, and setSelectedConstraint().
|
protectedinherited |
Definition at line 363 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 355 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.
Referenced by CONSTRAINT_EDIT_TOOL::AddConstraint(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::copyToClipboardAsText(), ARRAY_TOOL::CreateArray(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), EDIT_TOOL::EditVertices(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), DRAWING_TOOL::getSourceZoneForAction(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), EDIT_TOOL::Increment(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::JustifyText(), PCB_CONTROL::LayerPresetFeedback(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), PCB_CONTROL::SaveToLinkedDesignBlock(), CONVERT_TOOL::SegmentToArc(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), and BOARD_EDITOR_CONTROL::ZonePriorityRaise().
|
inherited |
Assign a context menu and tells when it should be activated.
| aMenu | is the menu to be assigned. |
| aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 91 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), and DRAWING_TOOL::DrawVia().
|
inlineinherited |
Definition at line 105 of file pcb_tool_base.h.
References m_isBoardEditor.
|
inlineinherited |
Function SetIsFootprintEditor()
Toggles edit footprint mode. When enabled, one may select parts of footprints individually (graphics, pads, etc.), so they can be modified.
| aEnabled | decides if the mode should be enabled. |
Definition at line 102 of file pcb_tool_base.h.
References m_isFootprintEditor.
|
private |
Mark aConstraint selected on the overlay and in the panel (nullptr clears).
Definition at line 211 of file constraint_edit_tool.cpp.
References PCB_TOOL_BASE::frame(), m_overlay, EDA_ITEM::m_Uuid, niluuid, updateConstraintMsgPanel(), and updateHighlightedConstraintMembers().
Referenced by ClearConstraintSelection(), EditConstraintAt(), HighlightConstraintMembers(), onSelectionChanged(), SelectConstraintAt(), TryDeleteSelectedConstraint(), and TryEditSelectedConstraint().
|
overrideprivatevirtual |
This method is meant to be overridden in order to specify handlers for events.
It is called every time tool is reset or finished.
Reimplemented from PCB_TOOL_BASE.
Definition at line 1665 of file constraint_edit_tool.cpp.
References AddConstraint(), PCB_ACTIONS::addConstraintAngular, PCB_ACTIONS::addConstraintArcAngle, PCB_ACTIONS::addConstraintCoincident, PCB_ACTIONS::addConstraintCollinear, PCB_ACTIONS::addConstraintConcentric, PCB_ACTIONS::addConstraintEqualLength, PCB_ACTIONS::addConstraintEqualRadius, PCB_ACTIONS::addConstraintFixedLength, PCB_ACTIONS::addConstraintFixedRadius, PCB_ACTIONS::addConstraintHorizontal, PCB_ACTIONS::addConstraintMidpoint, PCB_ACTIONS::addConstraintParallel, PCB_ACTIONS::addConstraintPerpendicular, PCB_ACTIONS::addConstraintPointOnLine, PCB_ACTIONS::addConstraintSymmetric, PCB_ACTIONS::addConstraintTangent, PCB_ACTIONS::addConstraintVertical, AddPointConstraint(), EVENTS::ClearedEvent, TOOL_INTERACTIVE::Go(), PCB_ACTIONS::hideConstraints, ManageConstraints(), PCB_ACTIONS::manageConstraints, onHoverMotion(), onSelectionChanged(), refreshOverlay(), RemoveConstraints(), PCB_ACTIONS::removeConstraints, EVENTS::SelectedEvent, ShowConstraints(), PCB_ACTIONS::showConstraints, TA_MODEL_CHANGE, TA_MOUSE_MOTION, TC_MESSAGE, TC_MOUSE, EVENTS::UndoRedoPostEvent, and EVENTS::UnselectedEvent.
| int CONSTRAINT_EDIT_TOOL::ShowConstraints | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 895 of file constraint_edit_tool.cpp.
References ALWAYS, PCB_TOOL_BASE::board(), PCB_TOOL_BASE::frame(), TOOL_BASE::getView(), HOVER, TOOL_EVENT::IsAction(), m_overlay, niluuid, refreshDiagnostics(), and PCB_ACTIONS::showConstraints.
Referenced by setTransitions().
|
private |
Solve a just-added constraint so the geometry snaps to satisfy it, in its own commit.
Definition at line 811 of file constraint_edit_tool.cpp.
References _, APPEND_UNDO, ApplyConstraintImmediately(), PCB_TOOL_BASE::board(), COMMIT::Empty(), COMMIT::Modify(), and BOARD_COMMIT::Push().
Referenced by finishConstraintCommit().
| void CONSTRAINT_EDIT_TOOL::SolveAfterEdit | ( | const std::vector< PCB_SHAPE * > & | aShapes | ) |
Re-solve after a panel or dialog edit holding aShapes fixed so typed values survive Only their constrained neighbors move folded into the same undo.
Definition at line 849 of file constraint_edit_tool.cpp.
References _, APPEND_UNDO, PCB_TOOL_BASE::board(), BoardHasConstraints(), DiagnoseAfterMove(), COMMIT::Empty(), COMMIT::Modify(), BOARD_COMMIT::Push(), and ReSolveShapeClustersHoldingEdited().
| void CONSTRAINT_EDIT_TOOL::SolveAfterMove | ( | const std::vector< PCB_SHAPE * > & | aShapes | ) |
Re-solve the clusters of aShapes after a whole-shape edit, folded into that edit's undo.
Definition at line 828 of file constraint_edit_tool.cpp.
References _, APPEND_UNDO, PCB_TOOL_BASE::board(), BoardHasConstraints(), DiagnoseAfterMove(), COMMIT::Empty(), COMMIT::Modify(), BOARD_COMMIT::Push(), and ReSolveShapeClusters().
Referenced by removeConstraint(), and EDIT_TOOL::reSolveConstraintsAfterEdit().
| bool CONSTRAINT_EDIT_TOOL::TryDeleteSelectedConstraint | ( | ) |
Delete the currently badge-selected constraint; returns true if one was selected and removed.
Called by EDIT_TOOL::Remove so the Delete key targets a selected relation.
Definition at line 769 of file constraint_edit_tool.cpp.
References m_overlay, niluuid, removeConstraint(), resolveConstraint(), and setSelectedConstraint().
Referenced by EDIT_TOOL::Remove().
| bool CONSTRAINT_EDIT_TOOL::TryEditSelectedConstraint | ( | ) |
Edit the currently badge-selected constraint's value; returns true if one was selected.
Called by EDIT_TOOL::Properties so the Edit key targets a selected relation.
Definition at line 789 of file constraint_edit_tool.cpp.
References editConstraint(), m_overlay, niluuid, resolveConstraint(), and setSelectedConstraint().
Referenced by EDIT_TOOL::Properties().
|
private |
Stash the constrained-item set (the shadow-layer gate) into the render settings and repaint the overlay target.
Pass an empty diagnosis to clear it.
Definition at line 480 of file constraint_edit_tool.cpp.
References KIGFX::PCB_RENDER_SETTINGS::GetConstrainedItems(), pcbRenderSettings(), repaintShadowItems(), KIGFX::PCB_RENDER_SETTINGS::SetConstrainedItems(), and BOARD_CONSTRAINT_DIAGNOSTICS::shapeStates.
Referenced by applyDiagnostics(), and renderConstraintViews().
|
private |
Show the selected constraint's type, items and state in the bottom message panel.
Restore the default board readout when nothing is selected.
Definition at line 235 of file constraint_edit_tool.cpp.
References _, PCB_TOOL_BASE::board(), BOARD_CONSTRAINT_DIAGNOSTICS::conflicting, ConstraintDisplayLabel(), ConstraintMemberLabel(), alg::contains(), ensureDiagnosis(), BOARD_CONSTRAINT_DIAGNOSTICS::errored, PCB_TOOL_BASE::frame(), PCB_CONSTRAINT::GetMembers(), m_selectionTool, EDA_ITEM::m_Uuid, and BOARD_CONSTRAINT_DIAGNOSTICS::redundant.
Referenced by setSelectedConstraint().
|
private |
Stash the selected constraint's members (the highlighted-shadow set) into the render settings and repaint the overlay target.
Pass nullptr to clear it.
Definition at line 500 of file constraint_edit_tool.cpp.
References KIGFX::PCB_RENDER_SETTINGS::GetHighlightedConstraintMembers(), PCB_CONSTRAINT::GetMembers(), pcbRenderSettings(), repaintShadowItems(), and KIGFX::PCB_RENDER_SETTINGS::SetHighlightedConstraintMembers().
Referenced by renderConstraintViews(), and setSelectedConstraint().
|
inlineprotectedinherited |
Definition at line 162 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), BOARD_INSPECTION_TOOL::CompareBoardWithHistory(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawVia(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::performDragging(), PCB_CONTROL::RehatchShapes(), PCB_POINT_EDITOR::Reset(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), BOARD_INSPECTION_TOOL::showBoardComparison(), PCB_CONTROL::TrackDisplayMode(), PCB_POINT_EDITOR::updateItem(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 67 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), and DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew().
|
private |
Reused until the model changes.
Definition at line 198 of file constraint_edit_tool.h.
Referenced by DiagnoseAfterMove(), and ensureDiagnosis().
|
private |
Definition at line 203 of file constraint_edit_tool.h.
Referenced by DiagnoseAfterMove(), ensureDiagnosis(), refreshDiagnostics(), and refreshOverlay().
|
private |
Incremental board diagnoser for the hot edit path, so editing one shape re-solves only its own cluster instead of every cluster on the board.
Definition at line 202 of file constraint_edit_tool.h.
Referenced by DiagnoseAfterMove(), ensureDiagnosis(), and Reset().
|
private |
Constrained shapes, per model.
Definition at line 204 of file constraint_edit_tool.h.
Referenced by hoverCandidates(), and refreshDiagnostics().
|
protectedinherited |
Definition at line 195 of file pcb_tool_base.h.
Referenced by IsBoardEditor(), PCB_TOOL_BASE(), PCB_TOOL_BASE(), PCB_CONTROL::placeBoardItems(), SetIsBoardEditor(), and PCB_CONTROL::UpdateMessagePanel().
|
protectedinherited |
Definition at line 194 of file pcb_tool_base.h.
Referenced by EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), EDIT_TOOL::Increment(), EDIT_TOOL::Init(), PAD_TOOL::Init(), PCB_CONTROL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), IsFootprintEditor(), PCB_POINT_EDITOR::makePoints(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_TOOL_BASE(), PCB_TOOL_BASE(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlacePoint(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), PCB_CONTROL::Print(), PCB_CONTROL::pruneItemLayers(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Rotate(), DRAWING_TOOL::runSimpleShapeDraw(), DRAWING_TOOL::SetAnchor(), SetIsFootprintEditor(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PCB_CONTROL::SnapMode(), PCB_CONTROL::SnapModeFeedback(), and EDIT_TOOL::updateModificationPoint().
|
private |
Definition at line 209 of file constraint_edit_tool.h.
Referenced by commitConstraint(), editConstraint(), and Reset().
|
private |
Last value and driving choice per constraint type this session so same type runs keep one size Keyed by type so length and angle values never mix cleared on tool Reset.
Definition at line 208 of file constraint_edit_tool.h.
Referenced by commitConstraint(), editConstraint(), and Reset().
|
private |
Definition at line 196 of file constraint_edit_tool.h.
Referenced by CONSTRAINT_EDIT_TOOL(), and Init().
|
private |
Definition at line 197 of file constraint_edit_tool.h.
Referenced by AddPointConstraint(), applyDiagnostics(), ClearConstraintSelection(), HighlightConstraintMembers(), hitTestBadge(), Init(), onHoverMotion(), onSelectionChanged(), pickLinearConstraint(), pickShapeConstraint(), renderConstraintViews(), Reset(), setSelectedConstraint(), ShowConstraints(), TryDeleteSelectedConstraint(), and TryEditSelectedConstraint().
|
private |
Definition at line 195 of file constraint_edit_tool.h.
Referenced by AddConstraint(), CONSTRAINT_EDIT_TOOL(), HighlightConstraintMembers(), Init(), ManageConstraints(), onSelectionChanged(), RemoveConstraints(), SelectConstraintAt(), and updateConstraintMsgPanel().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), GetId(), IsToolActive(), and TOOL_BASE().
|
protectedinherited |
Definition at line 220 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), GROUP_TOOL::AddToGroup(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), attachManager(), SCH_SELECTION_TOOL::autostartEvent(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), BOARD_EDITOR_CONTROL::ChangeLineMode(), FOOTPRINT_EDITOR_CONTROL::ChangeLineMode(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::drawManagedShape(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PCB_SELECTION_TOOL::EnterGroup(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), KICAD_MANAGER_CONTROL::Execute(), PCB_SELECTION_TOOL::ExitGroup(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), EDA_3D_CONTROLLER::ExportImage(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), BOARD_EDITOR_CONTROL::GenerateODBPPFiles(), EDIT_TOOL::GetAndPlace(), GetManager(), getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), getToolHolderInternal(), PCB_EDIT_TABLE_TOOL::getToolMgr(), getView(), getViewControls(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), PCB_GROUP_TOOL::Group(), SCH_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::HighContrastModeCycle(), CONSTRAINT_EDIT_TOOL::HighlightConstraintMembers(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONSTRAINT_EDIT_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_VIEWER_TOOLS::NextLineMode(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), EDIT_TOOL::reSolveConstraintsAfterEdit(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), PCB_SELECTION_TOOL::selectNetChain(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), PCB_SELECTION_TOOL::SetSelectPoly(), SCH_SELECTION_TOOL::SetSelectPoly(), PCB_SELECTION_TOOL::SetSelectRect(), SCH_SELECTION_TOOL::SetSelectRect(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDIT_TOOL::ToggleFootprintAttribute(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), PCB_SELECTION_TOOL::toggleTableCellSelection(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 219 of file tool_base.h.
Referenced by GetName(), and TOOL_BASE().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by GetType(), and TOOL_BASE().