KiCad PCB EDA Suite
|
#include <ee_selection_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 | |
EE_SELECTION_TOOL () | |
~EE_SELECTION_TOOL () | |
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) |
The main loop. | |
void | OnIdle (wxIdleEvent &aEvent) |
Zoom the screen to fit the bounding box for cross probing/selection sync. | |
void | ZoomFitCrossProbeBBox (const BOX2I &aBBox) |
EE_SELECTION & | GetSelection () |
EE_SELECTION & | RequestSelection (const std::vector< KICAD_T > &aScanTypes={ SCH_LOCATE_ANY_T }, bool aPromoteCellSelections=false) |
Return either an existing selection (filtered), or the selection at the current cursor position if the existing selection is empty. | |
bool | SelectPoint (const VECTOR2I &aWhere, const std::vector< KICAD_T > &aScanTypes={ SCH_LOCATE_ANY_T }, EDA_ITEM **aItem=nullptr, bool *aSelectionCancelledFlag=nullptr, bool aCheckLocked=false, bool aAdd=false, bool aSubtract=false, bool aExclusiveOr=false) |
Perform a click-type selection at a point (usually the cursor position). | |
EDA_ITEM * | GetNode (const VECTOR2I &aPosition) |
Finds a connected item at a point (usually the cursor position). | |
int | SelectNode (const TOOL_EVENT &aEvent) |
Selects the connected item at the current cursor position. | |
int | SelectConnection (const TOOL_EVENT &aEvent) |
If a connected item is selected then expand the selection to the entire connection, otherwise select connection under the current cursor position. | |
int | SelectColumns (const TOOL_EVENT &aEvent) |
int | SelectRows (const TOOL_EVENT &aEvent) |
int | SelectTable (const TOOL_EVENT &aEvent) |
Clear current selection event handler. | |
int | ClearSelection (const TOOL_EVENT &aEvent) |
Select all visible items in sheet. | |
int | SelectAll (const TOOL_EVENT &aEvent) |
Unselect all visible items in sheet. | |
int | UnselectAll (const TOOL_EVENT &aEvent) |
void | ClearSelection (bool aQuietMode=false) |
bool | Selectable (const EDA_ITEM *aItem, const VECTOR2I *aPos=nullptr, bool checkVisibilityOnly=false) const |
Check conditions for an item to be selected. | |
void | GuessSelectionCandidates (EE_COLLECTOR &collector, const VECTOR2I &aPos) |
Apply heuristics to try and determine a single object when multiple are found under the cursor. | |
void | RebuildSelection () |
Rebuild the selection from the EDA_ITEMs' selection flags. | |
bool | CollectHits (EE_COLLECTOR &aCollector, const VECTOR2I &aWhere, const std::vector< KICAD_T > &aScanTypes={ SCH_LOCATE_ANY_T }) |
Collect one or more items at a given point. | |
void | SyncSelection (const std::optional< SCH_SHEET_PATH > &targetSheetPath, SCH_ITEM *focusItem, const std::vector< SCH_ITEM * > &items) |
SCH_SELECTION_FILTER_OPTIONS & | GetFilter () |
int | UpdateMenu (const TOOL_EVENT &aEvent) |
Update a menu's state based on the current selection. | |
int | AddItemToSel (const TOOL_EVENT &aEvent) |
void | AddItemToSel (EDA_ITEM *aItem, bool aQuietMode=false) |
int | AddItemsToSel (const TOOL_EVENT &aEvent) |
void | AddItemsToSel (EDA_ITEMS *aList, bool aQuietMode=false) |
int | RemoveItemFromSel (const TOOL_EVENT &aEvent) |
void | RemoveItemFromSel (EDA_ITEM *aItem, bool aQuietMode=false) |
int | RemoveItemsFromSel (const TOOL_EVENT &aEvent) |
void | RemoveItemsFromSel (EDA_ITEMS *aList, bool aQuietMode=false) |
void | RemoveItemsFromSel (std::vector< KIID > *aList, bool aQuietMode=false) |
A safer version of RemoveItemsFromSel( EDA_ITEMS ) which doesn't require the items to still exist. | |
int | ReselectItem (const TOOL_EVENT &aEvent) |
void | BrightenItem (EDA_ITEM *aItem) |
void | UnbrightenItem (EDA_ITEM *aItem) |
int | SelectionMenu (const TOOL_EVENT &aEvent) |
Show a popup menu to trim the COLLECTOR passed as aEvent's parameter down to a single item. | |
void | Activate () |
Run the tool. | |
TOOL_MENU & | GetToolMenu () |
void | SetContextMenu (ACTION_MENU *aMenu, CONTEXT_MENU_TRIGGER aTrigger=CMENU_BUTTON) |
Assign a context menu and tells when it should be activated. | |
void | RunMainStack (std::function< void()> aFunc) |
Call a function using the main stack. | |
template<class T > | |
void | Go (int(T::*aStateFunc)(const TOOL_EVENT &), const TOOL_EVENT_LIST &aConditions=TOOL_EVENT(TC_ANY, TA_ANY)) |
Define which state (aStateFunc) to go when a certain event arrives (aConditions). | |
TOOL_EVENT * | Wait (const TOOL_EVENT_LIST &aEventList=TOOL_EVENT(TC_ANY, TA_ANY)) |
Suspend execution of the tool until an event specified in aEventList arrives. | |
TOOL_TYPE | GetType () const |
Return the type of the tool. | |
TOOL_ID | GetId () const |
Return the unique identifier of the tool. | |
const std::string & | GetName () const |
Return the name of the tool. | |
TOOL_MANAGER * | GetManager () const |
Return the instance of TOOL_MANAGER that takes care of the tool. | |
bool | IsToolActive () const |
Protected Member Functions | |
SELECTION & | selection () override |
Return a reference to the selection. | |
void | onDisambiguationExpire (wxTimerEvent &aEvent) |
Start the process to show our disambiguation menu once the user has kept the mouse down for the minimum time. | |
void | setModifiersState (bool aShiftState, bool aCtrlState, bool aAltState) |
Set the configuration of m_additive, m_subtractive, m_exclusive_or, m_skip_heuristics from the state of modifier keys SHIFT, CTRL, ALT and depending on the OS. | |
bool | hasModifier () |
True if a selection modifier is enabled, false otherwise. | |
virtual bool | ctrlClickHighlights () |
Determines if ctrl-click is highlight net or XOR selection. | |
bool | doSelectionMenu (COLLECTOR *aCollector) |
void | attachManager (TOOL_MANAGER *aManager) |
Set the TOOL_MANAGER the tool will belong to. | |
KIGFX::VIEW * | getView () const |
Returns the instance of #VIEW object used in the application. | |
KIGFX::VIEW_CONTROLS * | getViewControls () const |
Return the instance of VIEW_CONTROLS object used in the application. | |
template<typename T > | |
T * | getEditFrame () const |
Return the application window object, casted to requested user type. | |
template<typename T > | |
T * | getModel () const |
Return the model object if it matches the requested type. | |
Protected Attributes | |
bool | m_additive |
bool | m_subtractive |
bool | m_exclusive_or |
bool | m_multiple |
bool | m_skip_heuristics |
bool | m_highlight_modifier |
bool | m_drag_additive |
bool | m_drag_subtractive |
bool | m_canceledMenu |
wxTimer | m_disambiguateTimer |
VECTOR2I | m_originalCursor |
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 | |
OPT_TOOL_EVENT | autostartEvent (TOOL_EVENT *aEvent, EE_GRID_HELPER &aGrid, SCH_ITEM *aItem) |
void | narrowSelection (EE_COLLECTOR &collector, const VECTOR2I &aWhere, bool aCheckLocked, bool aSelectedOnly=false) |
Apply rules to narrow the collection down to selectable objects, and then heuristics to try and narrow it to a single object. | |
bool | selectPoint (EE_COLLECTOR &aCollector, const VECTOR2I &aWhere, EDA_ITEM **aItem=nullptr, bool *aSelectionCancelledFlag=nullptr, bool aAdd=false, bool aSubtract=false, bool aExclusiveOr=false) |
Perform a click-type selection at a point (usually the cursor position). | |
bool | selectMultiple () |
Handle drawing a selection box that allows one to select many items at the same time. | |
bool | selectTableCells (SCH_TABLE *aTable) |
Handle a table cell drag selection within a table. | |
int | disambiguateCursor (const TOOL_EVENT &aEvent) |
Handle disambiguation actions including displaying the menu. | |
void | select (EDA_ITEM *aItem) override |
Take necessary action to mark an item as selected. | |
void | unselect (EDA_ITEM *aItem) override |
Take necessary action to mark an item as unselected. | |
void | highlight (EDA_ITEM *aItem, int aMode, SELECTION *aGroup=nullptr) override |
Highlight the item visually. | |
void | unhighlight (EDA_ITEM *aItem, int aMode, SELECTION *aGroup=nullptr) override |
Unhighlight the item visually. | |
void | updateReferencePoint () |
Set the reference point to the anchor of the top-left item. | |
bool | selectionContains (const VECTOR2I &aPoint) const |
bool | itemPassesFilter (EDA_ITEM *aItem) |
Return true if the given item passes the stateful selection filter. | |
void | setTransitions () override |
This method is meant to be overridden in order to specify handlers for events. | |
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 | |
SCH_BASE_FRAME * | m_frame |
EE_SELECTION | m_selection |
KICURSOR | m_nonModifiedCursor |
bool | m_isSymbolEditor |
bool | m_isSymbolViewer |
int | m_unit |
int | m_bodyStyle |
SCH_SELECTION_FILTER_OPTIONS | m_filter |
Definition at line 63 of file ee_selection_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
EE_SELECTION_TOOL::EE_SELECTION_TOOL | ( | ) |
Definition at line 162 of file ee_selection_tool.cpp.
References SELECTION::Clear(), m_filter, m_selection, and SCH_SELECTION_FILTER_OPTIONS::SetDefaults().
EE_SELECTION_TOOL::~EE_SELECTION_TOOL | ( | ) |
Definition at line 176 of file ee_selection_tool.cpp.
References TOOL_BASE::getView(), m_selection, and KIGFX::VIEW::Remove().
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 64 of file tool_interactive.cpp.
References TOOL_MANAGER::InvokeTool(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_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(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EE_POINT_EDITOR::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), GROUP_TOOL::PickNewMember(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), 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(), DRC_TOOL::ShowDRCDialog(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
inherited |
Definition at line 141 of file selection_tool.cpp.
References SELECTION_TOOL::AddItemsToSel(), TOOL_EVENT::Parameter(), SELECTION_TOOL::selection(), and SELECTION::SetIsHover().
Referenced by SELECTION_TOOL::AddItemsToSel(), SCH_DRAWING_TOOLS::ImportSheet(), Main(), DIALOG_EXCHANGE_FOOTPRINTS::OnOKClicked(), PCB_EDIT_FRAME::RebuildAndRefresh(), setTransitions(), PL_SELECTION_TOOL::setTransitions(), and PCB_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 149 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SELECTION_TOOL::select(), and EVENTS::SelectedEvent.
|
inherited |
Definition at line 108 of file selection_tool.cpp.
References SELECTION_TOOL::AddItemToSel(), TOOL_EVENT::Parameter(), SELECTION_TOOL::selection(), and SELECTION::SetIsHover().
Referenced by SELECTION_TOOL::AddItemToSel(), SCH_EDIT_TOOL::BreakWire(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SCH_EDIT_TOOL::EditField(), EDIT_TOOL::FilletTracks(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), DIALOG_INSPECTOR::onCellClicked(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceTuningPattern(), SELECTION_TOOL::ReselectItem(), setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
inherited |
Definition at line 116 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SELECTION_TOOL::select(), and EVENTS::SelectedEvent.
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 60 of file tool_base.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by TOOL_MANAGER::RegisterTool().
|
private |
Definition at line 1074 of file ee_selection_tool.cpp.
References EESCHEMA_SETTINGS::DRAWING::auto_start_wires, EE_GRID_HELPER::BestSnapAnchor(), SCH_CONNECTION::ConfigureFromLabel(), SCHEMATIC::ConnectionGraph(), EE_ACTIONS::drawBus, EE_ACTIONS::drawLines, EE_ACTIONS::drawWire, SCH_BASE_FRAME::eeconfig(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), EE_GRID_HELPER::GetItemGrid(), SCH_SYMBOL::GetPin(), SCH_BASE_FRAME::GetRenderSettings(), SCH_LABEL_BASE::GetShownText(), TOOL_MANAGER::GetTool(), TOOL_BASE::getViewControls(), EE_POINT_EDITOR::HasPoint(), SCH_CONNECTION::IsBus(), SCH_LINE::IsBus(), SCH_LINE::IsGraphicLine(), SCH_ITEM::IsPointClickableAnchor(), EESCHEMA_SETTINGS::m_Appearance, SCH_BUS_WIRE_ENTRY::m_connected_bus_item, EESCHEMA_SETTINGS::m_Drawing, m_frame, SCH_RENDER_SETTINGS::m_ShowHiddenPins, TOOL_BASE::m_toolMgr, TOOL_ACTION::MakeEvent(), pin, TOOL_EVENT::Position(), SCH_BUS_BUS_ENTRY_T, SCH_BUS_WIRE_ENTRY_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_LINE_T, SCH_SHEET_PIN_T, SCH_SYMBOL_T, SCH_ITEM::Schematic(), EESCHEMA_SETTINGS::APPEARANCE::show_hidden_pins, and EDA_ITEM::Type().
Referenced by Main().
|
inherited |
Definition at line 220 of file selection_tool.cpp.
References BRIGHTENED, and SELECTION_TOOL::highlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
void EE_SELECTION_TOOL::ClearSelection | ( | bool | aQuietMode = false | ) |
Definition at line 2713 of file ee_selection_tool.cpp.
References EVENTS::ClearedEvent, SELECTION::ClearReferencePoint(), SELECTION::Empty(), SELECTION::Front(), SELECTION::GetSize(), TOOL_BASE::getView(), m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SELECTED, SELECTION::SetIsHover(), unhighlight(), and KIGFX::VIEW::Update().
int EE_SELECTION_TOOL::ClearSelection | ( | const TOOL_EVENT & | aEvent | ) |
Select all visible items in sheet.
Definition at line 2408 of file ee_selection_tool.cpp.
References ClearSelection().
Referenced by SCH_EDITOR_CONTROL::AssignNetclass(), SCH_EDIT_TOOL::BreakWire(), ClearSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_EDIT_TOOL::EditField(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_DRAWING_TOOLS::ImportSheet(), Main(), DIALOG_SYMBOL_FIELDS_TABLE::OnTableRangeSelected(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), RequestSelection(), selectMultiple(), selectPoint(), SelectTable(), setTransitions(), SCH_EDITOR_CONTROL::SimTune(), SyncSelection(), and SCH_DRAWING_TOOLS::TwoClickPlace().
bool EE_SELECTION_TOOL::CollectHits | ( | EE_COLLECTOR & | aCollector, |
const VECTOR2I & | aWhere, | ||
const std::vector< KICAD_T > & | aScanTypes = { SCH_LOCATE_ANY_T } |
||
) |
Collect one or more items at a given point.
This method does not attempt to disambiguate multiple items and is simply "collecting".
aCollector | [in, out] Provides collection conditions and stores collected items. |
aWhere | Point from which the collection should be made. |
aScanTypes | [optional] A list of item types that are acceptable for collection. Set selection to items passed by parameter. Zooms to fit, if enabled. |
Definition at line 1187 of file ee_selection_tool.cpp.
References COLLECTOR::Append(), EE_COLLECTOR::Collect(), COLLECTOR::GetCount(), LIB_SYMBOL::GetDrawItems(), SCH_BASE_FRAME::GetRenderSettings(), SCH_BASE_FRAME::GetScreen(), TOOL_BASE::getView(), COLLECTOR::HasItem(), HITTEST_THRESHOLD_PIXELS, KiROUND(), m_bodyStyle, m_filter, m_frame, m_isSymbolEditor, EE_COLLECTOR::m_ShowPinElectricalTypes, SCH_RENDER_SETTINGS::m_ShowPinsElectricalType, COLLECTOR::m_Threshold, m_unit, pin, SCH_SELECTION_FILTER_OPTIONS::pins, and SCH_PIN_T.
Referenced by SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), Main(), and SelectPoint().
|
inlineprotectedvirtualinherited |
Determines if ctrl-click is highlight net or XOR selection.
Reimplemented in PCB_SELECTION_TOOL.
Definition at line 133 of file selection_tool.h.
Referenced by SELECTION_TOOL::setModifiersState().
|
private |
Handle disambiguation actions including displaying the menu.
Definition at line 1144 of file ee_selection_tool.cpp.
References SELECTION_TOOL::m_additive, SELECTION_TOOL::m_canceledMenu, SELECTION_TOOL::m_exclusive_or, SELECTION_TOOL::m_originalCursor, SELECTION_TOOL::m_skip_heuristics, SELECTION_TOOL::m_subtractive, SCH_LOCATE_ANY_T, SelectPoint(), and SELECTION_TOOL::setModifiersState().
Referenced by setTransitions().
|
protectedinherited |
The user has requested the full, non-limited list of selection items
Definition at line 258 of file selection_tool.cpp.
References _, ACTION_MENU::Add(), KIGFX::VIEW::Add(), COLLECTOR::Append(), BRIGHTENED, CMENU_NOW, COLLECTOR::Combine(), ACTION_MENU::DisplayTitle(), COLLECTOR::Empty(), COLLECTOR::GetCount(), EDA_ITEM::GetItemDescription(), EDA_ITEM::GetMenuImage(), TOOL_BASE::getView(), COLLECTOR::HasAdditionalItems(), SELECTION_TOOL::highlight(), LAYER_SELECT_OVERLAY, COLLECTOR::m_MenuTitle, KIGFX::VIEW::Remove(), TOOL_INTERACTIVE::SetContextMenu(), ACTION_MENU::SetIcon(), KIGFX::VIEW_GROUP::SetLayer(), ACTION_MENU::SetTitle(), TA_CHOICE_MENU_CHOICE, TA_CHOICE_MENU_CLOSED, TA_CHOICE_MENU_UPDATE, SELECTION_TOOL::unhighlight(), KIGFX::VIEW::UpdateItems(), and TOOL_INTERACTIVE::Wait().
Referenced by SELECTION_TOOL::SelectionMenu(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), and selectPoint().
|
inlineprotectedinherited |
Return the application window object, casted to requested user type.
Definition at line 186 of file tool_base.h.
References TOOL_BASE::getToolHolderInternal().
Referenced by ZONE_CREATE_HELPER::createNewZone(), and ZONE_CREATE_HELPER::setUniquePriority().
|
inline |
Definition at line 195 of file ee_selection_tool.h.
References m_filter.
Referenced by SCH_EDIT_FRAME::LoadProjectSettings(), PANEL_SCH_SELECTION_FILTER::OnFilterChanged(), PANEL_SCH_SELECTION_FILTER::PANEL_SCH_SELECTION_FILTER(), SCH_EDIT_FRAME::SaveProjectLocalSettings(), SYMBOL_EDIT_FRAME::SaveSettings(), and SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME().
|
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 TOOL_BASE::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 TOOL_BASE::m_toolMgr.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), ZONE_CREATE_HELPER::commitZone(), ZONE_CREATE_HELPER::createNewZone(), PNS_KICAD_IFACE::DisplayItem(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_TUNING_PATTERN::EditStart(), ACTION_MENU::getToolManager(), PNS_KICAD_IFACE::GetUnits(), makeShapeModificationMenu(), ZONE_CREATE_HELPER::OnFirstPoint(), ZONE_CREATE_HELPER::performZoneCutout(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineprotectedinherited |
Return the model object if it matches the requested type.
Definition at line 198 of file tool_base.h.
References TOOL_BASE::getModelInternal().
Referenced by ZONE_CREATE_HELPER::commitZone(), and ZONE_CREATE_HELPER::createZoneFromExisting().
|
privateinherited |
Definition at line 54 of file tool_base.cpp.
References TOOL_MANAGER::GetModel(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getModel().
|
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 TOOL_BASE::m_toolName.
Referenced by TOOL_MANAGER::dispatchInternal(), TOOL_INTERACTIVE::goInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
Finds a connected item at a point (usually the cursor position).
Iterative process with a decreasing slop factor.
aPosition | Cursor position from which the search should be made. |
Definition at line 2230 of file ee_selection_tool.cpp.
References EE_COLLECTOR::Collect(), connectedTypes, COLLECTOR::GetCount(), SCH_BASE_FRAME::GetScreen(), TOOL_BASE::getView(), HITTEST_THRESHOLD_PIXELS, KiROUND(), m_frame, and COLLECTOR::m_Threshold.
Referenced by highlightNet(), and SCH_EDITOR_CONTROL::SimProbe().
EE_SELECTION & EE_SELECTION_TOOL::GetSelection | ( | ) |
Definition at line 1181 of file ee_selection_tool.cpp.
References m_selection.
Referenced by SCH_PROPERTIES_PANEL::AfterCommit(), SCH_EDIT_FRAME::AnnotateSymbols(), SCH_EDITOR_CONTROL::AssignNetclass(), EE_INSPECTION_TOOL::CrossProbe(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), EE_INSPECTION_TOOL::ExcludeMarker(), SCH_FIND_REPLACE_TOOL::getCurrentMatch(), SCH_PROPERTIES_PANEL::getPropertyFromEvent(), SYMBOL_EDIT_FRAME::HardRedraw(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EE_POINT_EDITOR::Main(), Main(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_PRINTOUT::PrintPage(), SYMBOL_EDITOR_PIN_TOOL::PushPinProperties(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), SCH_BASE_FRAME::RefreshZoomDependentItems(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::SyncSheetsPins(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_EDIT_TOOL::Undo(), SYMBOL_UNIT_MENU::update(), BODY_STYLE_MENU::update(), ALT_PIN_FUNCTION_MENU::update(), PIN_TRICKS_MENU::update(), SCH_PROPERTIES_PANEL::UpdateData(), SCH_FIND_REPLACE_TOOL::UpdateFind(), EE_INSPECTION_TOOL::UpdateMessagePanel(), SCH_PROPERTIES_PANEL::valueChanged(), and SCH_PROPERTIES_PANEL::valueChanging().
|
privateinherited |
Definition at line 48 of file tool_base.cpp.
References TOOL_MANAGER::GetToolHolder(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getEditFrame().
|
inherited |
Definition at line 110 of file tool_interactive.cpp.
References TOOL_INTERACTIVE::m_menu.
Referenced by EDIT_TOOL::doMoveSelection(), EE_INSPECTION_TOOL::Init(), EE_POINT_EDITOR::Init(), SCH_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), SYMBOL_EDITOR_MOVE_TOOL::Init(), SYMBOL_EDITOR_PIN_TOOL::Init(), PL_EDIT_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), CONVERT_TOOL::Init(), EDIT_TOOL::Init(), GENERATOR_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), and POSITION_RELATIVE_TOOL::PositionRelativeInteractively().
|
inlineinherited |
Return the type of the tool.
Definition at line 111 of file tool_base.h.
References TOOL_BASE::m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 36 of file tool_base.cpp.
References TOOL_MANAGER::GetView(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCornerCondition(), ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), EE_INSPECTION_TOOL::CheckSymbol(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), ClearSelection(), CollectHits(), SCH_LINE_WIRE_BUS_TOOL::computeBreakPoint(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_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(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlight(), highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), Reset(), EE_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PNS::TOOL_BASE::Reset(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PCB_CONTROL::Reset(), PCB_SELECTION_TOOL::Reset(), SCH_EDIT_TOOL::Rotate(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), SelectAll(), PCB_SELECTION_TOOL::SelectAll(), selectionContains(), PL_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectionContains(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), selectPoint(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SYMBOL_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SYMBOL_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), SYMBOL_EDITOR_CONTROL::TogglePinAltIcons(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), SCH_FIND_REPLACE_TOOL::UpdateFind(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_TEST_SELECTION_TOOL::view(), ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), ~EE_SELECTION_TOOL(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), and PCB_SELECTION_TOOL::~PCB_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 42 of file tool_base.cpp.
References TOOL_MANAGER::GetViewControls(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), autostartEvent(), SCH_EDIT_TOOL::BreakWire(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), PCB_TEST_SELECTION_TOOL::controls(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), EE_POINT_EDITOR::Main(), Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), PL_SELECTION_TOOL::RequestSelection(), RequestSelection(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), PCB_SELECTION_TOOL::selectCursor(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), SelectNode(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PICKER_TOOL::setControls(), PCB_PICKER_TOOL::setControls(), EE_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), PCB_POINT_EDITOR::setEditedPoint(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::SyncSheetsPins(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_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 TOOL_INTERACTIVE::goInternal().
Referenced by EDA_3D_CONTROLLER::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), EE_INSPECTION_TOOL::setTransitions(), EE_POINT_EDITOR::setTransitions(), setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_DRAWING_TOOLS::setTransitions(), SCH_EDIT_TABLE_TOOL::setTransitions(), SCH_EDIT_TOOL::setTransitions(), SCH_EDITOR_CONTROL::setTransitions(), SCH_FIND_REPLACE_TOOL::setTransitions(), SCH_LINE_WIRE_BUS_TOOL::setTransitions(), SCH_MOVE_TOOL::setTransitions(), SCH_NAVIGATE_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), SYMBOL_EDITOR_CONTROL::setTransitions(), SYMBOL_EDITOR_DRAWING_TOOLS::setTransitions(), SYMBOL_EDITOR_EDIT_TOOL::setTransitions(), SYMBOL_EDITOR_MOVE_TOOL::setTransitions(), SYMBOL_EDITOR_PIN_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), EMBED_TOOL::setTransitions(), PICKER_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ZOOM_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_CALCULATOR_CONTROL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), MICROWAVE_TOOL::setTransitions(), SCRIPTING_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDIT_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), GENERATOR_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), ALIGN_DISTRIBUTE_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and PCB_TEST_SELECTION_TOOL::setTransitions().
|
privateinherited |
Definition at line 83 of file tool_interactive.cpp.
References TOOL_BASE::GetName(), kicadTraceToolStack, TOOL_BASE::m_toolMgr, TOOL_EVENT_LIST::Names(), and TOOL_MANAGER::ScheduleNextState().
Referenced by TOOL_INTERACTIVE::Go().
void EE_SELECTION_TOOL::GuessSelectionCandidates | ( | EE_COLLECTOR & | collector, |
const VECTOR2I & | aPos | ||
) |
Apply heuristics to try and determine a single object when multiple are found under the cursor.
Definition at line 1511 of file ee_selection_tool.cpp.
References ANGLE_HORIZONTAL, ANGLE_VERTICAL, EDA_ITEM::ClearFlags(), SHAPE_RECT::Collide(), BOX2< Vec >::Contains(), SEG::Distance(), VECTOR2< T >::Distance(), SCH_SYMBOL::GetBodyBoundingBox(), EDA_ITEM::GetBoundingBox(), SCH_FIELD::GetBoundingBox(), BOX2< Vec >::GetCenter(), COLLECTOR::GetCount(), EDA_TEXT::GetEffectiveTextShape(), BOX2< Vec >::GetHeight(), EDA_ITEM::GetParent(), BOX2< Vec >::GetPosition(), SCH_BASE_FRAME::GetRenderSettings(), SCH_LINE::GetSeg(), EDA_SHAPE::GetShape(), EDA_TEXT::GetTextAngle(), TOOL_BASE::getView(), BOX2< Vec >::GetWidth(), EDA_ITEM::HitTest(), BOX2< Vec >::Inflate(), EDA_SHAPE::IsFilled(), EDA_ANGLE::IsHorizontal(), KiROUND(), m_frame, SCH_RENDER_SETTINGS::m_ShowPinsElectricalType, COLLECTOR::m_Threshold, EDA_SHAPE::MakeEffectiveShapes(), SCH_JUNCTION_T, SCH_PIN_T, SCH_SYMBOL_T, EDA_ITEM::SetFlags(), SHOW_ELEC_TYPE, text, COLLECTOR::Transfer(), and EDA_ITEM::Type().
Referenced by SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), narrowSelection(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
protectedinherited |
True if a selection modifier is enabled, false otherwise.
Definition at line 87 of file selection_tool.cpp.
References SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, and SELECTION_TOOL::m_subtractive.
Referenced by Main(), PL_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), and SELECTION_TOOL::onDisambiguationExpire().
|
overrideprivatevirtual |
Highlight the item visually.
aItem | The item to be highlighted. |
aMode | Either SELECTED or BRIGHTENED |
aGroup | [otpional] A group to add the item to. |
Implements SELECTION_TOOL.
Definition at line 2744 of file ee_selection_tool.cpp.
References SELECTION::Add(), BRIGHTENED, EDA_ITEM::GetParent(), TOOL_BASE::getView(), KIGFX::VIEW::Hide(), KIGFX::REPAINT, SCHEMATIC_T, SELECTED, EDA_ITEM::SetBrightened(), EDA_ITEM::SetSelected(), EDA_ITEM::Type(), and KIGFX::VIEW::Update().
Referenced by select().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from TOOL_BASE.
Definition at line 218 of file ee_selection_tool.cpp.
References EDA_DRAW_FRAME::AddStandardSubMenus(), EE_ACTIONS::assignNetclass, EE_ACTIONS::breakWire, EE_ACTIONS::clearHighlight, connectedLineTypes, connectedTypes, SELECTION_CONDITIONS::Count(), crossProbingTypes, EE_ACTIONS::drawBus, EE_ACTIONS::drawWire, EE_ACTIONS::editPageNumber, SELECTION_CONDITIONS::Empty(), EE_ACTIONS::enterSheet, ACTIONS::finishInteractive, SYMBOL_EDIT_FRAME::GetBodyStyle(), SCH_EDIT_FRAME::GetCurrentSheet(), SYMBOL_EDIT_FRAME::GetCurSymbol(), SCH_EDIT_FRAME::GetHighlightedConnection(), SYMBOL_EDIT_FRAME::GetUnit(), SELECTION_CONDITIONS::HasTypes(), SELECTION_CONDITIONS::Idle(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), LIB_SYMBOL::IsMulti(), SYMBOL_EDIT_FRAME::IsSymbolAlias(), SYMBOL_EDIT_FRAME::IsSymbolEditable(), SCH_SHEET_PATH::Last(), EE_ACTIONS::leaveSheet, SELECTION_CONDITIONS::LessThan(), lineTypes, m_bodyStyle, SELECTION_TOOL::m_disambiguateTimer, m_frame, m_isSymbolEditor, m_isSymbolViewer, TOOL_INTERACTIVE::m_menu, m_unit, SELECTION_CONDITIONS::MoreThan(), SELECTION_TOOL::onDisambiguationExpire(), SELECTION_CONDITIONS::OnlyTypes(), EE_ACTIONS::pinTable, EE_ACTIONS::placeClassLabel, EE_ACTIONS::placeGlobalLabel, EE_ACTIONS::placeHierLabel, EE_ACTIONS::placeJunction, EE_ACTIONS::placeLabel, EE_ACTIONS::placeSheetPin, SCHEMATIC::Root(), SCH_EDIT_FRAME::Schematic(), ACTIONS::selectColumns, EE_ACTIONS::selectOnPCB, ACTIONS::selectRows, ACTIONS::selectTable, EE_ACTIONS::setUnitDisplayName, sheetTypes, EE_ACTIONS::slice, EE_ACTIONS::symbolProperties, EE_ACTIONS::syncSheetPins, and tableCellTypes.
|
inherited |
Definition at line 31 of file tool_base.cpp.
References TOOL_MANAGER::IsToolActive(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
private |
Return true if the given item passes the stateful selection filter.
Set up handlers for various events.
Definition at line 1767 of file ee_selection_tool.cpp.
References SCH_SELECTION_FILTER_OPTIONS::graphics, SCH_SELECTION_FILTER_OPTIONS::images, SCH_SELECTION_FILTER_OPTIONS::labels, LAYER_BUS, LAYER_WIRE, SCH_SELECTION_FILTER_OPTIONS::lockedItems, m_filter, SCH_SELECTION_FILTER_OPTIONS::otherItems, SCH_SELECTION_FILTER_OPTIONS::pins, SCH_BITMAP_T, SCH_FIELD_T, SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_LINE_T, SCH_PIN_T, SCH_SHAPE_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_SYMBOL_T, SCH_TABLE_T, SCH_TABLECELL_T, SCH_TEXT_T, SCH_TEXTBOX_T, SCH_SELECTION_FILTER_OPTIONS::symbols, SCH_SELECTION_FILTER_OPTIONS::text, EDA_ITEM::Type(), and SCH_SELECTION_FILTER_OPTIONS::wires.
Referenced by narrowSelection(), SelectAll(), and selectMultiple().
int EE_SELECTION_TOOL::Main | ( | const TOOL_EVENT & | aEvent | ) |
The main loop.
Definition at line 388 of file ee_selection_tool.cpp.
References COMMIT::Add(), COMMIT::Added(), SELECTION_TOOL::AddItemsToSel(), SCH_BASE_FRAME::AddToScreen(), autostartEvent(), SPIN_STYLE::BOTTOM, BUT_AUX1, BUT_AUX2, BUT_LEFT, BUT_MIDDLE, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), ClearSelection(), CollectHits(), BOX2< Vec >::Contains(), delta, EE_ACTIONS::drag, EESCHEMA_SETTINGS::INPUT::drag_is_move, EE_ACTIONS::drawBus, EE_ACTIONS::drawLines, EE_ACTIONS::drawWire, dummy, editor, SCH_BASE_FRAME::eeconfig(), COMMIT::Empty(), SELECTION::Empty(), ENDPOINT, EE_ACTIONS::enterSheet, EESCHEMA_SETTINGS::INPUT::esc_clears_net_highlight, SCH_EDIT_FRAME::FlipBodyStyle(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), SELECTION::Front(), SCH_ITEM::GetBodyStyle(), EE_SELECTION::GetBoundingBox(), SCH_BASE_FRAME::GetCanvas(), ADVANCED_CFG::GetCfg(), COLLECTOR::GetCount(), SCH_EDIT_FRAME::GetCurrentSheet(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), TOOLS_HOLDER::GetDragAction(), SCH_LINE::GetEndPoint(), EDA_ITEM::GetFlags(), EDA_DRAW_FRAME::GetItem(), SCH_LABEL_BASE::GetLabelShape(), TOOL_MANAGER::GetMousePosition(), SCH_SYMBOL::GetOrientation(), EDA_ITEM::GetParent(), SCH_EDIT_FRAME::GetScreen(), GetSelection(), SCH_LABEL_BASE::GetShownText(), SCH_SHEET_PIN::GetSide(), TOOL_MANAGER::GetTool(), SCH_DRAW_PANEL::GetView(), TOOL_BASE::getViewControls(), grid, SELECTION_TOOL::hasModifier(), EE_POINT_EDITOR::HasPoint(), ID_POPUP_SCH_ALT_PIN_FUNCTION, ID_POPUP_SCH_ALT_PIN_FUNCTION_END, ID_POPUP_SCH_PIN_TRICKS_END, ID_POPUP_SCH_PIN_TRICKS_GLOBAL_LABEL, ID_POPUP_SCH_PIN_TRICKS_HIER_LABEL, ID_POPUP_SCH_PIN_TRICKS_NET_LABEL, ID_POPUP_SCH_PIN_TRICKS_NO_CONNECT, ID_POPUP_SCH_PIN_TRICKS_START, ID_POPUP_SCH_PIN_TRICKS_WIRE, ID_POPUP_SCH_SELECT_ALT, ID_POPUP_SCH_SELECT_BASE, ID_POPUP_SCH_SELECT_UNIT, ID_POPUP_SCH_SELECT_UNIT_END, ID_POPUP_SCH_UNFOLD_BUS, ID_POPUP_SCH_UNFOLD_BUS_END, ACTIONS::increment, BOX2< Vec >::Inflate(), IS_MOVING, IS_NEW, IS_ROLLOVER, LABEL_BIDI, LABEL_INPUT, LABEL_OUTPUT, LABEL_PASSIVE, LABEL_TRISTATE, DRAW_SEGMENT_EVENT_PARAMS::layer, LAYER_WIRE, SPIN_STYLE::LEFT, SELECTION_TOOL::m_additive, SELECTION_TOOL::m_disambiguateTimer, SELECTION_TOOL::m_exclusive_or, m_frame, EESCHEMA_SETTINGS::m_Input, m_isSymbolEditor, m_isSymbolViewer, TOOL_INTERACTIVE::m_menu, m_nonModifiedCursor, SELECTION_TOOL::m_originalCursor, m_selection, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, TOOL_ACTION::MakeEvent(), MD_ALT, MD_CTRL, MD_SHIFT, EE_COLLECTOR::MovableItems, EE_ACTIONS::move, narrowSelection(), EE_ACTIONS::navigateBack, EE_ACTIONS::navigateForward, niluuid, pin, TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), EE_ACTIONS::properties, SCH_COMMIT::Push(), DRAW_SEGMENT_EVENT_PARAMS::quitOnDraw, RequestSelection(), SCH_COMMIT::Revert(), SPIN_STYLE::RIGHT, RotateAndMirrorPin(), TOOL_MANAGER::RunAction(), TOOL_MANAGER::RunSynchronousAction(), SCH_FIELD_T, SCH_PIN_T, SCH_SHAPE_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_TEXT_T, SCH_TEXTBOX_T, selectionContains(), selectMultiple(), SelectPoint(), selectPoint(), selectTableCells(), KIGFX::VIEW_CONTROLS::SetAutoPan(), KIGFX::VIEW_CONTROLS::SetCrossHairCursorPosition(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), SCH_LINE::SetEndPoint(), EDA_ITEM::SetFlags(), SELECTION::SetIsHover(), SELECTION_TOOL::setModifiersState(), SCH_LABEL_BASE::SetShape(), SCH_LABEL_BASE::SetSpinStyle(), DRAW_SEGMENT_EVENT_PARAMS::sourceSegment, TA_CHOICE_MENU_CHOICE, TA_MOUSE_WHEEL, TA_UNDO_REDO_PRE, TC_COMMAND, TOOLS_HOLDER::ToolStackIsEmpty(), EDA_ITEM::Type(), EE_ACTIONS::unfoldBus, SPIN_STYLE::UP, KIGFX::VIEW::Update(), TOOL_INTERACTIVE::Wait(), KIGFX::VIEW_CONTROLS::WarpMouseCursor(), VECTOR2< T >::x, VECTOR2< T >::y, ACTIONS::zoomFitObjects, and ACTIONS::zoomFitScreen.
Referenced by setTransitions().
|
private |
Apply rules to narrow the collection down to selectable objects, and then heuristics to try and narrow it to a single object.
aCollector | [in, out] Provides collection conditions and stores collected items. |
aWhere | point where we should narrow (if relevant) |
aCheckLocked | If false, remove locked elements from #collector |
aSelectedOnly | If true, remove non-selected items from #collector |
Definition at line 1231 of file ee_selection_tool.cpp.
References COLLECTOR::GetCount(), SYMBOL_EDIT_FRAME::GetShowInvisibleFields(), SYMBOL_EDIT_FRAME::GetShowInvisiblePins(), GuessSelectionCandidates(), SCH_PIN::IsVisible(), EDA_TEXT::IsVisible(), itemPassesFilter(), m_frame, SELECTION_TOOL::m_skip_heuristics, COLLECTOR::Remove(), SCH_FIELD_T, SCH_PIN_T, Selectable(), and EDA_ITEM::Type().
Referenced by Main(), and SelectPoint().
|
protectedinherited |
Start the process to show our disambiguation menu once the user has kept the mouse down for the minimum time.
aEvent |
Definition at line 232 of file selection_tool.cpp.
References EVENTS::DisambiguatePoint, SELECTION_TOOL::hasModifier(), TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), and SELECTION_TOOL::selection().
Referenced by Init(), PL_SELECTION_TOOL::Init(), PCB_SELECTION_TOOL::Init(), and PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL().
void EE_SELECTION_TOOL::OnIdle | ( | wxIdleEvent & | aEvent | ) |
Zoom the screen to fit the bounding box for cross probing/selection sync.
Definition at line 1160 of file ee_selection_tool.cpp.
References SCH_BASE_FRAME::GetCanvas(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, m_frame, SELECTION_TOOL::m_multiple, m_nonModifiedCursor, SELECTION_TOOL::m_subtractive, EDA_DRAW_PANEL_GAL::SetCurrentCursor(), SELECTION_TOOL::setModifiersState(), and TOOLS_HOLDER::ToolStackIsEmpty().
Referenced by SCH_BASE_FRAME::SCH_BASE_FRAME().
void EE_SELECTION_TOOL::RebuildSelection | ( | ) |
Rebuild the selection from the EDA_ITEMs' selection flags.
Commonly called after rolling back an undo state to make sure there aren't any stale pointers.
Definition at line 2567 of file ee_selection_tool.cpp.
References SELECTION::Clear(), LIB_SYMBOL::GetDrawItems(), SCH_BASE_FRAME::GetScreen(), EDA_ITEM::IsSelected(), SCH_SCREEN::Items(), m_frame, m_isSymbolEditor, m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), select(), EVENTS::SelectedEvent, and updateReferencePoint().
Referenced by SCH_MOVE_TOOL::doMoveSelection(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), SCH_COMMIT::Revert(), SCH_COMMIT::revertLibEdit(), and SYMBOL_EDITOR_EDIT_TOOL::Undo().
|
inherited |
Definition at line 163 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::selection(), and SELECTION::SetIsHover().
Referenced by PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), EDIT_TOOL::Properties(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::ReselectItem(), SCH_EDIT_FRAME::SchematicCleanUp(), setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().
|
inherited |
Definition at line 171 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SELECTION_TOOL::unselect(), and EVENTS::UnselectedEvent.
|
inherited |
Definition at line 184 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), SELECTION_TOOL::RemoveItemsFromSel(), SELECTION_TOOL::selection(), and SELECTION::SetIsHover().
Referenced by SCH_MOVE_TOOL::doMoveSelection(), PCB_EDIT_FRAME::RebuildAndRefresh(), SELECTION_TOOL::RemoveItemsFromSel(), setTransitions(), PL_SELECTION_TOOL::setTransitions(), and PCB_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 192 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SELECTION_TOOL::unselect(), and EVENTS::UnselectedEvent.
|
inherited |
A safer version of RemoveItemsFromSel( EDA_ITEMS ) which doesn't require the items to still exist.
Definition at line 206 of file selection_tool.cpp.
References alg::contains(), SELECTION_TOOL::RemoveItemsFromSel(), and SELECTION_TOOL::selection().
EE_SELECTION & EE_SELECTION_TOOL::RequestSelection | ( | const std::vector< KICAD_T > & | aScanTypes = { SCH_LOCATE_ANY_T } , |
bool | aPromoteCellSelections = false |
||
) |
Return either an existing selection (filtered), or the selection at the current cursor position if the existing selection is empty.
aScanTypes | [optional] List of item types that are acceptable for selection. |
Definition at line 1696 of file ee_selection_tool.cpp.
References SELECTION::ClearReferencePoint(), ClearSelection(), SELECTION::Empty(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), SELECTION::GetItem(), EDA_ITEM::GetParent(), SELECTION::GetSize(), TOOL_BASE::getViewControls(), EDA_ITEM::IsType(), m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SCH_TABLECELL_T, select(), EVENTS::SelectedEvent, SelectPoint(), SELECTION::SetIsHover(), EDA_ITEM::Type(), unselect(), EVENTS::UnselectedEvent, and updateReferencePoint().
Referenced by SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_TOOL::BreakWire(), SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_EDIT_TOOL::ChangeSymbols(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_EDIT_TOOL::CleanupSheetPins(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), SCH_EDITOR_CONTROL::CopyAsText(), SYMBOL_EDITOR_EDIT_TOOL::CopyAsText(), SCH_EDIT_FRAME::DeleteAnnotation(), EE_INSPECTION_TOOL::DiffSymbol(), SCH_EDITOR_CONTROL::doCopy(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::EditPageNumber(), SCH_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_NAVIGATE_TOOL::EnterSheet(), SCH_LINE_WIRE_BUS_TOOL::getBusForUnfolding(), SCH_EDIT_TABLE_TOOL::getTableCellSelection(), SCH_EDIT_TOOL::Increment(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), SCH_EDIT_TOOL::JustifyText(), Main(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), SelectConnection(), SCH_EDIT_TOOL::SetAttribute(), EE_INSPECTION_TOOL::ShowDatasheet(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), SCH_EDIT_TOOL::ToggleAttribute(), and SCH_EDIT_TOOL::UnsetAttribute().
|
inherited |
Definition at line 129 of file selection_tool.cpp.
References SELECTION_TOOL::AddItemToSel(), TOOL_EVENT::Parameter(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::selection(), and SELECTION::SetIsHover().
Referenced by PCB_SELECTION_TOOL::setTransitions().
|
overridevirtual |
Bring the tool to a known, initial state.
If the tool claimed anything from the model or the view, it must release it when its reset.
aReason | contains information about the reason of tool reset. |
Implements TOOL_BASE.
Definition at line 349 of file ee_selection_tool.cpp.
References KIGFX::VIEW::Add(), SELECTION::Clear(), SYMBOL_EDIT_FRAME::GetBodyStyle(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), SYMBOL_EDIT_FRAME::GetUnit(), TOOL_BASE::getView(), m_bodyStyle, m_frame, m_isSymbolEditor, m_isSymbolViewer, m_selection, m_unit, TOOL_BASE::MODEL_RELOAD, TOOL_BASE::REDRAW, KIGFX::VIEW::Remove(), KIGFX::RENDER_SETTINGS::SetHighlight(), TOOL_BASE::SHUTDOWN, and TOOL_BASE::SUPERMODEL_RELOAD.
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 76 of file tool_interactive.cpp.
References TOOL_MANAGER::ClearTransitions(), TOOL_BASE::m_toolMgr, and TOOL_INTERACTIVE::setTransitions().
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 104 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::RunMainStack().
Referenced by DRAWING_TOOL::PlaceText().
|
overrideprivatevirtual |
Take necessary action to mark an item as selected.
aItem | The item to be selected. |
Implements SELECTION_TOOL.
Definition at line 2732 of file ee_selection_tool.cpp.
References highlight(), m_selection, and SELECTED.
Referenced by RebuildSelection(), RequestSelection(), SelectAll(), SelectColumns(), SelectConnection(), selectMultiple(), selectPoint(), SelectRows(), SelectTable(), selectTableCells(), and SyncSelection().
bool EE_SELECTION_TOOL::Selectable | ( | const EDA_ITEM * | aItem, |
const VECTOR2I * | aPos = nullptr , |
||
bool | checkVisibilityOnly = false |
||
) | const |
Check conditions for an item to be selected.
Definition at line 2609 of file ee_selection_tool.cpp.
References SCH_BASE_FRAME::eeconfig(), SCH_ITEM::GetBodyStyle(), SYMBOL_EDIT_FRAME::GetBodyStyle(), SCH_TABLECELL::GetColSpan(), SCH_TABLECELL::GetRowSpan(), SCH_BASE_FRAME::GetShowAllPins(), SYMBOL_EDIT_FRAME::GetShowInvisibleFields(), SCH_ITEM::GetUnit(), SYMBOL_EDIT_FRAME::GetUnit(), grid, SYMBOL_EDIT_FRAME::IsSymbolAlias(), EDA_TEXT::IsVisible(), LIB_SYMBOL_T, EESCHEMA_SETTINGS::m_Appearance, m_filter, m_frame, TOOL_BASE::m_toolMgr, pin, SCH_SELECTION_FILTER_OPTIONS::pins, SCH_DIRECTIVE_LABEL_T, SCH_FIELD_T, SCH_MARKER_T, SCH_PIN_T, SCH_SHAPE_T, SCH_TABLECELL_T, SCH_TEXT_T, SCH_TEXTBOX_T, EESCHEMA_SETTINGS::APPEARANCE::show_directive_labels, and EDA_ITEM::Type().
Referenced by SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), narrowSelection(), SelectAll(), selectMultiple(), and UnselectAll().
int EE_SELECTION_TOOL::SelectAll | ( | const TOOL_EVENT & | aEvent | ) |
Unselect all visible items in sheet.
Definition at line 1415 of file ee_selection_tool.cpp.
References ENDPOINT, SCH_SHEET::GetPins(), TOOL_BASE::getView(), itemPassesFilter(), SELECTION_TOOL::m_multiple, TOOL_BASE::m_toolMgr, pin, TOOL_MANAGER::ProcessEvent(), KIGFX::VIEW::Query(), SCH_LINE_T, select(), Selectable(), EVENTS::SelectedEvent, EDA_ITEM::SetFlags(), BOX2< Vec >::SetMaximum(), and STARTPOINT.
Referenced by setTransitions().
int EE_SELECTION_TOOL::SelectColumns | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2309 of file ee_selection_tool.cpp.
References EDA_ITEM::IsSelected(), m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), select(), and EVENTS::SelectedEvent.
Referenced by setTransitions().
int EE_SELECTION_TOOL::SelectConnection | ( | const TOOL_EVENT & | aEvent | ) |
If a connected item is selected then expand the selection to the entire connection, otherwise select connection under the current cursor position.
Definition at line 2261 of file ee_selection_tool.cpp.
References SCH_SCREEN::ClearDrawingState(), SELECTION::Empty(), SELECTION::GetItems(), SCH_BASE_FRAME::GetScreen(), SELECTION::GetSize(), m_frame, m_selection, TOOL_BASE::m_toolMgr, SCH_SCREEN::MarkConnections(), TOOL_MANAGER::ProcessEvent(), RequestSelection(), SCH_ITEM_LOCATE_BUS_T, SCH_ITEM_LOCATE_GRAPHIC_LINE_T, SCH_ITEM_LOCATE_WIRE_T, SCH_LINE_T, select(), and EVENTS::SelectedEvent.
Referenced by setTransitions().
|
inlineoverrideprotectedvirtual |
Return a reference to the selection.
Implements SELECTION_TOOL.
Definition at line 198 of file ee_selection_tool.h.
References m_selection.
|
private |
Definition at line 2832 of file ee_selection_tool.cpp.
References BOX2< Vec >::Contains(), TOOL_BASE::getView(), BOX2< Vec >::Inflate(), KiROUND(), and m_selection.
Referenced by Main().
|
inherited |
Show a popup menu to trim the COLLECTOR passed as aEvent's parameter down to a single item.
Definition at line 247 of file selection_tool.cpp.
References SELECTION_TOOL::doSelectionMenu(), COLLECTOR::m_MenuCancelled, and TOOL_EVENT::Parameter().
Referenced by setTransitions(), PL_SELECTION_TOOL::setTransitions(), and PCB_SELECTION_TOOL::setTransitions().
|
private |
Handle drawing a selection box that allows one to select many items at the same time.
Definition at line 1881 of file ee_selection_tool.cpp.
References KIGFX::VIEW::Add(), allowedActions, BUT_LEFT, CANDIDATE, EDA_ITEM::ClearFlags(), SELECTION::ClearReferencePoint(), ClearSelection(), BOX2< Vec >::Contains(), ENDPOINT, SCH_BASE_FRAME::GetCanvas(), KIGFX::PREVIEW::SELECTION_AREA::GetEnd(), SCH_LINE::GetEndPoint(), KIGFX::PREVIEW::SELECTION_AREA::GetOrigin(), SCH_BASE_FRAME::GetRenderSettings(), SCH_LINE::GetStartPoint(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), EDA_ITEM::HasFlag(), SCH_LINE::HitTest(), SCH_LINE::IsEndDangling(), KIGFX::VIEW::IsMirroredX(), EDA_ITEM::IsSelected(), SCH_LINE::IsStartDangling(), EDA_BASE_FRAME::IsType(), itemPassesFilter(), SELECTION_TOOL::m_drag_additive, SELECTION_TOOL::m_drag_subtractive, SELECTION_TOOL::m_exclusive_or, m_frame, SELECTION_TOOL::m_multiple, m_selection, SCH_RENDER_SETTINGS::m_ShowPinsElectricalType, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, BOX2< Vec >::Normalize(), pin, TOOL_MANAGER::ProcessEvent(), KIGFX::VIEW::Query(), KIGFX::VIEW::Remove(), SCH_LINE_T, select(), Selectable(), EVENTS::SelectedEvent, KIGFX::PREVIEW::SELECTION_AREA::SetAdditive(), KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), KIGFX::PREVIEW::SELECTION_AREA::SetEnd(), KIGFX::PREVIEW::SELECTION_AREA::SetExclusiveOr(), EDA_ITEM::SetFlags(), SELECTION::SetIsHover(), KIGFX::PREVIEW::SELECTION_AREA::SetOrigin(), KIGFX::PREVIEW::SELECTION_AREA::SetSubtractive(), KIGFX::VIEW::SetVisible(), SHOW_ELEC_TYPE, STARTPOINT, unselect(), EVENTS::UnselectedEvent, KIGFX::VIEW::Update(), KIGFX::PREVIEW::SELECTION_AREA::ViewBBox(), TOOL_INTERACTIVE::Wait(), VECTOR2< T >::x, EDA_ITEM::XorFlags(), and VECTOR2< T >::y.
Referenced by Main().
int EE_SELECTION_TOOL::SelectNode | ( | const TOOL_EVENT & | aEvent | ) |
Selects the connected item at the current cursor position.
Iterative process with a decreasing slop factor.
Definition at line 2252 of file ee_selection_tool.cpp.
References connectedTypes, KIGFX::VIEW_CONTROLS::GetCursorPosition(), TOOL_BASE::getViewControls(), and SelectPoint().
Referenced by setTransitions().
bool EE_SELECTION_TOOL::SelectPoint | ( | const VECTOR2I & | aWhere, |
const std::vector< KICAD_T > & | aScanTypes = { SCH_LOCATE_ANY_T } , |
||
EDA_ITEM ** | aItem = nullptr , |
||
bool * | aSelectionCancelledFlag = nullptr , |
||
bool | aCheckLocked = false , |
||
bool | aAdd = false , |
||
bool | aSubtract = false , |
||
bool | aExclusiveOr = false |
||
) |
Perform a click-type selection at a point (usually the cursor position).
aWhere | Point from which the selection should be made. |
aScanTypes | [optional] List of item types that are acceptable for selection. |
aItem | [out, optional] The newly selected item if only one was selected, otherwise unchanged. |
aSelectionCancelledFlag | [out] Allows the function to inform its caller that a selection was canceled (for instance, by clicking outside of the disambiguation menu). |
aCheckLocked | Indicates if locked items should be excluded. |
aAdd | Indicates if found item(s) should be added to the selection. |
aSubtract | Indicates if found item(s) should be subtracted from the selection. |
aExclusiveOr | Indicates if found item(s) should be toggle in the selection. |
Definition at line 1397 of file ee_selection_tool.cpp.
References CollectHits(), narrowSelection(), and selectPoint().
Referenced by disambiguateCursor(), Main(), RequestSelection(), SelectNode(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SyncSheetsPins(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
private |
Perform a click-type selection at a point (usually the cursor position).
aCollector | [in, out] Provides collection conditions and stores collected items. |
aWhere | Point from which the selection should be made. |
aItem | [out, optional] The newly selected item if only one was selected, otherwise unchanged. |
aSelectionCancelledFlag | [out] Allows the function to inform its caller that a selection was canceled (for instance, by clicking outside of the disambiguation menu). |
aAdd | Indicates if found item(s) should be added to the selection. |
aSubtract | Indicates if found item(s) should be subtracted from the selection. |
aExclusiveOr | Indicates if found item(s) should be toggle in the selection. |
Definition at line 1294 of file ee_selection_tool.cpp.
References SELECTION::ClearReferencePoint(), ClearSelection(), VECTOR2< T >::Distance(), SELECTION_TOOL::doSelectionMenu(), ENDPOINT, COLLECTOR::GetCount(), SCH_LINE::GetEndPoint(), SCH_LINE::GetStartPoint(), TOOL_BASE::getView(), COLLECTOR::m_MenuCancelled, m_selection, COLLECTOR::m_Threshold, TOOL_BASE::m_toolMgr, EVENTS::PointSelectedEvent, TOOL_MANAGER::ProcessEvent(), TOOL_MANAGER::RunAction(), SCH_LINE_T, select(), EVENTS::SelectedEvent, EE_ACTIONS::selectionMenu, STARTPOINT, unselect(), EVENTS::UnselectedEvent, and KIGFX::VIEW::Update().
Referenced by Main(), and SelectPoint().
int EE_SELECTION_TOOL::SelectRows | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2344 of file ee_selection_tool.cpp.
References EDA_ITEM::IsSelected(), m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), select(), and EVENTS::SelectedEvent.
Referenced by setTransitions().
int EE_SELECTION_TOOL::SelectTable | ( | const TOOL_EVENT & | aEvent | ) |
Clear current selection event handler.
Definition at line 2379 of file ee_selection_tool.cpp.
References ClearSelection(), m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), select(), and EVENTS::SelectedEvent.
Referenced by setTransitions().
|
private |
Handle a table cell drag selection within a table.
Definition at line 2124 of file ee_selection_tool.cpp.
References allowedActions, BUT_LEFT, CANDIDATE, SELECTION::ClearReferencePoint(), SCH_TABLE::GetCells(), TOOL_BASE::getViewControls(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, SELECTION_TOOL::m_multiple, m_selection, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, BOX2< Vec >::Normalize(), TOOL_MANAGER::ProcessEvent(), select(), EVENTS::SelectedEvent, KIGFX::VIEW_CONTROLS::SetAutoPan(), SELECTION::SetIsHover(), unselect(), EVENTS::UnselectedEvent, and TOOL_INTERACTIVE::Wait().
Referenced by Main().
|
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 93 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ScheduleContextMenu(), and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::DrawVia(), TOOL_MENU::ShowContextMenu(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
protectedinherited |
Set the configuration of m_additive, m_subtractive, m_exclusive_or, m_skip_heuristics from the state of modifier keys SHIFT, CTRL, ALT and depending on the OS.
Definition at line 49 of file selection_tool.cpp.
References SELECTION_TOOL::ctrlClickHighlights(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_drag_additive, SELECTION_TOOL::m_drag_subtractive, SELECTION_TOOL::m_exclusive_or, SELECTION_TOOL::m_highlight_modifier, SELECTION_TOOL::m_skip_heuristics, and SELECTION_TOOL::m_subtractive.
Referenced by disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::disambiguateCursor(), Main(), GERBVIEW_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), OnIdle(), and PCB_SELECTION_TOOL::OnIdle().
|
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 2851 of file ee_selection_tool.cpp.
References EE_ACTIONS::addItemsToSel, SELECTION_TOOL::AddItemsToSel(), EE_ACTIONS::addItemToSel, SELECTION_TOOL::AddItemToSel(), EE_ACTIONS::clearSelection, ClearSelection(), disambiguateCursor(), EVENTS::DisambiguatePoint, TOOL_INTERACTIVE::Go(), Main(), EE_ACTIONS::removeItemFromSel, SELECTION_TOOL::RemoveItemFromSel(), EE_ACTIONS::removeItemsFromSel, SELECTION_TOOL::RemoveItemsFromSel(), SelectAll(), ACTIONS::selectAll, SelectColumns(), ACTIONS::selectColumns, EE_ACTIONS::selectConnection, SelectConnection(), EE_ACTIONS::selectionActivate, EE_ACTIONS::selectionMenu, SELECTION_TOOL::SelectionMenu(), EE_ACTIONS::selectNode, SelectNode(), SelectRows(), ACTIONS::selectRows, SelectTable(), ACTIONS::selectTable, UnselectAll(), ACTIONS::unselectAll, ACTIONS::updateMenu, and SELECTION_TOOL::UpdateMenu().
void EE_SELECTION_TOOL::SyncSelection | ( | const std::optional< SCH_SHEET_PATH > & | targetSheetPath, |
SCH_ITEM * | focusItem, | ||
const std::vector< SCH_ITEM * > & | items | ||
) |
Definition at line 2517 of file ee_selection_tool.cpp.
References CROSS_PROBING_SETTINGS::center_on_items, BOX2< Vec >::Centre(), SCH_SCREEN::CheckIfOnDrawList(), ClearSelection(), SCHEMATIC::CurrentSheet(), SCH_EDIT_FRAME::DisplayCurrentSheet(), SCH_BASE_FRAME::eeconfig(), SCH_EDIT_FRAME::FocusOnItem(), EDA_DRAW_FRAME::FocusOnLocation(), EE_SELECTION::GetBoundingBox(), BOX2< Vec >::GetHeight(), SCH_BASE_FRAME::GetScreen(), BOX2< Vec >::GetWidth(), APP_SETTINGS_BASE::m_CrossProbing, m_frame, m_selection, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), SCH_EDIT_FRAME::Schematic(), select(), EVENTS::SelectedEvent, SCHEMATIC::SetCurrentSheet(), SELECTION::Size(), CROSS_PROBING_SETTINGS::zoom_to_fit, and ZoomFitCrossProbeBBox().
Referenced by DIALOG_SYMBOL_FIELDS_TABLE::OnTableRangeSelected().
|
inherited |
Definition at line 226 of file selection_tool.cpp.
References BRIGHTENED, and SELECTION_TOOL::unhighlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), and SCH_FIND_REPLACE_TOOL::UpdateFind().
|
overrideprivatevirtual |
Unhighlight the item visually.
aItem | is an item to be highlighted. |
aMode | should be either SELECTED or BRIGHTENED |
aGroup | [optional] A group to remove the item from. |
Implements SELECTION_TOOL.
Definition at line 2783 of file ee_selection_tool.cpp.
References BRIGHTENED, EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearFlags(), EDA_ITEM::ClearSelected(), ENDPOINT, EDA_ITEM::GetParent(), TOOL_BASE::getView(), KIGFX::VIEW::Hide(), SELECTION::Remove(), KIGFX::REPAINT, SCH_LINE_T, SCHEMATIC_T, SELECTED, STARTPOINT, EDA_ITEM::Type(), and KIGFX::VIEW::Update().
Referenced by ClearSelection(), and unselect().
|
overrideprivatevirtual |
Take necessary action to mark an item as unselected.
aItem | The item to be unselected. |
Implements SELECTION_TOOL.
Definition at line 2738 of file ee_selection_tool.cpp.
References m_selection, SELECTED, and unhighlight().
Referenced by RequestSelection(), selectMultiple(), selectPoint(), selectTableCells(), and UnselectAll().
int EE_SELECTION_TOOL::UnselectAll | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1467 of file ee_selection_tool.cpp.
References SCH_SHEET::GetPins(), TOOL_BASE::getView(), SELECTION_TOOL::m_multiple, TOOL_BASE::m_toolMgr, pin, TOOL_MANAGER::ProcessEvent(), KIGFX::VIEW::Query(), Selectable(), BOX2< Vec >::SetMaximum(), unselect(), and EVENTS::UnselectedEvent.
Referenced by setTransitions().
|
inherited |
Update a menu's state based on the current selection.
The menu is passed in aEvent's parameter.
Definition at line 93 of file selection_tool.cpp.
References CONDITIONAL_MENU::Evaluate(), TOOL_EVENT::Parameter(), SELECTION_TOOL::selection(), and ACTION_MENU::UpdateAll().
Referenced by setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and PCB_SELECTION_TOOL::setTransitions().
|
private |
Set the reference point to the anchor of the top-left item.
Definition at line 1857 of file ee_selection_tool.cpp.
References EE_SELECTION::GetTopLeftItem(), m_selection, SELECTION::SetReferencePoint(), and SELECTION::Size().
Referenced by RebuildSelection(), and RequestSelection().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 70 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::ScheduleWait().
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
void EE_SELECTION_TOOL::ZoomFitCrossProbeBBox | ( | const BOX2I & | aBBox | ) |
Definition at line 2415 of file ee_selection_tool.cpp.
References DEFAULT_TEXT_SIZE, BOX2< Vec >::GetSize(), TOOL_BASE::getView(), KIGFX::VIEW::GetViewport(), BOX2< Vec >::GetWidth(), BOX2< Vec >::Inflate(), KiROUND(), EDA_IU_SCALE::MilsToIU(), next(), BOX2< Vec >::Normalize(), schIUScale, KIGFX::VIEW::SetScale(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SyncSelection().
|
protectedinherited |
Definition at line 138 of file selection_tool.h.
Referenced by disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SELECTION_TOOL::hasModifier(), Main(), PL_SELECTION_TOOL::Main(), OnIdle(), PCB_SELECTION_TOOL::OnIdle(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), and SELECTION_TOOL::setModifiersState().
|
private |
Definition at line 313 of file ee_selection_tool.h.
Referenced by CollectHits(), Init(), and Reset().
|
protectedinherited |
Definition at line 149 of file selection_tool.h.
Referenced by disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::disambiguateCursor(), and PCB_SELECTION_TOOL::Main().
|
protectedinherited |
Definition at line 151 of file selection_tool.h.
Referenced by Init(), PL_SELECTION_TOOL::Init(), PCB_SELECTION_TOOL::Init(), Main(), PL_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), and PCB_TEST_SELECTION_TOOL::Main().
|
protectedinherited |
Definition at line 146 of file selection_tool.h.
Referenced by selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), and SELECTION_TOOL::setModifiersState().
|
protectedinherited |
Definition at line 147 of file selection_tool.h.
Referenced by selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), and SELECTION_TOOL::setModifiersState().
|
protectedinherited |
Definition at line 140 of file selection_tool.h.
Referenced by disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SELECTION_TOOL::hasModifier(), Main(), PL_SELECTION_TOOL::Main(), OnIdle(), PCB_SELECTION_TOOL::OnIdle(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), and SELECTION_TOOL::setModifiersState().
|
private |
Definition at line 315 of file ee_selection_tool.h.
Referenced by CollectHits(), EE_SELECTION_TOOL(), GetFilter(), itemPassesFilter(), and Selectable().
|
private |
Definition at line 305 of file ee_selection_tool.h.
Referenced by autostartEvent(), CollectHits(), GetNode(), GuessSelectionCandidates(), Init(), Main(), narrowSelection(), OnIdle(), RebuildSelection(), Reset(), Selectable(), SelectConnection(), selectMultiple(), and SyncSelection().
|
protectedinherited |
Definition at line 145 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::Main(), and SELECTION_TOOL::setModifiersState().
|
private |
Definition at line 310 of file ee_selection_tool.h.
Referenced by CollectHits(), Init(), Main(), RebuildSelection(), and Reset().
|
private |
Definition at line 311 of file ee_selection_tool.h.
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 125 of file tool_interactive.h.
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), TOOL_INTERACTIVE::GetToolMenu(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EDA_3D_CONTROLLER::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), Init(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), GERBVIEW_SELECTION_TOOL::Init(), PICKER_TOOL::Init(), ZOOM_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), DRAWING_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), PAD_TOOL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), TOOL_INTERACTIVE::TOOL_INTERACTIVE(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
protectedinherited |
Definition at line 141 of file selection_tool.h.
Referenced by OnIdle(), PCB_SELECTION_TOOL::OnIdle(), SelectAll(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), and UnselectAll().
|
private |
Definition at line 308 of file ee_selection_tool.h.
|
protectedinherited |
Definition at line 153 of file selection_tool.h.
Referenced by disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::disambiguateCursor(), Main(), PL_SELECTION_TOOL::Main(), and PCB_SELECTION_TOOL::Main().
|
private |
Definition at line 306 of file ee_selection_tool.h.
Referenced by ClearSelection(), EE_SELECTION_TOOL(), GetSelection(), Main(), RebuildSelection(), RequestSelection(), Reset(), select(), SelectColumns(), SelectConnection(), selection(), selectionContains(), selectMultiple(), selectPoint(), SelectRows(), SelectTable(), selectTableCells(), SyncSelection(), unselect(), updateReferencePoint(), and ~EE_SELECTION_TOOL().
|
protectedinherited |
Definition at line 142 of file selection_tool.h.
Referenced by disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::disambiguateCursor(), narrowSelection(), PCB_SELECTION_TOOL::Selectable(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), and SELECTION_TOOL::setModifiersState().
|
protectedinherited |
Definition at line 139 of file selection_tool.h.
Referenced by disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SELECTION_TOOL::hasModifier(), Main(), PL_SELECTION_TOOL::Main(), OnIdle(), PCB_SELECTION_TOOL::OnIdle(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), and SELECTION_TOOL::setModifiersState().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), TOOL_BASE::GetId(), and TOOL_BASE::IsToolActive().
|
protectedinherited |
Definition at line 218 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), EE_POINT_EDITOR::addCorner(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDITOR_CONTROL::AssignNetclass(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), TOOL_BASE::attachManager(), SCH_EDIT_TOOL::AutoplaceFields(), autostartEvent(), SCH_EDIT_TOOL::BreakWire(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_EDITOR_CONTROL::ChangeLineMode(), SCH_EDIT_TOOL::ChangeTextType(), EDIT_TOOL::ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_CONTROL::ClearAllLayers(), SCH_EDITOR_CONTROL::ClearHighlight(), BOARD_INSPECTION_TOOL::ClearHighlight(), GERBVIEW_SELECTION_TOOL::clearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_EDIT_TABLE_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), ClearSelection(), PCB_SELECTION_TOOL::ClearSelection(), SCH_EDITOR_CONTROL::CopyAsText(), SYMBOL_EDITOR_EDIT_TOOL::CopyAsText(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createInductorBetween(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::CursorControl(), SCH_EDITOR_CONTROL::Cut(), PCB_CONTROL::CycleLayerPresets(), SCH_EDIT_TOOL::DdAppendFile(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_EDITOR_CONTROL::doCopy(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::EditField(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), SCH_EDIT_TABLE_TOOL::EditTable(), PCB_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PCB_SELECTION_TOOL::EnterGroup(), GROUP_TOOL::EnterGroup(), SCH_NAVIGATE_TOOL::EnterSheet(), PAD_TOOL::EnumeratePads(), EE_INSPECTION_TOOL::ExcludeMarker(), PCB_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), TOOL_BASE::GetManager(), TOOL_BASE::getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), TOOL_BASE::getToolHolderInternal(), SCH_EDIT_TABLE_TOOL::getToolMgr(), PCB_EDIT_TABLE_TOOL::getToolMgr(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_INTERACTIVE::goInternal(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFastCycle(), SCH_EDITOR_CONTROL::GridFeedback(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), GROUP_TOOL::Group(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_EDIT_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_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(), ALIGN_DISTRIBUTE_TOOL::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), EE_INSPECTION_TOOL::InspectERCError(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), TOOL_BASE::IsToolActive(), SCH_EDIT_TOOL::JustifyText(), EDIT_TOOL::JustifyText(), GROUP_TOOL::LeaveGroup(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), SCH_EDITOR_CONTROL::NextLineMode(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDITOR_CONTROL::Redo(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem(), PCB_SELECTION_TOOL::RequestSelection(), RequestSelection(), EDA_3D_CONTROLLER::Reset(), COMMON_TOOLS::Reset(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), COMMON_TOOLS::ResetLocalCoords(), TOOL_INTERACTIVE::resetTransitions(), ROUTER_TOOL::restoreSelection(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), TOOL_INTERACTIVE::RunMainStack(), DRC_TOOL::RunTests(), Selectable(), SelectAll(), PCB_SELECTION_TOOL::SelectAll(), SelectColumns(), PCB_SELECTION_TOOL::SelectColumns(), SelectConnection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), SelectRows(), PCB_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), SelectTable(), PCB_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), selectTableCells(), DRAWING_TOOL::SetAnchor(), SCH_EDIT_TOOL::SetAttribute(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), DRC_TOOL::ShowDRCDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), PCB_CONTROL::SnapMode(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), SyncSelection(), SCH_EDIT_TOOL::ToggleAttribute(), COMMON_TOOLS::ToggleCursor(), COMMON_TOOLS::ToggleCursorStyle(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleVisibility(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), SCH_MOVE_TOOL::trimDanglingLines(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SYMBOL_EDITOR_EDIT_TOOL::Undo(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSelected(), UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), SCH_EDIT_TOOL::UnsetAttribute(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), 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 216 of file tool_base.h.
Referenced by TOOL_BASE::GetName().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by TOOL_BASE::GetType().
|
private |
Definition at line 312 of file ee_selection_tool.h.
Referenced by CollectHits(), Init(), and Reset().