KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_MOVE_TOOL Class Reference

#include <sch_move_tool.h>

Inheritance diagram for SCH_MOVE_TOOL:
SCH_TOOL_BASE< SCH_EDIT_FRAME > TOOL_INTERACTIVE TOOL_BASE

Public Types

enum  MOVE_MODE { MOVE , DRAG , BREAK , SLICE }
 
enum  RESET_REASON {
  RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH ,
  REDRAW , SHUTDOWN
}
 Determine the reason of reset for a tool. More...
 

Public Member Functions

 SCH_MOVE_TOOL ()
 
 ~SCH_MOVE_TOOL () override
 
bool Init () override
 Init() is called once upon a registration of the tool.
 
void Reset (RESET_REASON aReason) override
 Bring the tool to a known, initial state.
 
int Main (const TOOL_EVENT &aEvent)
 Run an interactive move of the selected items, or the item under the cursor.
 
int AlignToGrid (const TOOL_EVENT &aEvent)
 Align selected elements to the grid.
 
bool IsSymbolEditor () const
 Returns true if the tool is running in the symbol editor.
 
int Increment (const TOOL_EVENT &aEvent)
 
int InteractiveDelete (const TOOL_EVENT &aEvent)
 
void Activate ()
 Run the tool.
 
TOOL_MENUGetToolMenu ()
 
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_EVENTWait (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_MANAGERGetManager () const
 Return the instance of TOOL_MANAGER that takes care of the tool.
 
bool IsToolActive () const
 

Protected Member Functions

void updateItem (EDA_ITEM *aItem, bool aUpdateRTree) const
 Similar to getView()->Update(), but also updates the SCH_SCREEN's RTree.
 
void saveCopyInUndoList (EDA_ITEM *aItem, UNDO_REDO aType, bool aAppend=false, bool aDirtyConnectivity=true)
 
void attachManager (TOOL_MANAGER *aManager)
 Set the TOOL_MANAGER the tool will belong to.
 
KIGFX::VIEWgetView () const
 Returns the instance of #VIEW object used in the application.
 
KIGFX::VIEW_CONTROLSgetViewControls () const
 Return the instance of VIEW_CONTROLS object used in the application.
 
template<typename T>
TgetEditFrame () const
 Return the application window object, casted to requested user type.
 
template<typename T>
TgetModel () const
 Return the model object if it matches the requested type.
 

Protected Attributes

SCH_EDIT_FRAMEm_frame
 
KIGFX::SCH_VIEWm_view
 
SCH_SELECTION_TOOLm_selectionTool
 
bool m_isSymbolEditor
 
EDA_ITEMm_pickerItem
 
std::unique_ptr< TOOL_MENUm_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_MANAGERm_toolMgr
 

Private Member Functions

bool doMoveSelection (const TOOL_EVENT &aEvent, SCH_COMMIT *aCommit)
 
void moveItem (EDA_ITEM *aItem, const VECTOR2I &aDelta)
 Find additional items for a drag operation.
 
void getConnectedItems (SCH_ITEM *aOriginalItem, const VECTOR2I &aPoint, EDA_ITEMS &aList)
 
void getConnectedDragItems (SCH_COMMIT *aCommit, SCH_ITEM *fixed, const VECTOR2I &selected, EDA_ITEMS &aList)
 
void orthoLineDrag (SCH_COMMIT *aCommit, SCH_LINE *line, const VECTOR2I &splitDelta, int &xBendCount, int &yBendCount, const EE_GRID_HELPER &grid)
 
void moveSelectionToSheet (SCH_SELECTION &aSelection, SCH_SHEET *aTarget, SCH_COMMIT *aCommit)
 Clears the new drag lines and removes them from the screen.
 
void clearNewDragLines ()
 Set up handlers for various events.
 
void setTransitions () override
 Cleanup dangling lines left after a drag.
 
void trimDanglingLines (SCH_COMMIT *aCommit)
 Break or slice the current selection before initiating a move, if required.
 
void preprocessBreakOrSliceSelection (SCH_COMMIT *aCommit, const TOOL_EVENT &aEvent)
 
bool checkMoveInProgress (const TOOL_EVENT &aEvent, SCH_COMMIT *aCommit, bool aCurrentModeIsDragLike, bool aWasDragging)
 < Check if a move is already in progress and handle state transitions
 
SCH_SELECTIONprepareSelection (bool &aUnselect)
 Refresh selection traits (sheet pins, graphic items, etc.)
 
void refreshSelectionTraits (const SCH_SELECTION &aSelection, bool &aHasSheetPins, bool &aHasGraphicItems, bool &aHasNonGraphicItems, bool &aIsGraphicsOnly)
 Initialize the move/drag operation, setting up flags and connections.
 
void initializeMoveOperation (const TOOL_EVENT &aEvent, SCH_SELECTION &aSelection, SCH_COMMIT *aCommit, std::vector< DANGLING_END_ITEM > &aInternalPoints, GRID_HELPER_GRIDS &aSnapLayer)
 Setup items for drag operation, collecting connected items.
 
void setupItemsForDrag (SCH_SELECTION &aSelection, SCH_COMMIT *aCommit)
 Setup items for move operation, marking dangling ends.
 
void setupItemsForMove (SCH_SELECTION &aSelection, std::vector< DANGLING_END_ITEM > &aInternalPoints)
 Find the target sheet for dropping items (if any)
 
SCH_SHEETfindTargetSheet (const SCH_SELECTION &aSelection, const VECTOR2I &aCursorPos, bool aHasSheetPins, bool aIsGraphicsOnly, bool aCtrlDown)
 Perform the actual move of items by delta, handling split moves and orthogonal dragging.
 
void performItemMove (SCH_SELECTION &aSelection, const VECTOR2I &aDelta, SCH_COMMIT *aCommit, int &aXBendCount, int &aYBendCount, const EE_GRID_HELPER &aGrid)
 Handle tool action events during the move operation.
 
bool handleMoveToolActions (const TOOL_EVENT *aEvent, SCH_COMMIT *aCommit, const SCH_SELECTION &aSelection)
 Update stored positions after transformations (rotation, mirroring, etc.) during move.
 
void updateStoredPositions (const SCH_SELECTION &aSelection)
 Finalize the move operation, updating junctions and cleaning up.
 
void finalizeMoveOperation (SCH_SELECTION &aSelection, SCH_COMMIT *aCommit, bool aUnselect, const std::vector< DANGLING_END_ITEM > &aInternalPoints)
 
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_ITEMgetModelInternal () const
 
TOOLS_HOLDERgetToolHolderInternal () const
 

Private Attributes

bool m_inMoveTool
 < Re-entrancy guard
 
bool m_moveInProgress
 
MOVE_MODE m_mode
 Items (such as wires) which were added to the selection for a drag.
 
std::vector< KIIDm_dragAdditions
 Cache of the line's original connections before dragging started.
 
std::map< SCH_LINE *, EDA_ITEMSm_lineConnectionCache
 Lines added at bend points dynamically during the move.
 
std::unordered_set< SCH_LINE * > m_newDragLines
 Lines changed by drag algorithm that weren't selected.
 
std::unordered_set< SCH_LINE * > m_changedDragLines
 Junctions that were hidden during the move.
 
std::vector< SCH_JUNCTION * > m_hiddenJunctions
 
VECTOR2I m_moveOffset
 Last cursor position (needed for getModificationPoint() to avoid changes of edit reference point).
 
VECTOR2I m_cursor
 
OPT_VECTOR2I m_anchorPos
 
OPT_VECTOR2I m_breakPos
 
std::map< SCH_LABEL_BASE *, SPECIAL_CASE_LABEL_INFOm_specialCaseLabels
 
std::map< SCH_SHEET_PIN *, std::pair< SCH_LINE *, bool > > m_specialCaseSheetPins
 

Detailed Description

Definition at line 56 of file sch_move_tool.h.

Member Enumeration Documentation

◆ MOVE_MODE

Enumerator
MOVE 
DRAG 
BREAK 
SLICE 

Definition at line 59 of file sch_move_tool.h.

◆ RESET_REASON

enum TOOL_BASE::RESET_REASON
inherited

Determine the reason of reset for a tool.

Enumerator
RUN 

Tool is invoked after being inactive.

MODEL_RELOAD 

Model changes (the sheet for a schematic)

SUPERMODEL_RELOAD 

For schematics, the entire schematic changed, not just the sheet.

GAL_SWITCH 

Rendering engine changes.

REDRAW 

Full drawing refresh.

SHUTDOWN 

Tool is being shut down.

Definition at line 77 of file tool_base.h.

Constructor & Destructor Documentation

◆ SCH_MOVE_TOOL()

SCH_MOVE_TOOL::SCH_MOVE_TOOL ( )

◆ ~SCH_MOVE_TOOL()

SCH_MOVE_TOOL::~SCH_MOVE_TOOL ( )
inlineoverride

Definition at line 68 of file sch_move_tool.h.

Member Function Documentation

◆ Activate()

void TOOL_INTERACTIVE::Activate ( )
inherited

Run the tool.

After activation, the tool starts receiving events until it is finished.

Definition at line 65 of file tool_interactive.cpp.

References TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.

Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), 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(), 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(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), 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(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), and DRC_TOOL::ShowDRCDialog().

◆ AlignToGrid()

◆ attachManager()

void TOOL_BASE::attachManager ( TOOL_MANAGER * aManager)
protectedinherited

Set the TOOL_MANAGER the tool will belong to.

Called by TOOL_MANAGER::RegisterTool()

Definition at line 62 of file tool_base.cpp.

References m_toolMgr, and TOOL_MANAGER.

Referenced by TOOL_MANAGER::RegisterTool().

◆ checkMoveInProgress()

bool SCH_MOVE_TOOL::checkMoveInProgress ( const TOOL_EVENT & aEvent,
SCH_COMMIT * aCommit,
bool aCurrentModeIsDragLike,
bool aWasDragging )
private

◆ clearNewDragLines()

void SCH_MOVE_TOOL::clearNewDragLines ( )
private

Set up handlers for various events.

Definition at line 2615 of file sch_move_tool.cpp.

References SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, and m_newDragLines.

Referenced by doMoveSelection(), and initializeMoveOperation().

◆ doMoveSelection()

bool SCH_MOVE_TOOL::doMoveSelection ( const TOOL_EVENT & aEvent,
SCH_COMMIT * aCommit )
private

Definition at line 589 of file sch_move_tool.cpp.

References _, SCH_TOOL_BASE< SCH_EDIT_FRAME >::Activate(), BREAK, BRIGHTENED, BUT_LEFT, BUT_RIGHT, TOOL_EVENT::Category(), checkMoveInProgress(), EDA_ITEM::ClearFlags(), clearNewDragLines(), copy, ACTIONS::CURSOR_DOWN, ACTIONS::CURSOR_LEFT, ACTIONS::CURSOR_RIGHT, ACTIONS::CURSOR_UP, delta, TOOL_EVENT::DisableGridSnapping(), DRAG, SCH_ACTIONS::drag, ACTIONS::duplicate, SELECTION::Empty(), finalizeMoveOperation(), findTargetSheet(), TOOL_EVENT::Format(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), KIGFX::VIEW_CONTROLS::GetSettings(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getView(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getViewControls(), grid, GRID_CURRENT, handleMoveToolActions(), SCH_ACTIONS::highlightNet, HORIZONTAL, ACTIONS::increment, initializeMoveOperation(), TOOL_EVENT::IsAction(), TOOL_EVENT::IsActivate(), TOOL_EVENT::IsCancelInteractive(), TOOL_EVENT::IsClick(), TOOL_EVENT::IsDblClick(), TOOL_EVENT::IsDrag(), TOOL_EVENT::IsMotion(), TOOL_EVENT::IsMouseUp(), m_anchorPos, m_breakPos, m_changedDragLines, m_cursor, m_dragAdditions, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, m_hiddenJunctions, m_inMoveTool, KIGFX::VC_SETTINGS::m_lastKeyboardCursorCommand, KIGFX::VC_SETTINGS::m_lastKeyboardCursorPosition, KIGFX::VC_SETTINGS::m_lastKeyboardCursorPositionValid, m_lineConnectionCache, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_menu, m_mode, m_moveInProgress, m_moveOffset, m_newDragLines, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_view, MD_CTRL, MD_SHIFT, TOOL_EVENT::Modifier(), SCH_COLLECTOR::MovableItems, MOVE, SCH_ACTIONS::move, moveSelectionToSheet(), MOVING, NONE, performItemMove(), PLACE, prepareSelection(), preprocessBreakOrSliceSelection(), JUNCTION_HELPERS::PreviewJunctions(), QUIET_MODE, ACTIONS::redo, ACTIONS::refreshPreview, refreshSelectionTraits(), SCH_ACTIONS::repeatDrawItem, SCH_ACTIONS::restartMove, SCH_ACTIONS::rotateCCW, SCH_ACTIONS::rotateCW, EVENTS::SelectedItemsMoved, ACTIONS::selectionClear, SCH_ACTIONS::selectOnPCB, KIGFX::VIEW_CONTROLS::SetAutoPan(), KIGFX::VIEW_CONTROLS::SetCursorPosition(), EDA_ITEM::SetFlags(), TOOL_EVENT::SetPassEvent(), SELECTION::SetReferencePoint(), KIGFX::VIEW_CONTROLS::ShowCursor(), SLICE, TC_COMMAND, TC_KEYBOARD, TC_MOUSE, SCH_ACTIONS::toDLabel, SCH_ACTIONS::toGLabel, SCH_ACTIONS::toHLabel, SCH_ACTIONS::toLabel, SCH_ACTIONS::toText, SCH_ACTIONS::toTextBox, traceSchMove, ACTIONS::undo, VERTICAL, SCH_TOOL_BASE< SCH_EDIT_FRAME >::Wait(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by Main().

◆ finalizeMoveOperation()

◆ findTargetSheet()

SCH_SHEET * SCH_MOVE_TOOL::findTargetSheet ( const SCH_SELECTION & aSelection,
const VECTOR2I & aCursorPos,
bool aHasSheetPins,
bool aIsGraphicsOnly,
bool aCtrlDown )
private

◆ getConnectedDragItems()

◆ getConnectedItems()

◆ getEditFrame()

template<typename T>
T * TOOL_BASE::getEditFrame ( ) const
inlineprotectedinherited

Return the application window object, casted to requested user type.

Definition at line 186 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(), 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(), 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_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_CALCULATOR_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(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), 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().

◆ GetId()

TOOL_ID TOOL_BASE::GetId ( ) const
inlineinherited

Return the unique identifier of the tool.

The identifier is set by an instance of TOOL_MANAGER.

Returns
Identifier of the tool.

Definition at line 123 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().

◆ GetManager()

◆ getModel()

◆ getModelInternal()

EDA_ITEM * TOOL_BASE::getModelInternal ( ) const
privateinherited

Definition at line 56 of file tool_base.cpp.

References m_toolMgr.

Referenced by getModel().

◆ GetName()

const std::string & TOOL_BASE::GetName ( ) const
inlineinherited

Return the name of the tool.

Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).

Returns
The name of the tool.

Definition at line 136 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_EDIT_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().

◆ getToolHolderInternal()

TOOLS_HOLDER * TOOL_BASE::getToolHolderInternal ( ) const
privateinherited

Definition at line 50 of file tool_base.cpp.

References m_toolMgr.

Referenced by getEditFrame().

◆ GetToolMenu()

◆ GetType()

TOOL_TYPE TOOL_BASE::GetType ( ) const
inlineinherited

Return the type of the tool.

Returns
The type of the tool.

Definition at line 111 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().

◆ getView()

KIGFX::VIEW * TOOL_BASE::getView ( ) const
protectedinherited

Returns the instance of #VIEW object used in the application.

It allows tools to draw.

Returns
The instance of VIEW.

Definition at line 38 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(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), 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(), 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(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), PL_EDIT_TOOL::Paste(), 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(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_SELECTION_TOOL::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(), 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().

◆ getViewControls()

KIGFX::VIEW_CONTROLS * TOOL_BASE::getViewControls ( ) const
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.).

Returns
The instance of VIEW_CONTROLS.

Definition at line 44 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(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawCircle(), 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(), 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(), 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(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), 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(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().

◆ Go()

template<class T>
void TOOL_INTERACTIVE::Go ( int(T::* aStateFunc )(const TOOL_EVENT &),
const TOOL_EVENT_LIST & aConditions = TOOL_EVENTTC_ANYTA_ANY ) )
inherited

Define which state (aStateFunc) to go when a certain event arrives (aConditions).

No conditions means any event.

Definition at line 147 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(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DRAWING_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_CALCULATOR_CONTROL::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(), SCRIPTING_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().

◆ goInternal()

void TOOL_INTERACTIVE::goInternal ( TOOL_STATE_FUNC & aState,
const TOOL_EVENT_LIST & aConditions )
privateinherited

Definition at line 84 of file tool_interactive.cpp.

Referenced by Go().

◆ handleMoveToolActions()

◆ Increment()

int SCH_TOOL_BASE< SCH_EDIT_FRAME >::Increment ( const TOOL_EVENT & aEvent)
inlineinherited

Definition at line 110 of file sch_tool_base.h.

Referenced by SCH_EDIT_TOOL::setTransitions().

◆ Init()

bool SCH_MOVE_TOOL::Init ( )
overridevirtual

Init() is called once upon a registration of the tool.

Returns
True if the initialization went fine, false - otherwise.

Reimplemented from TOOL_BASE.

Definition at line 117 of file sch_move_tool.cpp.

References CONDITIONAL_MENU::AddItem(), SCH_ACTIONS::alignToGrid, SCH_ACTIONS::drag, SCH_TOOL_BASE< T >::Init(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, SCH_ACTIONS::move, and SELECTION_CONDITIONS::OnlyTypes().

◆ initializeMoveOperation()

void SCH_MOVE_TOOL::initializeMoveOperation ( const TOOL_EVENT & aEvent,
SCH_SELECTION & aSelection,
SCH_COMMIT * aCommit,
std::vector< DANGLING_END_ITEM > & aInternalPoints,
GRID_HELPER_GRIDS & aSnapLayer )
private

◆ InteractiveDelete()

int SCH_TOOL_BASE< SCH_EDIT_FRAME >::InteractiveDelete ( const TOOL_EVENT & aEvent)
inlineinherited

Definition at line 247 of file sch_tool_base.h.

Referenced by SCH_EDIT_TOOL::setTransitions().

◆ IsSymbolEditor()

bool SCH_TOOL_BASE< SCH_EDIT_FRAME >::IsSymbolEditor ( ) const
inlineinherited

Returns true if the tool is running in the symbol editor.

Definition at line 105 of file sch_tool_base.h.

◆ IsToolActive()

◆ Main()

◆ moveItem()

◆ moveSelectionToSheet()

void SCH_MOVE_TOOL::moveSelectionToSheet ( SCH_SELECTION & aSelection,
SCH_SHEET * aTarget,
SCH_COMMIT * aCommit )
private

◆ orthoLineDrag()

◆ performItemMove()

◆ prepareSelection()

SCH_SELECTION & SCH_MOVE_TOOL::prepareSelection ( bool & aUnselect)
private

◆ preprocessBreakOrSliceSelection()

◆ refreshSelectionTraits()

void SCH_MOVE_TOOL::refreshSelectionTraits ( const SCH_SELECTION & aSelection,
bool & aHasSheetPins,
bool & aHasGraphicItems,
bool & aHasNonGraphicItems,
bool & aIsGraphicsOnly )
private

Initialize the move/drag operation, setting up flags and connections.

Definition at line 1051 of file sch_move_tool.cpp.

References isGraphicItemForDrop(), SCH_SHEET_PIN_T, SCH_SHEET_T, and EDA_ITEM::Type().

Referenced by doMoveSelection().

◆ Reset()

void SCH_MOVE_TOOL::Reset ( RESET_REASON aReason)
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.

Parameters
aReasoncontains information about the reason of tool reset.

Implements TOOL_BASE.

Definition at line 145 of file sch_move_tool.cpp.

References m_anchorPos, m_breakPos, m_changedDragLines, m_dragAdditions, m_hiddenJunctions, m_lineConnectionCache, m_mode, m_moveInProgress, m_moveOffset, m_newDragLines, m_specialCaseLabels, m_specialCaseSheetPins, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_view, SCH_TOOL_BASE< SCH_EDIT_FRAME >::MODEL_RELOAD, MOVE, SCH_TOOL_BASE< T >::Reset(), and SCH_TOOL_BASE< SCH_EDIT_FRAME >::SUPERMODEL_RELOAD.

◆ resetTransitions()

void TOOL_INTERACTIVE::resetTransitions ( )
privateinherited

Clear the current transition map and restores the default one created by setTransitions().

Definition at line 77 of file tool_interactive.cpp.

◆ RunMainStack()

void TOOL_INTERACTIVE::RunMainStack ( std::function< void()> aFunc)
inherited

Call a function using the main stack.

Parameters
aFuncis the function to be calls.

Definition at line 106 of file tool_interactive.cpp.

Referenced by DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::PlaceReferenceImage(), and DRAWING_TOOL::PlaceText().

◆ saveCopyInUndoList()

void SCH_TOOL_BASE< SCH_EDIT_FRAME >::saveCopyInUndoList ( EDA_ITEM * aItem,
UNDO_REDO aType,
bool aAppend = false,
bool aDirtyConnectivity = true )
inlineprotectedinherited

Definition at line 333 of file sch_tool_base.h.

◆ SetContextMenu()

void TOOL_INTERACTIVE::SetContextMenu ( ACTION_MENU * aMenu,
CONTEXT_MENU_TRIGGER aTrigger = CMENU_BUTTON )
inherited

Assign a context menu and tells when it should be activated.

Parameters
aMenuis the menu to be assigned.
aTriggerdetermines conditions upon which the context menu is activated.

Definition at line 95 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().

◆ setTransitions()

void SCH_MOVE_TOOL::setTransitions ( )
overrideprivatevirtual

◆ setupItemsForDrag()

◆ setupItemsForMove()

void SCH_MOVE_TOOL::setupItemsForMove ( SCH_SELECTION & aSelection,
std::vector< DANGLING_END_ITEM > & aInternalPoints )
private

Find the target sheet for dropping items (if any)

Definition at line 1151 of file sch_move_tool.cpp.

References DANGLING_END_ITEM_HELPER::sort_dangling_end_items().

Referenced by initializeMoveOperation().

◆ trimDanglingLines()

void SCH_MOVE_TOOL::trimDanglingLines ( SCH_COMMIT * aCommit)
private

Break or slice the current selection before initiating a move, if required.

Definition at line 1807 of file sch_move_tool.cpp.

References IS_BROKEN, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, COMMIT::Removed(), KIGFX::REPAINT, STRUCT_DELETED, and SCH_TOOL_BASE< SCH_EDIT_FRAME >::updateItem().

Referenced by finalizeMoveOperation().

◆ updateItem()

◆ updateStoredPositions()

void SCH_MOVE_TOOL::updateStoredPositions ( const SCH_SELECTION & aSelection)
private

◆ Wait()

TOOL_EVENT * TOOL_INTERACTIVE::Wait ( const TOOL_EVENT_LIST & aEventList = TOOL_EVENTTC_ANYTA_ANY ))
inherited

Suspend execution of the tool until an event specified in aEventList arrives.

No parameters means waiting for any event.

Definition at line 71 of file tool_interactive.cpp.

References TOOL_BASE::m_toolMgr.

Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), 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(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), 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(), and DRAWING_TOOL::SetAnchor().

Member Data Documentation

◆ m_anchorPos

OPT_VECTOR2I SCH_MOVE_TOOL::m_anchorPos
private

◆ m_breakPos

OPT_VECTOR2I SCH_MOVE_TOOL::m_breakPos
private

◆ m_changedDragLines

std::unordered_set<SCH_LINE*> SCH_MOVE_TOOL::m_changedDragLines
private

Junctions that were hidden during the move.

Definition at line 177 of file sch_move_tool.h.

Referenced by doMoveSelection(), finalizeMoveOperation(), orthoLineDrag(), and Reset().

◆ m_cursor

VECTOR2I SCH_MOVE_TOOL::m_cursor
private

Definition at line 185 of file sch_move_tool.h.

Referenced by checkMoveInProgress(), doMoveSelection(), and initializeMoveOperation().

◆ m_dragAdditions

std::vector<KIID> SCH_MOVE_TOOL::m_dragAdditions
private

Cache of the line's original connections before dragging started.

Definition at line 171 of file sch_move_tool.h.

Referenced by checkMoveInProgress(), doMoveSelection(), finalizeMoveOperation(), initializeMoveOperation(), Reset(), and setupItemsForDrag().

◆ m_frame

SCH_EDIT_FRAME* SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame
protectedinherited

Definition at line 373 of file sch_tool_base.h.

Referenced by SCH_LINE_WIRE_BUS_TOOL::AddJunction(), SCH_LINE_WIRE_BUS_TOOL::AddJunctionsIfNeeded(), SCH_EDITOR_CONTROL::AddVariant(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDITOR_CONTROL::Annotate(), SCH_EDITOR_CONTROL::AssignFootprints(), SCH_EDITOR_CONTROL::AssignNetclass(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_NAVIGATE_TOOL::Back(), SCH_LINE_WIRE_BUS_TOOL::BreakSegment(), SCH_NAVIGATE_TOOL::CanGoNext(), SCH_NAVIGATE_TOOL::CanGoPrevious(), SCH_NAVIGATE_TOOL::CanGoUp(), SCH_EDITOR_CONTROL::ChangeLineMode(), SCH_NAVIGATE_TOOL::changeSheet(), SCH_EDIT_TOOL::ChangeSymbols(), SCH_EDIT_TOOL::ChangeTextType(), SCH_NAVIGATE_TOOL::CleanHistory(), SCH_EDIT_TOOL::CleanupSheetPins(), SCH_MOVE_TOOL::clearNewDragLines(), SCH_EDIT_TOOL::collectUnits(), SCH_DRAWING_TOOLS::createNewLabel(), SCH_DRAWING_TOOLS::createNewText(), SCH_EDIT_TOOL::CycleBodyStyle(), SCH_EDITOR_CONTROL::doCopy(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_EDITOR_CONTROL::DrawSheetOnClipboard(), SCH_DRAWING_TOOLS::DrawTable(), SCH_EDIT_TOOL::editFieldText(), SCH_EDIT_TOOL::EditPageNumber(), SCH_EDIT_TOOL::EditProperties(), SCH_EDITOR_CONTROL::EditSymbolFields(), SCH_EDITOR_CONTROL::EditSymbolLibraryLinks(), SCH_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_NAVIGATE_TOOL::EnterSheet(), SCH_EDITOR_CONTROL::ExportNetlist(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SCH_MOVE_TOOL::finalizeMoveOperation(), SCH_EDITOR_CONTROL::FindNetInInspector(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_MOVE_TOOL::findTargetSheet(), SCH_DRAWING_TOOLS::findWire(), SCH_DRAWING_TOOLS::findWireLabelDriverName(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_EDIT_TOOL::FixERCError(), SCH_EDIT_TOOL::FixERCErrorMenuText(), SCH_NAVIGATE_TOOL::Forward(), SCH_EDITOR_CONTROL::GenerateBOM(), SCH_EDITOR_CONTROL::GenerateBOMLegacy(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), SCH_EDIT_TABLE_TOOL::getScreen(), SCH_LINE_WIRE_BUS_TOOL::getSheetPin(), SCH_EDIT_TOOL::GlobalEdit(), SCH_EDITOR_CONTROL::GridFeedback(), SCH_MOVE_TOOL::handleMoveToolActions(), SCH_NAVIGATE_TOOL::HypertextCommand(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SCH_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDITOR_CONTROL::IncrementAnnotations(), SCH_DRAWING_TOOLS::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::initializeMoveOperation(), SCH_EDIT_TOOL::JustifyText(), SCH_NAVIGATE_TOOL::LeaveSheet(), SCH_EDITOR_CONTROL::MarkSimExclusions(), SCH_EDIT_TOOL::Mirror(), SCH_ALIGN_TOOL::moveItem(), SCH_MOVE_TOOL::moveSelectionToSheet(), SCH_EDITOR_CONTROL::New(), SCH_NAVIGATE_TOOL::Next(), SCH_EDITOR_CONTROL::NextLineMode(), SCH_EDITOR_CONTROL::OnAngleSnapModeChanged(), SCH_EDITOR_CONTROL::Open(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_EDITOR_CONTROL::PageSetup(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_EDITOR_CONTROL::PlaceLinkedDesignBlock(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDITOR_CONTROL::Plot(), SCH_MOVE_TOOL::preprocessBreakOrSliceSelection(), SCH_NAVIGATE_TOOL::Previous(), SCH_EDITOR_CONTROL::Print(), SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile(), SCH_EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::prunePastedSymbolInstances(), SCH_EDITOR_CONTROL::Quit(), SCH_EDITOR_CONTROL::Redo(), SCH_EDITOR_CONTROL::RemapSymbols(), SCH_EDITOR_CONTROL::RemoveVariant(), SCH_EDITOR_CONTROL::RepairSchematic(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::rescueProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), SCH_EDITOR_CONTROL::RescueSymbols(), SCH_NAVIGATE_TOOL::ResetHistory(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SCH_EDITOR_CONTROL::Save(), SCH_EDITOR_CONTROL::SaveAs(), SCH_EDITOR_CONTROL::SaveCurrSheetCopyAs(), SCH_EDITOR_CONTROL::SaveToLinkedDesignBlock(), SCH_EDITOR_CONTROL::ShowCvpcb(), SCH_EDITOR_CONTROL::ShowPcbNew(), SCH_EDITOR_CONTROL::ShowSchematicSetup(), SCH_LINE_WIRE_BUS_TOOL::simplifyWireList(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::sizeSheet(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_EDIT_TOOL::Swap(), SCH_EDIT_TOOL::SwapPinLabels(), SCH_EDIT_TOOL::SwapPins(), SCH_EDIT_TOOL::SwapUnitLabels(), SCH_DRAWING_TOOLS::SyncAllSheetsPins(), SCH_DRAWING_TOOLS::SyncSheetsPins(), SCH_EDITOR_CONTROL::ToggleAnnotateAuto(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCExclusions(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), SCH_EDITOR_CONTROL::TogglePythonConsole(), SCH_MOVE_TOOL::trimDanglingLines(), SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SCH_LINE_WIRE_BUS_TOOL::UnfoldBus(), SCH_EDITOR_CONTROL::UpdateFromPCB(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), SCH_EDITOR_CONTROL::updatePastedSymbol(), and SCH_EDITOR_CONTROL::UpdatePCB().

◆ m_hiddenJunctions

std::vector<SCH_JUNCTION*> SCH_MOVE_TOOL::m_hiddenJunctions
private

Definition at line 179 of file sch_move_tool.h.

Referenced by doMoveSelection(), initializeMoveOperation(), and Reset().

◆ m_inMoveTool

bool SCH_MOVE_TOOL::m_inMoveTool
private

< Re-entrancy guard

Flag determining if anything is being dragged right now

Definition at line 164 of file sch_move_tool.h.

Referenced by doMoveSelection(), and SCH_MOVE_TOOL().

◆ m_isSymbolEditor

bool SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_isSymbolEditor
protectedinherited

Definition at line 376 of file sch_tool_base.h.

◆ m_lineConnectionCache

std::map<SCH_LINE*, EDA_ITEMS> SCH_MOVE_TOOL::m_lineConnectionCache
private

Lines added at bend points dynamically during the move.

Definition at line 173 of file sch_move_tool.h.

Referenced by doMoveSelection(), getConnectedDragItems(), orthoLineDrag(), Reset(), and setupItemsForDrag().

◆ m_menu

std::unique_ptr<TOOL_MENU> TOOL_INTERACTIVE::m_menu
protectedinherited

The functions below are not yet implemented - their interface may change.

Definition at line 125 of file tool_interactive.h.

Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), 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::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().

◆ m_mode

MOVE_MODE SCH_MOVE_TOOL::m_mode
private

Items (such as wires) which were added to the selection for a drag.

Definition at line 168 of file sch_move_tool.h.

Referenced by AlignToGrid(), doMoveSelection(), finalizeMoveOperation(), initializeMoveOperation(), Main(), moveItem(), performItemMove(), preprocessBreakOrSliceSelection(), Reset(), SCH_MOVE_TOOL(), and setupItemsForDrag().

◆ m_moveInProgress

bool SCH_MOVE_TOOL::m_moveInProgress
private

◆ m_moveOffset

VECTOR2I SCH_MOVE_TOOL::m_moveOffset
private

Last cursor position (needed for getModificationPoint() to avoid changes of edit reference point).

Definition at line 181 of file sch_move_tool.h.

Referenced by checkMoveInProgress(), doMoveSelection(), finalizeMoveOperation(), initializeMoveOperation(), performItemMove(), Reset(), and SCH_MOVE_TOOL().

◆ m_newDragLines

std::unordered_set<SCH_LINE*> SCH_MOVE_TOOL::m_newDragLines
private

Lines changed by drag algorithm that weren't selected.

Definition at line 175 of file sch_move_tool.h.

Referenced by clearNewDragLines(), doMoveSelection(), finalizeMoveOperation(), orthoLineDrag(), and Reset().

◆ m_pickerItem

EDA_ITEM* SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_pickerItem
protectedinherited

Definition at line 377 of file sch_tool_base.h.

Referenced by SCH_EDIT_TOOL::SCH_EDIT_TOOL().

◆ m_selectionTool

SCH_SELECTION_TOOL* SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool
protectedinherited

Definition at line 375 of file sch_tool_base.h.

Referenced by SCH_MOVE_TOOL::AlignToGrid(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::ChangeSymbols(), SCH_EDIT_TOOL::ChangeTextType(), SCH_MOVE_TOOL::checkMoveInProgress(), SCH_EDIT_TOOL::CleanupSheetPins(), SCH_EDIT_TOOL::CycleBodyStyle(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::EditPageNumber(), SCH_EDIT_TABLE_TOOL::EditTable(), SCH_MOVE_TOOL::finalizeMoveOperation(), SCH_LINE_WIRE_BUS_TOOL::getBusForUnfolding(), SCH_ALIGN_TOOL::GetSelections(), SCH_EDIT_TABLE_TOOL::getTableCellSelection(), SCH_MOVE_TOOL::handleMoveToolActions(), SCH_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_ALIGN_TOOL::Init(), SCH_EDIT_TABLE_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SCH_MOVE_TOOL::initializeMoveOperation(), SCH_EDIT_TOOL::JustifyText(), SCH_EDIT_TOOL::Mirror(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_MOVE_TOOL::prepareSelection(), SCH_MOVE_TOOL::preprocessBreakOrSliceSelection(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::SetAttribute(), SCH_MOVE_TOOL::setupItemsForDrag(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_EDIT_TOOL::Swap(), SCH_EDIT_TOOL::SwapPinLabels(), SCH_EDIT_TOOL::SwapPins(), SCH_EDIT_TOOL::SwapUnitLabels(), SCH_DRAWING_TOOLS::SyncSheetsPins(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ m_specialCaseLabels

std::map<SCH_LABEL_BASE*, SPECIAL_CASE_LABEL_INFO> SCH_MOVE_TOOL::m_specialCaseLabels
private

◆ m_specialCaseSheetPins

std::map<SCH_SHEET_PIN*, std::pair<SCH_LINE*, bool> > SCH_MOVE_TOOL::m_specialCaseSheetPins
private

◆ m_toolId

TOOL_ID TOOL_BASE::m_toolId
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().

◆ m_toolMgr

TOOL_MANAGER* TOOL_BASE::m_toolMgr
protectedinherited

Definition at line 220 of file tool_base.h.

Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), 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::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), 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(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), 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(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), 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(), 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(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), 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(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), 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(), SCH_SELECTION_TOOL::SelectNext(), PL_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::ShowDRCDialog(), 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(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), 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(), and ZONE_FILLER_TOOL::ZoneUnfill().

◆ m_toolName

std::string TOOL_BASE::m_toolName
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().

◆ m_type

TOOL_TYPE TOOL_BASE::m_type
protectedinherited

Definition at line 214 of file tool_base.h.

Referenced by GetType(), and TOOL_BASE().

◆ m_view


The documentation for this class was generated from the following files: