KiCad PCB EDA Suite
|
Tool responsible for drawing/placing items (symbols, wires, buses, labels, etc.) More...
#include <sch_line_wire_bus_tool.h>
Public Types | |
enum | RESET_REASON { RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH , REDRAW , SHUTDOWN } |
Determine the reason of reset for a tool. More... | |
Public Member Functions | |
SCH_LINE_WIRE_BUS_TOOL () | |
~SCH_LINE_WIRE_BUS_TOOL () | |
bool | Init () override |
Init() is called once upon a registration of the tool. | |
void | BreakSegment (SCH_COMMIT *aCommit, SCH_LINE *aSegment, const VECTOR2I &aPoint, SCH_LINE **aNewSegment, SCH_SCREEN *aScreen) |
Break a single segment into two at the specified point. | |
bool | BreakSegments (SCH_COMMIT *aCommit, const VECTOR2I &aPoint, SCH_SCREEN *aScreen) |
Check every wire and bus for a intersection at aPoint and break into two segments at aPoint if an intersection is found. | |
bool | BreakSegmentsOnJunctions (SCH_COMMIT *aCommit, SCH_SCREEN *aScreen) |
Test all junctions and bus entries in the schematic for intersections with wires and buses and breaks any intersections into multiple segments. | |
int | DrawSegments (const TOOL_EVENT &aEvent) |
int | UnfoldBus (const TOOL_EVENT &aEvent) |
int | AddJunctionsIfNeeded (SCH_COMMIT *aCommit, SCH_SELECTION *aSelection) |
Handle the addition of junctions to a selection of objects. | |
SCH_JUNCTION * | AddJunction (SCH_COMMIT *aCommit, SCH_SCREEN *aScreen, const VECTOR2I &aPos) |
int | TrimOverLappingWires (SCH_COMMIT *aCommit, SCH_SELECTION *aSelection) |
Logic to remove wires when overlapping correct items. | |
void | Reset (RESET_REASON aReason) override |
Bring the tool to a known, initial state. | |
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_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 |
Static Public Member Functions | |
static bool | IsDrawingLineWireOrBus (const SELECTION &aSelection) |
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::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 | |
SCH_EDIT_FRAME * | m_frame |
KIGFX::SCH_VIEW * | m_view |
SCH_SELECTION_TOOL * | m_selectionTool |
bool | m_isSymbolEditor |
EDA_ITEM * | m_pickerItem |
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 |
Private Member Functions | |
int | doDrawSegments (const TOOL_EVENT &aTool, SCH_COMMIT &aCommit, int aType, bool aQuitOnDraw) |
SCH_LINE * | startSegments (SCH_COMMIT &aCommit, int aType, const VECTOR2D &aPos, SCH_LINE *aSegment=nullptr) |
SCH_LINE * | getBusForUnfolding () |
Choose a bus to unfold based on the current tool selection. | |
SCH_LINE * | doUnfoldBus (SCH_COMMIT &aCommit, const wxString &aNet, const std::optional< VECTOR2I > &aPos=std::nullopt) |
Unfold the given bus from the given position. | |
void | finishSegments (SCH_COMMIT &aCommit) |
void | simplifyWireList () |
Iterate over the wire list and removes the null segments and overlapping segments to create a simplified wire list. | |
void | setTransitions () override |
This method is meant to be overridden in order to specify handlers for events. | |
const SCH_SHEET_PIN * | getSheetPin (const VECTOR2I &aPosition) |
Search for a sheet pin at a location. | |
void | computeBreakPoint (const std::pair< SCH_LINE *, SCH_LINE * > &aSegments, VECTOR2I &aPosition, LINE_MODE mode, bool posture) |
Compute the middle coordinate for 2 segments from the start point to aPosition with the segments kept in the horizontal or vertical axis only. | |
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 | |
bool | m_inDrawingTool |
BUS_UNFOLDING_T | m_busUnfold |
std::vector< SCH_LINE * > | m_wires |
Tool responsible for drawing/placing items (symbols, wires, buses, labels, etc.)
Definition at line 73 of file sch_line_wire_bus_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
SCH_LINE_WIRE_BUS_TOOL::SCH_LINE_WIRE_BUS_TOOL | ( | ) |
Definition at line 174 of file sch_line_wire_bus_tool.cpp.
References m_busUnfold, m_inDrawingTool, m_wires, and SCH_TOOL_BASE< SCH_EDIT_FRAME >::SCH_TOOL_BASE().
SCH_LINE_WIRE_BUS_TOOL::~SCH_LINE_WIRE_BUS_TOOL | ( | ) |
Definition at line 183 of file sch_line_wire_bus_tool.cpp.
|
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::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(), 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(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), and DRC_TOOL::ShowDRCDialog().
SCH_JUNCTION * SCH_LINE_WIRE_BUS_TOOL::AddJunction | ( | SCH_COMMIT * | aCommit, |
SCH_SCREEN * | aScreen, | ||
const VECTOR2I & | aPos ) |
Definition at line 1432 of file sch_line_wire_bus_tool.cpp.
References COMMIT::Added(), BreakSegments(), and SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame.
Referenced by AddJunctionsIfNeeded(), SCH_MOVE_TOOL::doMoveSelection(), finishSegments(), and SCH_DRAWING_TOOLS::SingleClickPlace().
int SCH_LINE_WIRE_BUS_TOOL::AddJunctionsIfNeeded | ( | SCH_COMMIT * | aCommit, |
SCH_SELECTION * | aSelection ) |
Handle the addition of junctions to a selection of objects.
Definition at line 1347 of file sch_line_wire_bus_tool.cpp.
References AddJunction(), SCH_SCREEN::GetNeededJunctions(), SELECTION::Items(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, RECURSE, and SCH_GROUP_T.
Referenced by SCH_MOVE_TOOL::AlignToGrid(), SCH_MOVE_TOOL::doMoveSelection(), SCH_EDIT_TOOL::Mirror(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), and SCH_EDIT_TOOL::Rotate().
|
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().
void SCH_LINE_WIRE_BUS_TOOL::BreakSegment | ( | SCH_COMMIT * | aCommit, |
SCH_LINE * | aSegment, | ||
const VECTOR2I & | aPoint, | ||
SCH_LINE ** | aNewSegment, | ||
SCH_SCREEN * | aScreen ) |
Break a single segment into two at the specified point.
aCommit | Transaction container used to record changes for undo/redo |
aSegment | Line segment to break |
aPoint | Point at which to break the segment |
aNewSegment | Pointer to the newly created segment (if created) |
aScreen | is the screen to examine |
Definition at line 1373 of file sch_line_wire_bus_tool.cpp.
References COMMIT::Added(), SCH_LINE::BreakAt(), IS_BROKEN, IS_CHANGED, IS_NEW, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, COMMIT::Modify(), and EDA_ITEM::SetFlags().
Referenced by BreakSegments(), SCH_EDIT_TOOL::BreakWire(), and SCH_EDIT_FRAME::TrimWire().
bool SCH_LINE_WIRE_BUS_TOOL::BreakSegments | ( | SCH_COMMIT * | aCommit, |
const VECTOR2I & | aPoint, | ||
SCH_SCREEN * | aScreen ) |
Check every wire and bus for a intersection at aPoint and break into two segments at aPoint if an intersection is found.
aCommit | Transaction container used to record changes for undo/redo |
aPoint | Test this point for an intersection. |
aScreen | is the screen to examine. |
Definition at line 1391 of file sch_line_wire_bus_tool.cpp.
References BreakSegment(), and SCH_SCREEN::GetBusesAndWires().
Referenced by AddJunction(), and BreakSegmentsOnJunctions().
bool SCH_LINE_WIRE_BUS_TOOL::BreakSegmentsOnJunctions | ( | SCH_COMMIT * | aCommit, |
SCH_SCREEN * | aScreen ) |
Test all junctions and bus entries in the schematic for intersections with wires and buses and breaks any intersections into multiple segments.
aCommit | Transaction container used to record changes for undo/redo |
aScreen | is the screen to examine. |
Definition at line 1406 of file sch_line_wire_bus_tool.cpp.
References BreakSegments(), SCH_BUS_ENTRY_BASE::GetEnd(), SCH_BUS_ENTRY_BASE::GetPosition(), SCH_SCREEN::Items(), EE_RTREE::OfType(), SCH_BUS_WIRE_ENTRY_T, and SCH_JUNCTION_T.
|
private |
Compute the middle coordinate for 2 segments from the start point to aPosition with the segments kept in the horizontal or vertical axis only.
aSegments | A pair of pointers to a SCH_LINE objects containing the first line break point to compute. |
aPosition | A reference to a wxPoint object containing the coordinates of the position used to calculate the line break point. |
mode | LINE_MODE specifying the way to break the line |
posture | Toggles the posture of the line |
Definition at line 471 of file sch_line_wire_bus_tool.cpp.
References std::abs(), delta, SCH_LINE::GetEndPoint(), SCH_TEXT::GetPosition(), getSheetPin(), SCH_SHEET_PIN::GetSide(), SCH_LINE::GetStartPoint(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getView(), KiROUND(), LEFT, LINE_MODE_45, RIGHT, SCH_LINE::SetEndPoint(), SCH_LINE::SetStartPoint(), alg::signbit(), UNDEFINED, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by doDrawSegments().
|
private |
Definition at line 608 of file sch_line_wire_bus_tool.cpp.
References _, std::abs(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::Activate(), GRID_HELPER::ALL, ARROW, busUnfoldPersistentSettings, BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), computeBreakPoint(), ACTIONS::doDelete, doUnfoldBus(), SCH_ITEM::Duplicate(), ACTIONS::finishInteractive, finishSegments(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), SCH_BUS_ENTRY_BASE::GetEnd(), SCH_LINE::GetEndPoint(), SCH_ITEM::GetLayer(), KIGFX::VIEW_CONTROLS::GetMousePosition(), SCH_BUS_ENTRY_BASE::GetSize(), SCH_LINE::GetStartPoint(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getView(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getViewControls(), grid, GRID_GRAPHICS, GRID_WIRES, GRID_HELPER::HORIZONTAL, ID_POPUP_SCH_UNFOLD_BUS, ID_POPUP_SCH_UNFOLD_BUS_END, IS_MOVING, IS_NEW, SCH_LINE::IsNull(), SCH_SCREEN::IsTerminalPoint(), LAYER_BUS, LAYER_NOTES, LAYER_WIRE, LINE_BUS, LINE_GRAPHIC, LINE_MODE_45, LINE_MODE_90, LINE_MODE_FREE, LINE_WIRE, m_busUnfold, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_menu, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_view, m_wires, MD_SHIFT, JUNCTION_HELPERS::PreviewJunctions(), SCH_COMMIT::Push(), ACTIONS::redo, ACTIONS::refreshPreview, SCH_ACTIONS::rotateCCW, SCH_ACTIONS::rotateCW, ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SCH_BUS_ENTRY_BASE::SetSize(), SCH_LINE::SetStartPoint(), KIGFX::VIEW_CONTROLS::ShowCursor(), startSegments(), SCH_ACTIONS::switchSegmentPosture, TA_CHOICE_MENU_CHOICE, TC_COMMAND, ACTIONS::undo, SCH_ACTIONS::undoLastSegment, GRID_HELPER::VERTICAL, SCH_TOOL_BASE< SCH_EDIT_FRAME >::Wait(), KIGFX::VIEW_CONTROLS::WarpMouseCursor(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by DrawSegments(), and UnfoldBus().
|
private |
Unfold the given bus from the given position.
aNet | The name of the net to unfold |
aPos | The position to unfold the bus from, which will be the cursor if not provided, and will then be snapped to the selected bus segment. |
Definition at line 396 of file sch_line_wire_bus_tool.cpp.
References busUnfoldPersistentSettings, getBusForUnfolding(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getModel(), SCH_LINE::GetSeg(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getViewControls(), IS_MOVING, IS_NEW, SCH_SCREEN::Items(), LAYER_WIRE, m_busUnfold, SCHEMATIC_SETTINGS::m_DefaultTextSize, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, SEG::NearestPoint(), EE_RTREE::Overlapping(), ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetCrossHairCursorPosition(), DANGLING_END_ITEM_HELPER::sort_dangling_end_items(), and startSegments().
Referenced by doDrawSegments(), and UnfoldBus().
int SCH_LINE_WIRE_BUS_TOOL::DrawSegments | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 289 of file sch_line_wire_bus_tool.cpp.
References TOOL_EVENT::DisableGridSnapping(), doDrawSegments(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getView(), grid, GRID_GRAPHICS, GRID_WIRES, TOOL_EVENT::HasPosition(), DRAW_SEGMENT_EVENT_PARAMS::layer, LAYER_NOTES, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, m_inDrawingTool, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, MD_SHIFT, TOOL_EVENT::Modifier(), TOOL_EVENT::Parameter(), TOOL_EVENT::Position(), DRAW_SEGMENT_EVENT_PARAMS::quitOnDraw, ACTIONS::selectionClear, DRAW_SEGMENT_EVENT_PARAMS::sourceSegment, and startSegments().
Referenced by setTransitions().
|
private |
Definition at line 1196 of file sch_line_wire_bus_tool.cpp.
References COMMIT::Added(), AddJunction(), KIGFX::VIEW_CONTROLS::CaptureCursor(), SCH_SCREEN::GetConnections(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getViewControls(), IS_MOVING, IS_NEW, IsPointOnSegment(), m_busUnfold, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_view, m_wires, SCH_SYMBOL_T, ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), simplifyWireList(), and SKIP_STRUCT.
Referenced by doDrawSegments().
|
private |
Choose a bus to unfold based on the current tool selection.
Definition at line 389 of file sch_line_wire_bus_tool.cpp.
References SELECTION::Front(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, and SCH_ITEM_LOCATE_BUS_T.
Referenced by doUnfoldBus(), Init(), and UnfoldBus().
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(), 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(), 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().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
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().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 146 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 198 of file tool_base.h.
References getModelInternal(), and T.
Referenced by BOARD_EDITOR_CONTROL::AutoTrackWidth(), PCB_SELECTION_TOOL::board(), PCB_TEST_SELECTION_TOOL::board(), PCB_TOOL_BASE::board(), PCB_VIEWER_TOOLS::board(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::filterSelection(), PCB_GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::HideLocalRatsnest(), EMBED_TOOL::Init(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::pushPadSettings(), BOARD_EDITOR_CONTROL::Reset(), 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 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().
|
private |
Search for a sheet pin at a location.
aPosition | grid point to search for existing sheet pin |
Definition at line 452 of file sch_line_wire_bus_tool.cpp.
References SCH_SHEET::GetPins(), SCH_SCREEN::Items(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, EE_RTREE::Overlapping(), pin, and SCH_SHEET_T.
Referenced by computeBreakPoint().
|
privateinherited |
|
inherited |
Definition at line 112 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(), and SYMBOL_EDITOR_EDIT_TOOL::Init().
|
inlineinherited |
Return 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().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
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::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(), 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(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), 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(), 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().
|
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 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::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(), 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(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), 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().
|
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().
|
privateinherited |
Definition at line 84 of file tool_interactive.cpp.
Referenced by Go().
|
inlineinherited |
Definition at line 110 of file sch_tool_base.h.
Referenced by SCH_EDIT_TOOL::setTransitions().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from TOOL_BASE.
Definition at line 188 of file sch_line_wire_bus_tool.cpp.
References CONDITIONAL_MENU::AddMenu(), SCH_ACTIONS::breakWire, SCH_ACTIONS::clearHighlight, SCH_ACTIONS::drawBus, SCH_ACTIONS::drawLines, SCH_ACTIONS::drawWire, ACTIONS::finishInteractive, getBusForUnfolding(), SCH_EDIT_FRAME::GetHighlightedConnection(), SELECTION_CONDITIONS::Idle(), SCH_TOOL_BASE< T >::Init(), IsDrawingLineWireOrBus(), SCH_ACTIONS::leaveSheet, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_menu, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, SELECTION_CONDITIONS::MoreThan(), SELECTION_CONDITIONS::OnlyTypes(), SCH_ACTIONS::placeClassLabel, SCH_ACTIONS::placeGlobalLabel, SCH_ACTIONS::placeHierLabel, SCH_ACTIONS::placeJunction, SCH_ACTIONS::placeLabel, SCH_ITEM_LOCATE_BUS_T, SCH_ACTIONS::selectConnection, SCH_ACTIONS::selectNode, SELECTION_CONDITIONS::ShowAlways(), SCH_ACTIONS::slice, SCH_ACTIONS::switchSegmentPosture, and SCH_ACTIONS::undoLastSegment.
|
inlineinherited |
Definition at line 247 of file sch_tool_base.h.
Referenced by SCH_EDIT_TOOL::setTransitions().
|
static |
Definition at line 280 of file sch_line_wire_bus_tool.cpp.
References SELECTION::Front(), EDA_ITEM::IsNew(), SCH_LINE_T, and EDA_ITEM::Type().
Referenced by Init(), SCH_MOVE_TOOL::Init(), SCH_SELECTION_TOOL::Init(), and SCH_EDIT_FRAME::setupUIConditions().
|
inlineinherited |
Returns true if the tool is running in the symbol editor.
Definition at line 105 of file sch_tool_base.h.
|
inherited |
Definition at line 32 of file tool_base.cpp.
References m_toolId, and m_toolMgr.
Referenced by EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
inlineoverridevirtualinherited |
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.
Definition at line 90 of file sch_tool_base.h.
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 77 of file tool_interactive.cpp.
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 106 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::PlaceText().
|
inlineprotectedinherited |
Definition at line 333 of file sch_tool_base.h.
Referenced by SCH_EDIT_TOOL::Swap().
|
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 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().
|
overrideprivatevirtual |
This method is meant to be overridden in order to specify handlers for events.
It is called every time tool is reset or finished.
Implements TOOL_INTERACTIVE.
Definition at line 1446 of file sch_line_wire_bus_tool.cpp.
References SCH_ACTIONS::drawBus, SCH_ACTIONS::drawLines, DrawSegments(), SCH_ACTIONS::drawWire, SCH_TOOL_BASE< SCH_EDIT_FRAME >::Go(), UnfoldBus(), and SCH_ACTIONS::unfoldBus.
|
private |
Iterate over the wire list and removes the null segments and overlapping segments to create a simplified wire list.
In a contiguous list of wires, remove wires that backtrack over the previous wire.
Set up handlers for various events.
Example:
Wire is added: ---------------------------------------->
A second wire backtracks over it: ----------------—<====================>
simplifyWireList is called: ------------------->
Definition at line 1162 of file sch_line_wire_bus_tool.cpp.
References SCH_LINE::IsNull(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, m_wires, and SCH_LINE::MergeOverlap().
Referenced by finishSegments().
|
private |
Definition at line 1104 of file sch_line_wire_bus_tool.cpp.
References SCH_ITEM::Duplicate(), IS_MOVING, IS_NEW, LAYER_BUS, LAYER_NOTES, LAYER_WIRE, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_selectionTool, m_wires, EDA_ITEM::SetFlags(), EDA_ITEM::SetParent(), and SCH_LINE::SetStartPoint().
Referenced by doDrawSegments(), doUnfoldBus(), and DrawSegments().
int SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires | ( | SCH_COMMIT * | aCommit, |
SCH_SELECTION * | aSelection ) |
Logic to remove wires when overlapping correct items.
If the line intersects with an item in the selection at only two points, then we can remove the line between the two points.
Definition at line 1303 of file sch_line_wire_bus_tool.cpp.
References SCHEMATIC::CurrentSheet(), SCH_SELECTION::GetBoundingBox(), SCH_ITEM::GetConnectionPoints(), SELECTION::GetItem(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::getModel(), SELECTION::GetSize(), SCH_ITEM::IsConnectable(), IsPointOnSegment(), SCH_SCREEN::Items(), SCH_SHEET_PATH::LastScreen(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, EE_RTREE::Overlapping(), SCH_LINE_T, and EDA_ITEM::Type().
Referenced by SCH_MOVE_TOOL::AlignToGrid(), SCH_MOVE_TOOL::doMoveSelection(), SCH_EDIT_TOOL::Mirror(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), and SCH_EDIT_TOOL::Rotate().
int SCH_LINE_WIRE_BUS_TOOL::UnfoldBus | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 318 of file sch_line_wire_bus_tool.cpp.
References SCH_TOOL_BASE< SCH_EDIT_FRAME >::Activate(), CMENU_NOW, doDrawSegments(), doUnfoldBus(), getBusForUnfolding(), LAYER_WIRE, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_frame, m_inDrawingTool, SCH_TOOL_BASE< SCH_EDIT_FRAME >::m_toolMgr, TOOL_EVENT::Parameter(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::SetContextMenu(), BUS_UNFOLD_MENU::SetShowTitle(), ACTION_MENU::SetTool(), TA_CHOICE_MENU_CHOICE, TA_CHOICE_MENU_CLOSED, and SCH_TOOL_BASE< SCH_EDIT_FRAME >::Wait().
Referenced by setTransitions().
|
inlineprotectedinherited |
Similar to getView()->Update(), but also updates the SCH_SCREEN's RTree.
Similar to m_frame->SaveCopyInUndoList(), but also handles connectivity.
Definition at line 327 of file sch_tool_base.h.
Referenced by SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::CleanupSheetPins(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_EDIT_TOOL::JustifyText(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Swap(), and SCH_MOVE_TOOL::trimDanglingLines().
|
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::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(), 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(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), 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().
|
private |
Definition at line 191 of file sch_line_wire_bus_tool.h.
Referenced by doDrawSegments(), doUnfoldBus(), finishSegments(), and SCH_LINE_WIRE_BUS_TOOL().
|
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_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_EDIT_TOOL::BreakWire(), 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_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_EDITOR_CONTROL::FindSymbolAndItem(), SCH_DRAWING_TOOLS::findWire(), SCH_DRAWING_TOOLS::findWireLabelDriverName(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), 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_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_EDIT_TOOL::JustifyText(), SCH_NAVIGATE_TOOL::LeaveSheet(), SCH_EDITOR_CONTROL::MarkSimExclusions(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveSelectionToSheet(), SCH_EDITOR_CONTROL::New(), SCH_NAVIGATE_TOOL::Next(), SCH_EDITOR_CONTROL::NextLineMode(), 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_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::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_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().
|
private |
Definition at line 189 of file sch_line_wire_bus_tool.h.
Referenced by DrawSegments(), SCH_LINE_WIRE_BUS_TOOL(), and UnfoldBus().
|
protectedinherited |
Definition at line 376 of file sch_tool_base.h.
|
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::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().
|
protectedinherited |
Definition at line 377 of file sch_tool_base.h.
Referenced by SCH_EDIT_TOOL::SCH_EDIT_TOOL().
|
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::BreakWire(), SCH_EDIT_TOOL::ChangeSymbols(), SCH_EDIT_TOOL::ChangeTextType(), 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_LINE_WIRE_BUS_TOOL::getBusForUnfolding(), SCH_EDIT_TABLE_TOOL::getTableCellSelection(), SCH_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TABLE_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SCH_EDIT_TOOL::JustifyText(), SCH_EDIT_TOOL::Mirror(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::SetAttribute(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_EDIT_TOOL::Swap(), SCH_DRAWING_TOOLS::SyncSheetsPins(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
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(), 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(), 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(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), 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(), 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(), 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(), 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(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), 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(), 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().
|
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().
|
protectedinherited |
Definition at line 374 of file sch_tool_base.h.
Referenced by SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_DRAWING_TOOLS::SingleClickPlace(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
private |
Definition at line 192 of file sch_line_wire_bus_tool.h.
Referenced by doDrawSegments(), finishSegments(), SCH_LINE_WIRE_BUS_TOOL(), simplifyWireList(), and startSegments().