|
KiCad PCB EDA Suite
|
Generic tool for picking an item. More...
#include <pcb_picker_tool.h>
Classes | |
| struct | INTERACTIVE_PARAMS |
| class | RECEIVER |
| Interface class for something that receives picked points or items from this tool. More... | |
Public Types | |
| enum | RESET_REASON { RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH , REDRAW , SHUTDOWN } |
| Determine the reason of reset for a tool. More... | |
| enum | pickerEndState { WAIT_CANCEL , CLICK_CANCEL , END_ACTIVATE , EVT_CANCEL , EXCEPTION_CANCEL } |
| typedef std::function< bool(const VECTOR2D &)> | CLICK_HANDLER |
| Event handler types. | |
| typedef std::function< void(const VECTOR2D &)> | MOTION_HANDLER |
| typedef std::function< void(void)> | CANCEL_HANDLER |
| typedef std::function< void(const int &)> | FINALIZE_HANDLER |
| typedef std::function< bool(void)> | AREA_HANDLER |
| Called once a rubber-band drag has left its result in the selection. | |
Public Member Functions | |
| PCB_PICKER_TOOL () | |
| virtual | ~PCB_PICKER_TOOL ()=default |
| Init() is called once upon a registration of the tool. | |
| bool | Init () override |
| Main event loop. | |
| int | Main (const TOOL_EVENT &aEvent) |
| void | SetLayerSet (const LSET &aLayerSet) |
| Set the tool's snap layer set. | |
| int | SelectPointInteractively (const TOOL_EVENT &aEvent) |
| int | SelectItemInteractively (const TOOL_EVENT &aEvent) |
| void | SetAreaPreviewHandler (PCB_SELECTION_TOOL::AREA_PREVIEW aHandler) |
| Set a handler called with the drag box each time it changes, before anything is selected. | |
| void | SetConstructionGeometry (bool aEnable) |
| Whether the snap system may draw its explanatory geometry over the board this run. | |
| void | SetSuppressedSnaps (std::set< SNAP_CANDIDATE_SUBTYPE > aSubtypes) |
| Snap kinds this run never wants. | |
| void | ClearHandlers () |
| Handlers only. | |
| virtual void | Reset (RESET_REASON aReason) override |
| Bring the tool to a known, initial state. | |
| 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. | |
| bool | GetAutoConstraints () const |
| Should drawing tools author constraints automatically? | |
| 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 |
| void | SetCursor (KICURSOR aCursor) |
| void | SetSnapping (bool aSnap) |
| void | SetClickHandler (CLICK_HANDLER aHandler) |
| Set a handler for mouse click event. | |
| void | SetMotionHandler (MOTION_HANDLER aHandler) |
| Set a handler for mouse motion. | |
| void | SetAreaHandler (AREA_HANDLER aHandler) |
| Set a handler for a rubber-band drag. | |
| void | SetCancelHandler (CANCEL_HANDLER aHandler) |
| Set a handler for cancel events (ESC or context-menu Cancel). | |
| void | SetFinalizeHandler (FINALIZE_HANDLER aHandler) |
| Set a handler for the finalize event. | |
| int | CurrentModifiers () 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 | setTransitions () override |
| < | |
| void | setControls () |
| Reinitialize tool to its initial state. | |
| void | reset () override |
| Reinitializes tool to its initial state. | |
| 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 |
| std::unique_ptr< TOOL_MENU > | m_menu |
| The functions below are not yet implemented - their interface may change. | |
| 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 |
| EDA_DRAW_FRAME * | m_frame |
| KICURSOR | m_cursor |
| bool | m_snap |
| int | m_modifiers |
| std::optional< CLICK_HANDLER > | m_clickHandler |
| std::optional< MOTION_HANDLER > | m_motionHandler |
| std::optional< AREA_HANDLER > | m_areaHandler |
| std::optional< CANCEL_HANDLER > | m_cancelHandler |
| std::optional< FINALIZE_HANDLER > | m_finalizeHandler |
| std::optional< VECTOR2D > | m_picked |
Private Member Functions | |
| 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 | |
| LSET | m_layerMask |
| < The layer set to use for optional snapping. | |
| PCB_SELECTION_TOOL::AREA_PREVIEW | m_areaPreviewHandler |
| bool | m_constructionGeometry = true |
| std::set< SNAP_CANDIDATE_SUBTYPE > | m_suppressedSnaps |
Generic tool for picking an item.
Definition at line 36 of file pcb_picker_tool.h.
|
inherited |
Called once a rubber-band drag has left its result in the selection.
Definition at line 42 of file picker_tool.h.
|
inherited |
Definition at line 38 of file picker_tool.h.
|
inherited |
Event handler types.
Definition at line 36 of file picker_tool.h.
|
inherited |
Definition at line 39 of file picker_tool.h.
|
inherited |
Definition at line 37 of file picker_tool.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 133 of file pcb_tool_base.h.
|
inherited |
| Enumerator | |
|---|---|
| WAIT_CANCEL | |
| CLICK_CANCEL | |
| END_ACTIVATE | |
| EVT_CANCEL | |
| EXCEPTION_CANCEL | |
Definition at line 44 of file picker_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 73 of file tool_base.h.
| PCB_PICKER_TOOL::PCB_PICKER_TOOL | ( | ) |
Definition at line 35 of file pcb_picker_tool.cpp.
References PCB_TOOL_BASE::PCB_TOOL_BASE(), and PICKER_TOOL_BASE::PICKER_TOOL_BASE().
|
virtualdefault |
Init() is called once upon a registration of the tool.
|
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(), ROUTER_TOOL::OptimizeSelected(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), 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().
|
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 183 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(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), 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(), VIA_STITCH_TOOL::ExcludeStitchVia(), 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(), ROUTER_TOOL::finishInteractive(), 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(), GENERATOR_TOOL::MakeViaStackFromSelection(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), CONSTRAINT_EDIT_TOOL::onHoverMotion(), PCB_POINT_EDITOR::OnSelectionChange(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::onViaStackCommand(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceDrillChart(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceMicroviaStack(), 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(), ZONE_FILLER_TOOL::refillAroundGenerators(), GENERATOR_TOOL::RegenerateAllOfType(), ZONE_FILLER_TOOL::regenerateDirtyGenerators(), 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(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), 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 345 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(), MATCH_PROPERTIES_TOOL::runInteractive(), 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().
|
inline |
Handlers only.
A caller sets this run's options and then clears the handlers, so anything reset here would go before Main() read it. reset() puts the options back.
Definition at line 101 of file pcb_picker_tool.h.
References PICKER_TOOL_BASE::ClearHandlers(), and m_areaPreviewHandler.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), BOARD_EDITOR_CONTROL::DrillOrigin(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), SelectItemInteractively(), and SelectPointInteractively().
|
inlineprotectedinherited |
Definition at line 172 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().
|
inlineinherited |
Definition at line 130 of file picker_tool.h.
References m_modifiers.
Referenced by PCB_PICKER_TOOL::SelectPointInteractively().
|
protectedinherited |
Definition at line 340 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().
|
inlineprotectedinherited |
Definition at line 185 of file pcb_tool_base.h.
References board(), and BOARD::GetFirstFootprint().
Referenced by AUTOPLACE_TOOL::autoplaceOffboard(), AUTOPLACE_TOOL::autoplaceSelected(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), 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 178 of file pcb_tool_base.h.
References TOOL_BASE::getEditFrame(), and T.
Referenced by CONSTRAINT_EDIT_TOOL::AddConstraint(), PCB_POINT_EDITOR::addCorner(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), CONSTRAINT_EDIT_TOOL::applyDiagnostics(), MATCH_PROPERTIES_TOOL::applyToTargets(), 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(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), 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(), MATCH_PROPERTIES_TOOL::enabledKeys(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), VIA_STITCH_TOOL::ExcludeStitchVia(), 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(), GetAutoConstraints(), 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(), GENERATOR_TOOL::MakeViaStackFromSelection(), CONSTRAINT_EDIT_TOOL::ManageConstraints(), MATCH_PROPERTIES_TOOL::Match(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), ROUTER_TOOL::onViaStackCommand(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), PAD_TOOL::PadTable(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), PNS::TOOL_BASE::pickSingleItem(), 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(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), 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(), PCB_CONTROL::ShowDrillGroups(), BOARD_EDITOR_CONTROL::ShowEeschema(), GENERATOR_TOOL::ShowGeneratorsManager(), MULTICHANNEL_TOOL::ShowMismatchDetails(), MATCH_PROPERTIES_TOOL::showSettingsDialog(), EDIT_TOOL::SimplifyPolygons(), GLOBAL_EDIT_TOOL::swapBoardItem(), EDIT_TOOL::SwapGateNets(), GLOBAL_EDIT_TOOL::SwapLayers(), EDIT_TOOL::SwapPadNets(), ROUTER_TOOL::switchLayerOnViaPlacement(), CONSTRAINT_EDIT_TOOL::ToggleAutoConstraints(), 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 377 of file pcb_tool_base.cpp.
References frame(), FRAME_PCB_EDITOR, and GetAppSettings().
Referenced by EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::drawManagedShape(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), Is45Limited(), Is90Limited(), DRAWING_TOOL::PlaceMicroviaStack(), and DRAWING_TOOL::UpdateStatusBar().
|
inherited |
Should drawing tools author constraints automatically?
Definition at line 386 of file pcb_tool_base.cpp.
References frame(), FRAME_PCB_EDITOR, and GetAppSettings().
Referenced by DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::drawShape(), and DRAWING_TOOL::runSimpleShapeDraw().
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(), ROUTER_TOOL::OptimizeSelected(), 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(), DRAWING_TOOL::PlaceGridItem(), 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(), PCB_SELECTION_TOOL::CollectMultiple(), 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(), PCB_SELECTION_TOOL::DragSelectionArea(), 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(), CONSTRAINT_EDIT_TOOL::pcbRenderSettings(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), 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(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), 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(), PCB_SELECTION_TOOL::DragSelectionArea(), 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(), MATCH_PROPERTIES_TOOL::runInteractive(), 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(), 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(), GRAPHIC_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MATCH_PROPERTIES_TOOL::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(), VIA_STITCH_TOOL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().
|
privateinherited |
Definition at line 80 of file tool_interactive.cpp.
Referenced by Go().
|
overridevirtual |
Main event loop.
Reimplemented from PCB_TOOL_BASE.
Definition at line 42 of file pcb_picker_tool.cpp.
References CONDITIONAL_MENU::AddItem(), CONDITIONAL_MENU::AddSeparator(), ACTIONS::cancelInteractive, PCB_TOOL_BASE::frame(), TOOL_BASE::getEditFrame(), TOOL_INTERACTIVE::m_menu, PCB_ACTIONS::magneticSnapActiveLayer, PCB_ACTIONS::magneticSnapAllLayers, and SELECTION_CONDITIONS::ShowAlways().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 367 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 372 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.
Referenced by makeMirrorRotateMenu().
|
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(), 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(), ROUTER_TOOL::onViaStackCommand(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
| int PCB_PICKER_TOOL::Main | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 75 of file pcb_picker_tool.cpp.
References TOOL_INTERACTIVE::Activate(), BUT_LEFT, BUT_RIGHT, PICKER_TOOL_BASE::CLICK_CANCEL, PCB_TOOL_BASE::controls(), PCB_SELECTION_TOOL::DragSelectionArea(), dummy, PICKER_TOOL_BASE::END_ACTIVATE, PICKER_TOOL_BASE::EVT_CANCEL, PICKER_TOOL_BASE::EXCEPTION_CANCEL, PCB_TOOL_BASE::frame(), TOOL_BASE::getEditFrame(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), grid, TOOL_EVENT::IsAction(), ZONE_FILLER_TOOL::IsZoneFillAction(), PICKER_TOOL_BASE::m_areaHandler, m_areaPreviewHandler, PICKER_TOOL_BASE::m_cancelHandler, PICKER_TOOL_BASE::m_clickHandler, m_constructionGeometry, PICKER_TOOL_BASE::m_cursor, PICKER_TOOL_BASE::m_finalizeHandler, TOOL_INTERACTIVE::m_menu, PICKER_TOOL_BASE::m_motionHandler, PICKER_TOOL_BASE::m_picked, PICKER_TOOL_BASE::m_snap, m_suppressedSnaps, TOOL_BASE::m_toolMgr, MD_SHIFT, TOOL_EVENT::Parameter(), ACTIONS::pickerTool, reset(), setControls(), TOOL_INTERACTIVE::Wait(), and PICKER_TOOL_BASE::WAIT_CANCEL.
Referenced by SelectItemInteractively(), SelectPointInteractively(), and setTransitions().
|
overridevirtualinherited |
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. |
Implements TOOL_BASE.
Reimplemented in ARRAY_TOOL, BOARD_EDITOR_CONTROL, BOARD_INSPECTION_TOOL, BOARD_REANNOTATE_TOOL, CONSTRAINT_EDIT_TOOL, CONVERT_TOOL, DIFF_PHASE_SKEW_TOOL, DRAWING_TOOL, DRC_RULE_EDITOR_TOOL, DRC_TOOL, EDIT_TOOL, FOOTPRINT_EDITOR_CONTROL, GENERATOR_TOOL, GENERATOR_TOOL_PNS_PROXY, GLOBAL_EDIT_TOOL, MICROWAVE_TOOL, PAD_TOOL, PCB_CONTROL, PCB_POINT_EDITOR, PNS::TOOL_BASE, POSITION_RELATIVE_TOOL, ROUTER_TOOL, and ZONE_FILLER_TOOL.
Definition at line 330 of file pcb_tool_base.cpp.
|
overrideprotectedvirtual |
Reinitializes tool to its initial state.
Reimplemented from PICKER_TOOL_BASE.
Definition at line 269 of file pcb_picker_tool.cpp.
References LSET::AllLayersMask(), m_areaPreviewHandler, m_constructionGeometry, m_layerMask, m_suppressedSnaps, and PICKER_TOOL_BASE::reset().
Referenced by Main().
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 73 of file tool_interactive.cpp.
|
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().
|
protectedinherited |
Definition at line 359 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 351 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(), MATCH_PROPERTIES_TOOL::Match(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::OptimizeSelected(), 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::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceMicroviaStack(), 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().
| int PCB_PICKER_TOOL::SelectItemInteractively | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 358 of file pcb_picker_tool.cpp.
References TOOL_INTERACTIVE::Activate(), BULLSEYE, PCB_TOOL_BASE::canvas(), ClearHandlers(), SELECTION::Empty(), PCB_TOOL_BASE::frame(), SELECTION::Front(), KIPLATFORM::UI::GetMousePosition(), PCB_PICKER_TOOL::INTERACTIVE_PARAMS::m_ItemFilter, PCB_PICKER_TOOL::INTERACTIVE_PARAMS::m_Prompt, PCB_PICKER_TOOL::INTERACTIVE_PARAMS::m_Receiver, TOOL_BASE::m_toolMgr, Main(), TOOL_EVENT::Parameter(), PCB_SELECTION_TOOL::RequestSelection(), ACTIONS::selectionClear, PICKER_TOOL_BASE::SetCancelHandler(), PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), EDA_DRAW_PANEL_GAL::SetStatusPopup(), and PCB_PICKER_TOOL::RECEIVER::UpdatePickedItem().
Referenced by setTransitions().
| int PCB_PICKER_TOOL::SelectPointInteractively | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 288 of file pcb_picker_tool.cpp.
References TOOL_INTERACTIVE::Activate(), PCB_TOOL_BASE::canvas(), ClearHandlers(), PICKER_TOOL_BASE::CurrentModifiers(), PCB_TOOL_BASE::frame(), KIPLATFORM::UI::GetMousePosition(), GRID_HELPER::GetSnappedPoint(), PCB_PICKER_TOOL::INTERACTIVE_PARAMS::m_Prompt, PCB_PICKER_TOOL::INTERACTIVE_PARAMS::m_Receiver, TOOL_BASE::m_toolMgr, Main(), MD_SHIFT, TOOL_EVENT::Parameter(), PLACE, PICKER_TOOL_BASE::SetCancelHandler(), PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), GRID_HELPER::SetSnap(), PICKER_TOOL_BASE::SetSnapping(), EDA_DRAW_PANEL_GAL::SetStatusPopup(), and PCB_PICKER_TOOL::RECEIVER::UpdatePickedPoint().
Referenced by setTransitions().
|
inlineinherited |
Set a handler for a rubber-band drag.
The picker otherwise swallows it.
The drag runs the selection tool's own area loop, so the selection already holds what the box caught. Return true to stay armed, as with the click handler.
Definition at line 104 of file picker_tool.h.
References m_areaHandler.
Referenced by MATCH_PROPERTIES_TOOL::runInteractive().
|
inline |
Set a handler called with the drag box each time it changes, before anything is selected.
Only the rubber-band drag uses it, so it lives here rather than on the generic picker. Pairs with SetAreaHandler(), which runs once the drag is over.
Definition at line 84 of file pcb_picker_tool.h.
References m_areaPreviewHandler.
Referenced by MATCH_PROPERTIES_TOOL::runInteractive().
|
inlineinherited |
Set a handler for cancel events (ESC or context-menu Cancel).
Definition at line 113 of file picker_tool.h.
References m_cancelHandler.
Referenced by EDIT_TOOL::pickReferencePoint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), and PCB_PICKER_TOOL::SelectPointInteractively().
|
inlineinherited |
Set a handler for mouse click event.
The handler may decide to receive further click by returning true.
Definition at line 81 of file picker_tool.h.
References m_clickHandler.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), BOARD_EDITOR_CONTROL::DrillOrigin(), PCB_CONTROL::GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inline |
Whether the snap system may draw its explanatory geometry over the board this run.
Definition at line 90 of file pcb_picker_tool.h.
References m_constructionGeometry.
Referenced by GRAPHIC_EDIT_TOOL::runInteractive(), and MATCH_PROPERTIES_TOOL::runInteractive().
|
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(), DRAWING_TOOL::DrawVia(), and PCB_SELECTION_TOOL::Main().
|
protected |
Reinitialize tool to its initial state.
Definition at line 279 of file pcb_picker_tool.cpp.
References PCB_TOOL_BASE::controls(), and TOOL_BASE::getViewControls().
Referenced by Main().
|
inlineinherited |
Definition at line 63 of file picker_tool.h.
References m_cursor.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), BOARD_EDITOR_CONTROL::DrillOrigin(), PCB_CONTROL::GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inlineinherited |
Set a handler for the finalize event.
Takes the state of the exit from the main loop.
Definition at line 124 of file picker_tool.h.
References m_finalizeHandler.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
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.
|
inline |
Set the tool's snap layer set.
Definition at line 73 of file pcb_picker_tool.h.
References m_layerMask.
Referenced by EDIT_TOOL::pickReferencePoint().
|
inlineinherited |
Set a handler for mouse motion.
This is used for roll-over highlighting.
Definition at line 92 of file picker_tool.h.
References m_motionHandler.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inlineinherited |
Definition at line 65 of file picker_tool.h.
References m_snap.
Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PCB_CONTROL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CONSTRAINT_EDIT_TOOL::pickLinearConstraint(), EDIT_TOOL::pickReferencePoint(), CONSTRAINT_EDIT_TOOL::pickShapeConstraint(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inline |
Snap kinds this run never wants.
Trim reads which side of a crossing the pointer is on, so a snap onto the crossing leaves the question no answer.
Definition at line 94 of file pcb_picker_tool.h.
References m_suppressedSnaps.
Referenced by GRAPHIC_EDIT_TOOL::runInteractive().
|
overrideprotectedvirtual |
<
This method is meant to be overridden in order to specify handlers for events.
It is called every time tool is reset or finished. Applies the requested VIEW_CONTROLS settings.
Reimplemented from PCB_TOOL_BASE.
Definition at line 435 of file pcb_picker_tool.cpp.
References TOOL_INTERACTIVE::Go(), Main(), ACTIONS::pickerSubTool, ACTIONS::pickerTool, SelectItemInteractively(), PCB_ACTIONS::selectItemInteractively, SelectPointInteractively(), and PCB_ACTIONS::selectPointInteractively.
|
inlineprotectedinherited |
Definition at line 167 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(), 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(), DRAWING_TOOL::PlaceGridItem(), PCB_CONTROL::RehatchShapes(), PCB_POINT_EDITOR::Reset(), GRAPHIC_EDIT_TOOL::runInteractive(), 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(), PCB_SELECTION_TOOL::DragSelectionArea(), 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::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), and DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew().
|
protectedinherited |
Definition at line 143 of file picker_tool.h.
Referenced by ClearHandlers(), PCB_PICKER_TOOL::Main(), reset(), and SetAreaHandler().
|
private |
Definition at line 121 of file pcb_picker_tool.h.
Referenced by ClearHandlers(), Main(), reset(), and SetAreaPreviewHandler().
|
protectedinherited |
Definition at line 144 of file picker_tool.h.
Referenced by ClearHandlers(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), reset(), and SetCancelHandler().
|
protectedinherited |
Definition at line 141 of file picker_tool.h.
Referenced by ClearHandlers(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), reset(), and SetClickHandler().
|
private |
Definition at line 123 of file pcb_picker_tool.h.
Referenced by Main(), reset(), and SetConstructionGeometry().
|
protectedinherited |
Definition at line 137 of file picker_tool.h.
Referenced by PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), reset(), and SetCursor().
|
protectedinherited |
Definition at line 145 of file picker_tool.h.
Referenced by ClearHandlers(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), reset(), and SetFinalizeHandler().
|
protectedinherited |
Definition at line 136 of file picker_tool.h.
Referenced by PICKER_TOOL::Init(), PICKER_TOOL::Main(), and PICKER_TOOL_BASE().
|
protectedinherited |
Definition at line 200 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 199 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(), DRAWING_TOOL::PlaceMicroviaStack(), 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 |
< The layer set to use for optional snapping.
Definition at line 119 of file pcb_picker_tool.h.
Referenced by reset(), and SetLayerSet().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 121 of file tool_interactive.h.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), 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(), PAD_TOOL::EnumeratePads(), GetToolMenu(), BOARD_EDITOR_CONTROL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), EDA_3D_CONTROLLER::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GERBVIEW_SELECTION_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::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(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceMicroviaStack(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().
|
protectedinherited |
Definition at line 139 of file picker_tool.h.
Referenced by CurrentModifiers(), PICKER_TOOL::Main(), and PICKER_TOOL_BASE().
|
protectedinherited |
Definition at line 142 of file picker_tool.h.
Referenced by ClearHandlers(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), reset(), and SetMotionHandler().
|
protectedinherited |
Definition at line 147 of file picker_tool.h.
Referenced by PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), and reset().
|
protectedinherited |
Definition at line 138 of file picker_tool.h.
Referenced by PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PICKER_TOOL_BASE(), reset(), and SetSnapping().
|
private |
Definition at line 125 of file pcb_picker_tool.h.
Referenced by Main(), reset(), and SetSuppressedSnaps().
|
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(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), ROUTER_TOOL::commitPendingViaStack(), 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(), PCB_SELECTION_TOOL::DragSelectionArea(), 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(), VIA_STITCH_TOOL::ExcludeStitchVia(), 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(), GRAPHIC_EDIT_TOOL::Init(), GROUP_TOOL::Init(), MATCH_PROPERTIES_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(), VIA_STITCH_TOOL::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(), GENERATOR_TOOL::MakeViaStackFromSelection(), 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(), ROUTER_TOOL::OptimizeSelected(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), 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(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceMicroviaStack(), 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(), ZONE_FILLER_TOOL::regenerateDirtyGenerators(), 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(), GRAPHIC_EDIT_TOOL::runInteractive(), MATCH_PROPERTIES_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), PL_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectChartRow(), 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::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().