KiCad PCB EDA Suite
|
The selection tool: currently supports: More...
#include <pcb_selection_tool.h>
Classes | |
class | PRIV |
Private implementation of firewalled private data. More... | |
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 | |
PCB_SELECTION_TOOL () | |
~PCB_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. | |
void | OnIdle (wxIdleEvent &aEvent) |
bool | IsFootprintEditor () |
int | Main (const TOOL_EVENT &aEvent) |
The main loop. | |
PCB_SELECTION & | GetSelection () |
PCB_SELECTION & | RequestSelection (CLIENT_SELECTION_FILTER aClientFilter) |
Return the current selection, filtered according to aClientFilter. | |
int | CursorSelection (const TOOL_EVENT &aEvent) |
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) |
void | ClearSelection (bool aQuietMode=false) |
Select all items on the board. | |
int | SelectAll (const TOOL_EVENT &aEvent) |
Unselect all items on the board. | |
int | UnselectAll (const TOOL_EVENT &aEvent) |
Change the selection mode. | |
int | SetSelectRect (const TOOL_EVENT &aEvent) |
int | SetSelectPoly (const TOOL_EVENT &aEvent) |
int | SelectRectArea (const TOOL_EVENT &aEvent) |
Handles drawing a selection box that allows multiple items to be selected simultaneously. | |
int | SelectPolyArea (const TOOL_EVENT &aEvent) |
Handles drawing a lasso selection area that allows multiple items to be selected simultaneously. | |
void | SelectMultiple (KIGFX::PREVIEW::SELECTION_AREA &aArea, bool aSubtractive=false, bool aExclusiveOr=false) |
Selects multiple PCB items within a specified area. | |
void | FindItem (BOARD_ITEM *aItem) |
Take necessary actions to mark an item as found. | |
void | select (EDA_ITEM *aItem) override |
Take necessary action mark an item as selected. | |
bool | Selectable (const BOARD_ITEM *aItem, bool checkVisibilityOnly=false) const |
void | SelectAllItemsOnNet (int aNetCode, bool aSelect=true) |
Select all items with the given net code. | |
void | GuessSelectionCandidates (GENERAL_COLLECTOR &aCollector, const VECTOR2I &aWhere) const |
Try to guess best selection candidates in case multiple items are clicked, by doing some brain-dead heuristics. | |
void | RebuildSelection () |
Rebuild the selection from the EDA_ITEMs' selection flags. | |
PCB_SELECTION_FILTER_OPTIONS & | GetFilter () |
Set up handlers for various events. | |
void | setTransitions () override |
Zoom the screen to center and fit the current selection. | |
void | zoomFitSelection () |
Zoom the screen to fit the bounding box for cross probing/selection sync. | |
void | ZoomFitCrossProbeBBox (const BOX2I &bbox) |
void | EnterGroup () override |
Enter the group at the head of the current selection. | |
void | ExitGroup (bool aSelectGroup=false) override |
Leave the currently-entered group. | |
PCB_GROUP * | GetEnteredGroup () |
PCB_LAYER_ID | GetActiveLayer () |
void | FilterCollectorForLockedItems (GENERAL_COLLECTOR &aCollector) |
In the PCB editor strip out any locked items unless the OverrideLocks checkbox is set. | |
void | FilterCollectorForHierarchy (GENERAL_COLLECTOR &aCollector, bool aMultiselect) const |
In general we don't want to select both a parent and any of it's children. | |
void | FilterCollectorForFreePads (GENERAL_COLLECTOR &aCollector, bool aForcePromotion=false) const |
Check the "allow free pads" setting and if disabled, replace any pads in the collector with their parent footprints. | |
void | FilterCollectorForTableCells (GENERAL_COLLECTOR &aCollector) const |
Promote any table cell selections to the whole table. | |
void | FilterCollectorForMarkers (GENERAL_COLLECTOR &aCollector) const |
Drop any PCB_MARKERs from the collector. | |
void | FilterCollectedItems (GENERAL_COLLECTOR &aCollector, bool aMultiSelect, PCB_SELECTION_FILTER_OPTIONS *aRejected=nullptr) |
Apply the SELECTION_FITLER_OPTIONS to the collector. | |
void | FilterCollectorForFootprints (GENERAL_COLLECTOR &aCollector, const VECTOR2I &aWhere) const |
Drop footprints that are not directly selected. | |
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 | |
KIGFX::PCB_VIEW * | view () const |
KIGFX::VIEW_CONTROLS * | controls () const |
PCB_BASE_FRAME * | frame () const |
PCB_BASE_EDIT_FRAME * | editFrame () const |
BOARD * | board () const |
PCB_DRAW_PANEL_GAL * | canvas () const |
virtual bool | ctrlClickHighlights () override |
Determine if ctrl-click is highlight net or XOR selection. | |
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. | |
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 |
Items should be added to sel (instead of replacing). | |
bool | m_subtractive |
Items should be removed from selection. | |
bool | m_exclusive_or |
Items' selection state should be toggled. | |
bool | m_multiple |
Multiple selection mode is active. | |
bool | m_skip_heuristics |
Show disambiguation menu for all items under the cursor rather than trying to narrow them down first using heuristics. | |
bool | m_highlight_modifier |
Select highlight net on left click. | |
bool | m_drag_additive |
Add multiple items to selection. | |
bool | m_drag_subtractive |
Remove multiple from selection. | |
bool | m_canceledMenu |
Sets to true if the disambiguation menu was canceled. | |
wxTimer | m_disambiguateTimer |
Timer to show the disambiguate menu. | |
VECTOR2I | m_originalCursor |
Location of original cursor when starting click. | |
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 Types | |
enum | STOP_CONDITION { STOP_AT_JUNCTION , STOP_AT_SEGMENT , STOP_AT_PAD , STOP_NEVER } |
Private Member Functions | |
bool | selectPoint (const VECTOR2I &aWhere, bool aOnDrag=false, bool *aSelectionCancelledFlag=nullptr, CLIENT_SELECTION_FILTER aClientFilter=nullptr) |
Select an item pointed by the parameter aWhere. | |
bool | selectCursor (bool aForceSelect=false, CLIENT_SELECTION_FILTER aClientFilter=nullptr) |
Select an item under the cursor unless there is something already selected. | |
bool | selectTableCells (PCB_TABLE *aTable) |
int | disambiguateCursor (const TOOL_EVENT &aEvent) |
Handle disambiguation actions including displaying the menu. | |
int | expandConnection (const TOOL_EVENT &aEvent) |
Expand the current connected-item selection to the next boundary (junctions, pads, or all) | |
int | unrouteSelected (const TOOL_EVENT &aEvent) |
Unroute the selected board connected items. | |
int | unrouteSegment (const TOOL_EVENT &aEvent) |
Unroute the selected track connected item. | |
int | selectNet (const TOOL_EVENT &aEvent) |
Select all copper connections belonging to the same net(s) as the items in the selection. | |
int | selectUnconnected (const TOOL_EVENT &aEvent) |
Select nearest unconnected footprints on same net as selected items. | |
int | grabUnconnected (const TOOL_EVENT &aEvent) |
Select and move other nearest footprint unconnected on same net as selected items. | |
void | selectAllConnectedTracks (const std::vector< BOARD_CONNECTED_ITEM * > &aStartItems, STOP_CONDITION aStopCondition) |
Select connected tracks and vias. | |
void | selectAllConnectedShapes (const std::vector< PCB_SHAPE * > &aStartItems) |
Select all non-closed shapes that are graphically connected to the given start items. | |
bool | isExpandableGraphicShape (const EDA_ITEM *aItem) const |
void | selectConnections (const std::vector< BOARD_ITEM * > &aItems) |
void | selectAllItemsOnSheet (wxString &aSheetPath) |
Select all items with the given sheet timestamp/UUID name (the sheet path). | |
int | selectSheetContents (const TOOL_EVENT &aEvent) |
Select all footprints belonging to same hierarchical sheet as the selected footprint (same sheet path). | |
int | selectSameSheet (const TOOL_EVENT &aEvent) |
Set selection to items passed by parameter and connected nets (optionally). | |
int | syncSelection (const TOOL_EVENT &aEvent) |
int | syncSelectionWithNets (const TOOL_EVENT &aEvent) |
void | doSyncSelection (const std::vector< BOARD_ITEM * > &aItems, bool aWithNets) |
Invoke filter dialog and modify current selection. | |
int | filterSelection (const TOOL_EVENT &aEvent) |
Return true if the given item passes the current SELECTION_FILTER_OPTIONS. | |
bool | itemPassesFilter (BOARD_ITEM *aItem, bool aMultiSelect, PCB_SELECTION_FILTER_OPTIONS *aRejected=nullptr) |
void | unselect (EDA_ITEM *aItem) override |
Take necessary action mark an item as unselected. | |
void | highlight (EDA_ITEM *aItem, int aHighlightMode, SELECTION *aGroup=nullptr) override |
Highlight the item visually. | |
void | unhighlight (EDA_ITEM *aItem, int aHighlightMode, SELECTION *aGroup=nullptr) override |
Unhighlight the item visually. | |
bool | selectionContains (const VECTOR2I &aPoint) const |
int | hitTestDistance (const VECTOR2I &aWhere, BOARD_ITEM *aItem, int aMaxDistance) const |
int | updateSelection (const TOOL_EVENT &aEvent) |
Event handler to update the selection VIEW_ITEM. | |
void | pruneObscuredSelectionCandidates (GENERAL_COLLECTOR &aCollector) const |
const GENERAL_COLLECTORS_GUIDE | getCollectorsGuide () const |
void | highlightInternal (EDA_ITEM *aItem, int aHighlightMode, bool aUsingOverlay) |
void | unhighlightInternal (EDA_ITEM *aItem, int aHighlightMode, bool aUsingOverlay) |
void | resetTransitions () |
Clear the current transition map and restores the default one created by setTransitions(). | |
void | goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions) |
EDA_ITEM * | getModelInternal () const |
TOOLS_HOLDER * | getToolHolderInternal () const |
Private Attributes | |
PCB_BASE_FRAME * | m_frame |
bool | m_isFootprintEditor |
PCB_SELECTION | m_selection |
PCB_SELECTION_FILTER_OPTIONS | m_filter |
KICURSOR | m_nonModifiedCursor |
PCB_GROUP * | m_enteredGroup |
KIGFX::VIEW_GROUP | m_enteredGroupOverlay |
SELECTION_MODE | m_selectionMode |
std::unique_ptr< PRIV > | m_priv |
The selection tool: currently supports:
Definition at line 65 of file pcb_selection_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
|
private |
Definition at line 364 of file pcb_selection_tool.h.
PCB_SELECTION_TOOL::PCB_SELECTION_TOOL | ( | ) |
Definition at line 117 of file pcb_selection_tool.cpp.
References ARROW, INSIDE_RECTANGLE, m_enteredGroup, m_filter, m_frame, m_isFootprintEditor, m_nonModifiedCursor, m_priv, m_selectionMode, and SELECTION_TOOL::SELECTION_TOOL().
Referenced by Main().
PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL | ( | ) |
Definition at line 141 of file pcb_selection_tool.cpp.
References TOOL_BASE::getView(), m_enteredGroupOverlay, m_selection, SELECTION_TOOL::onDisambiguationExpire(), and KIGFX::VIEW::Remove().
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 65 of file tool_interactive.cpp.
References TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), and DRC_TOOL::ShowDRCDialog().
|
inherited |
Definition at line 141 of file selection_tool.cpp.
References AddItemsToSel(), TOOL_EVENT::Parameter(), selection(), and SELECTION::SetIsHover().
Referenced by AddItemsToSel(), API_HANDLER_PCB::handleAddToSelection(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_SELECTION_TOOL::Main(), DIALOG_EXCHANGE_FOOTPRINTS::OnOKClicked(), PCB_EDIT_FRAME::RebuildAndRefresh(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 149 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, select(), and EVENTS::SelectedEvent.
|
inherited |
Definition at line 108 of file selection_tool.cpp.
References AddItemToSel(), TOOL_EVENT::Parameter(), selection(), and SELECTION::SetIsHover().
Referenced by AddItemToSel(), SCH_DRAWING_TOOLS::ImportSheet(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), DIALOG_INSPECTOR::onCellClicked(), PCB_EDIT_FRAME::OnCrossProbeFlashTimer(), SCH_EDIT_FRAME::OnCrossProbeFlashTimer(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), ReselectItem(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataFromWindow(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataFromWindow().
|
inherited |
Definition at line 116 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, select(), and EVENTS::SelectedEvent.
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 62 of file tool_base.cpp.
References m_toolMgr, and TOOL_MANAGER.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotected |
Definition at line 283 of file pcb_selection_tool.h.
References TOOL_BASE::getModel().
Referenced by FilterCollectorForFootprints(), filterSelection(), getCollectorsGuide(), grabUnconnected(), Main(), RebuildSelection(), Selectable(), selectAllConnectedShapes(), selectAllConnectedTracks(), SelectAllItemsOnNet(), selectAllItemsOnSheet(), selectConnections(), SelectMultiple(), selectPoint(), and selectUnconnected().
|
inherited |
Definition at line 220 of file selection_tool.cpp.
References BRIGHTENED, and highlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), PANEL_COMPONENT_CLASS_ASSIGNMENT::OnHighlightItemsClick(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inlineprotected |
Definition at line 288 of file pcb_selection_tool.h.
References frame(), and PCB_BASE_FRAME::GetCanvas().
Referenced by FindItem().
void PCB_SELECTION_TOOL::ClearSelection | ( | bool | aQuietMode = false | ) |
Select all items on the board.
Definition at line 2977 of file pcb_selection_tool.cpp.
References EVENTS::ClearedEvent, PCB_ACTIONS::hideLocalRatsnest, m_selection, TOOL_BASE::m_toolMgr, SELECTED, unhighlight(), KIGFX::PCB_VIEW::Update(), and view().
int PCB_SELECTION_TOOL::ClearSelection | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1387 of file pcb_selection_tool.cpp.
References ClearSelection().
Referenced by PCB_CONTROL::AppendBoard(), BOARD_EDITOR_CONTROL::AssignNetclass(), ClearSelection(), doSyncSelection(), EnterGroup(), ExitGroup(), filterSelection(), FindItem(), grabUnconnected(), Main(), PCB_EDIT_FRAME::OnCrossProbeFlashTimer(), Reset(), selectCursor(), selectPoint(), SelectPolyArea(), SelectRectArea(), selectSameSheet(), selectSheetContents(), SelectTable(), setTransitions(), unrouteSegment(), unrouteSelected(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineprotected |
Definition at line 268 of file pcb_selection_tool.h.
References TOOL_BASE::getViewControls().
|
overrideprotectedvirtual |
Determine if ctrl-click is highlight net or XOR selection.
Reimplemented from SELECTION_TOOL.
Definition at line 745 of file pcb_selection_tool.cpp.
References m_frame, and m_isFootprintEditor.
int PCB_SELECTION_TOOL::CursorSelection | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1377 of file pcb_selection_tool.cpp.
References TOOL_EVENT::Parameter(), and selectCursor().
Referenced by setTransitions().
|
private |
Handle disambiguation actions including displaying the menu.
Definition at line 1362 of file pcb_selection_tool.cpp.
References SELECTION_TOOL::m_canceledMenu, SELECTION_TOOL::m_originalCursor, SELECTION_TOOL::m_skip_heuristics, 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(), TOOL_BASE::getEditFrame(), EDA_ITEM::GetItemDescription(), EDA_ITEM::GetMenuImage(), TOOL_BASE::getView(), COLLECTOR::HasAdditionalItems(), highlight(), info, INVALID_BITMAP, 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, unhighlight(), KIGFX::VIEW::UpdateItems(), and TOOL_INTERACTIVE::Wait().
Referenced by SelectionMenu(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), and SCH_SELECTION_TOOL::selectPoint().
|
private |
Invoke filter dialog and modify current selection.
Definition at line 2352 of file pcb_selection_tool.cpp.
References BOX2< Vec >::Centre(), ClearSelection(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), m_frame, m_selection, TOOL_BASE::m_toolMgr, select(), selectConnections(), EVENTS::SelectedEvent, KIGFX::VIEW::UpdateAllLayersColor(), view(), and ZoomFitCrossProbeBBox().
Referenced by syncSelection(), and syncSelectionWithNets().
|
inlineprotected |
Definition at line 278 of file pcb_selection_tool.h.
References TOOL_BASE::getEditFrame().
Referenced by selectPoint().
|
overridevirtual |
Enter the group at the head of the current selection.
Reimplemented from SELECTION_TOOL.
Definition at line 598 of file pcb_selection_tool.cpp.
References ClearSelection(), ENTERED, ExitGroup(), KIGFX::VIEW::Hide(), m_enteredGroup, m_enteredGroupOverlay, m_selection, TOOL_BASE::m_toolMgr, PCB_GROUP_T, select(), EVENTS::SelectedEvent, KIGFX::PCB_VIEW::Update(), and view().
Referenced by Main().
|
overridevirtual |
Leave the currently-entered group.
aSelectGroup | [optional] Select the group after leaving. |
Reimplemented from SELECTION_TOOL.
Definition at line 622 of file pcb_selection_tool.cpp.
References ClearSelection(), ENTERED, KIGFX::VIEW::Hide(), m_enteredGroup, m_enteredGroupOverlay, TOOL_BASE::m_toolMgr, select(), EVENTS::SelectedEvent, KIGFX::PCB_VIEW::Update(), and view().
Referenced by EnterGroup(), Main(), Reset(), select(), and selectPoint().
|
private |
Expand the current connected-item selection to the next boundary (junctions, pads, or all)
Definition at line 1559 of file pcb_selection_tool.cpp.
References _, BOARD_CONNECTED_ITEM::ClassOf(), connectedItemFilter(), BOARD_ITEM::IsConnected(), isExpandableGraphicShape(), m_frame, m_selection, TOOL_BASE::m_toolMgr, pad, FOOTPRINT::Pads(), PCB_FOOTPRINT_T, PCB_GENERATOR_T, selectAllConnectedShapes(), selectAllConnectedTracks(), selectCursor(), EVENTS::SelectedEvent, STOP_AT_JUNCTION, STOP_AT_PAD, and STOP_NEVER.
Referenced by setTransitions().
void PCB_SELECTION_TOOL::FilterCollectedItems | ( | GENERAL_COLLECTOR & | aCollector, |
bool | aMultiSelect, | ||
PCB_SELECTION_FILTER_OPTIONS * | aRejected = nullptr ) |
Apply the SELECTION_FITLER_OPTIONS to the collector.
Definition at line 2765 of file pcb_selection_tool.cpp.
References COLLECTOR::GetCount(), itemPassesFilter(), and COLLECTOR::Remove().
Referenced by BOARD_INSPECTION_TOOL::highlightNet(), PCB_CONTROL::InteractiveDelete(), SelectMultiple(), and selectPoint().
void PCB_SELECTION_TOOL::FilterCollectorForFootprints | ( | GENERAL_COLLECTOR & | aCollector, |
const VECTOR2I & | aWhere ) const |
Drop footprints that are not directly selected.
Definition at line 4145 of file pcb_selection_tool.cpp.
References LSET::AllLayersMask(), board(), BOX2ISafe(), BOX2< Vec >::Contains(), dyn_cast(), COLLECTOR::GetCount(), KIGFX::RENDER_SETTINGS::GetHighContrast(), KIGFX::RENDER_SETTINGS::GetHighContrastLayers(), FOOTPRINT::GetLayer(), FOOTPRINT::GetLayerBoundingBox(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), TOOL_BASE::getView(), KIGFX::VIEW::GetViewport(), BOARD::GetVisibleLayers(), FOOTPRINT::HitTestOnLayer(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, m_isFootprintEditor, m_selection, SELECTION_TOOL::m_subtractive, PCB_FOOTPRINT_T, PCB_LAYER_ID_COUNT, COLLECTOR::Remove(), BASE_SET::reset(), BASE_SET::set(), and view().
Referenced by selectPoint().
void PCB_SELECTION_TOOL::FilterCollectorForFreePads | ( | GENERAL_COLLECTOR & | aCollector, |
bool | aForcePromotion = false ) const |
Check the "allow free pads" setting and if disabled, replace any pads in the collector with their parent footprints.
Definition at line 4107 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), frame(), COLLECTOR::GetCount(), BOARD_ITEM::GetParent(), COLLECTOR::HasItem(), m_isFootprintEditor, PCB_PAD_T, COLLECTOR::Remove(), and EDA_ITEM::Type().
Referenced by EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), EDIT_TOOL::Flip(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), EDIT_TOOL::Rotate(), and EDIT_TOOL::Swap().
void PCB_SELECTION_TOOL::FilterCollectorForHierarchy | ( | GENERAL_COLLECTOR & | aCollector, |
bool | aMultiselect ) const |
In general we don't want to select both a parent and any of it's children.
This includes both footprints and their items, and groups and their members.
Definition at line 4014 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), CANDIDATE, COLLECTOR::GetCount(), EDA_ITEM::GetFlags(), BOARD_ITEM::GetParentFootprint(), COLLECTOR::HasItem(), m_enteredGroup, m_isFootprintEditor, COLLECTOR::Remove(), PCB_GROUP::TopLevelGroup(), and PCB_GROUP::WithinScope().
Referenced by EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), ALIGN_DISTRIBUTE_TOOL::DistributeItems(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::Duplicate(), EDIT_TOOL::Flip(), PCB_CONTROL::InteractiveDelete(), EDIT_TOOL::JustifyText(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), EDIT_TOOL::Rotate(), SelectAll(), SelectMultiple(), selectPoint(), and EDIT_TOOL::Swap().
void PCB_SELECTION_TOOL::FilterCollectorForLockedItems | ( | GENERAL_COLLECTOR & | aCollector | ) |
In the PCB editor strip out any locked items unless the OverrideLocks checkbox is set.
Definition at line 3989 of file pcb_selection_tool.cpp.
References FRAME_PCB_EDITOR, COLLECTOR::GetCount(), BOARD_ITEM::IsLocked(), m_frame, RECURSE, COLLECTOR::Remove(), and BOARD_ITEM::RunOnChildren().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), EDIT_TOOL::BooleanPolygons(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), EDIT_TOOL::copyToClipboard(), ALIGN_DISTRIBUTE_TOOL::DistributeItems(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), EDIT_TOOL::HealShapes(), EDIT_TOOL::Increment(), EDIT_TOOL::JustifyText(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), EDIT_TOOL::Rotate(), EDIT_TOOL::SimplifyPolygons(), and EDIT_TOOL::Swap().
void PCB_SELECTION_TOOL::FilterCollectorForMarkers | ( | GENERAL_COLLECTOR & | aCollector | ) | const |
Drop any PCB_MARKERs from the collector.
Definition at line 4132 of file pcb_selection_tool.cpp.
References COLLECTOR::GetCount(), PCB_MARKER_T, COLLECTOR::Remove(), and EDA_ITEM::Type().
Referenced by EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), ALIGN_DISTRIBUTE_TOOL::DistributeItems(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Duplicate(), EDIT_TOOL::Flip(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Rotate(), and EDIT_TOOL::Swap().
void PCB_SELECTION_TOOL::FilterCollectorForTableCells | ( | GENERAL_COLLECTOR & | aCollector | ) | const |
Promote any table cell selections to the whole table.
Definition at line 4084 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), COLLECTOR::GetCount(), BOARD_ITEM::GetParent(), COLLECTOR::HasItem(), PCB_TABLECELL_T, COLLECTOR::Remove(), and EDA_ITEM::Type().
Referenced by EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Duplicate(), EDIT_TOOL::Flip(), EDIT_TOOL::MoveExact(), and EDIT_TOOL::Rotate().
|
private |
Return true if the given item passes the current SELECTION_FILTER_OPTIONS.
Definition at line 2730 of file pcb_selection_tool.cpp.
References board(), ClearSelection(), TOOL_BASE::getModel(), itemIsIncludedByFilter(), m_frame, m_priv, m_selection, TOOL_BASE::m_toolMgr, select(), EVENTS::SelectedEvent, selection(), and DIALOG_SHIM::ShowModal().
Referenced by setTransitions().
void PCB_SELECTION_TOOL::FindItem | ( | BOARD_ITEM * | aItem | ) |
Take necessary actions to mark an item as found.
aItem | The item that was found and needs to be highlighted/focused/etc. |
Definition at line 2600 of file pcb_selection_tool.cpp.
References BOX2ISafe(), canvas(), EVENTS::ClearedEvent, ClearSelection(), BOX2< Vec >::Contains(), EDA_ITEM::GetBoundingBox(), BOARD_ITEM::GetCenter(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetOrigin(), EDA_ITEM::GetPosition(), KIGFX::VIEW::GetScale(), BOX2< Vec >::GetSize(), PCB_DRAW_PANEL_GAL::GetView(), KIGFX::VIEW::GetViewport(), BOX2< Vec >::GetWidth(), m_frame, m_selection, TOOL_BASE::m_toolMgr, PCB_NETINFO_T, scale, select(), SelectAllItemsOnNet(), EVENTS::SelectedEvent, KIGFX::VIEW::SetScale(), EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PCB_EDIT_FRAME::ShowFindDialog().
|
inlineprotected |
Definition at line 273 of file pcb_selection_tool.h.
References TOOL_BASE::getEditFrame().
Referenced by canvas(), FilterCollectorForFreePads(), Init(), Main(), and Selectable().
|
inline |
Definition at line 220 of file pcb_selection_tool.h.
References m_frame.
|
private |
Definition at line 719 of file pcb_selection_tool.cpp.
References board(), BOARD::IsElementVisible(), LAYER_FOOTPRINTS_BK, LAYER_FOOTPRINTS_FR, LAYER_FP_REFERENCES, LAYER_FP_TEXT, LAYER_FP_VALUES, LAYER_PADS, LAYER_TRACKS, LAYER_VIAS, GENERAL_COLLECTORS_GUIDE::SetIgnoreBlindBuriedVias(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFootprintsOnBack(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFootprintsOnFront(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFPReferences(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFPTextOnBack(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFPTextOnFront(), GENERAL_COLLECTORS_GUIDE::SetIgnoreFPValues(), GENERAL_COLLECTORS_GUIDE::SetIgnoreMicroVias(), GENERAL_COLLECTORS_GUIDE::SetIgnorePadsOnBack(), GENERAL_COLLECTORS_GUIDE::SetIgnorePadsOnFront(), GENERAL_COLLECTORS_GUIDE::SetIgnoreThroughHolePads(), GENERAL_COLLECTORS_GUIDE::SetIgnoreThroughVias(), GENERAL_COLLECTORS_GUIDE::SetIgnoreTracks(), and view().
Referenced by Main(), RequestSelection(), selectAllConnectedShapes(), and selectPoint().
Return the application window object, casted to requested user type.
Definition at line 186 of file tool_base.h.
References getToolHolderInternal(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_EDITOR_CONTROL::BoardSetup(), PCB_POINT_EDITOR::chamferCorner(), PCB_POINT_EDITOR::changeArcEditMode(), ZONE_FILLER_TOOL::CheckAllZones(), FOOTPRINT_EDITOR_CONTROL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupTracksAndVias(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), MICROWAVE_TOOL::drawMicrowaveInductor(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_SELECTION_TOOL::editFrame(), GLOBAL_EDIT_TOOL::EditTeardrops(), FOOTPRINT_EDITOR_CONTROL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FOOTPRINT_WIZARD_TOOLS::frame(), PCB_SELECTION_TOOL::frame(), PCB_TEST_SELECTION_TOOL::frame(), PCB_TOOL_BASE::frame(), PCB_VIEWER_TOOLS::frame(), BOARD_EDITOR_CONTROL::GenerateDrillFiles(), BOARD_EDITOR_CONTROL::GeneratePosFile(), GLOBAL_EDIT_TOOL::GlobalDeletions(), PCB_CONTROL::GridPlaceOrigin(), BOARD_EDITOR_CONTROL::ImportNetlist(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), GERBVIEW_SELECTION_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_EDITOR_CONTROL::Init(), PL_POINT_EDITOR::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::movePoint(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelative(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), FOOTPRINT_EDITOR_CONTROL::Properties(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), BITMAP2CMP_CONTROL::Reset(), BOARD_EDITOR_CONTROL::Reset(), BOARD_INSPECTION_TOOL::Reset(), BOARD_REANNOTATE_TOOL::Reset(), COMMON_CONTROL::Reset(), COMMON_TOOLS::Reset(), CVPCB_ASSOCIATION_TOOL::Reset(), CVPCB_CONTROL::Reset(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Reset(), DESIGN_BLOCK_CONTROL::Reset(), DRAWING_TOOL::Reset(), DRC_TOOL::Reset(), EDIT_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Reset(), GERBVIEW_CONTROL::Reset(), GERBVIEW_INSPECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), GROUP_TOOL::Reset(), KICAD_MANAGER_CONTROL::Reset(), LIBRARY_EDITOR_CONTROL::Reset(), PCB_CALCULATOR_CONTROL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_DRAWING_TOOLS::Reset(), PL_EDIT_TOOL::Reset(), PL_EDITOR_CONTROL::Reset(), PL_POINT_EDITOR::Reset(), PL_SELECTION_TOOL::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), SIMULATOR_CONTROL::Reset(), ZOOM_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Revert(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), BOARD_EDITOR_CONTROL::ToggleLayersManager(), BOARD_EDITOR_CONTROL::ToggleLibraryTree(), BOARD_EDITOR_CONTROL::ToggleNetInspector(), BOARD_EDITOR_CONTROL::ToggleProperties(), BOARD_EDITOR_CONTROL::ToggleSearch(), PROPERTIES_TOOL::UpdateProperties(), ZONE_FILLER_TOOL::ZoneFillDirty(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inline |
Definition at line 218 of file pcb_selection_tool.h.
References m_enteredGroup.
Referenced by PCB_CONTROL::placeBoardItems(), and BOARD_COMMIT::Push().
|
inline |
Set up handlers for various events.
Definition at line 189 of file pcb_selection_tool.h.
References m_filter.
Referenced by BOARD_INSPECTION_TOOL::highlightNet(), PCB_EDIT_FRAME::LoadProjectSettings(), and PCB_EDIT_FRAME::saveProjectSettings().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 123 of file tool_base.h.
References m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 146 of file tool_base.h.
References m_toolMgr, and TOOL_MANAGER.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditCancel(), PCB_TUNING_PATTERN::EditFinish(), PCB_TUNING_PATTERN::EditStart(), makeShapeModificationMenu(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
Return the model object if it matches the requested type.
Definition at line 198 of file tool_base.h.
References getModelInternal(), and T.
Referenced by BOARD_EDITOR_CONTROL::AutoTrackWidth(), PCB_SELECTION_TOOL::board(), PCB_TEST_SELECTION_TOOL::board(), PCB_TOOL_BASE::board(), PCB_VIEWER_TOOLS::board(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::filterSelection(), PCB_GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::HideLocalRatsnest(), EMBED_TOOL::Init(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::pushPadSettings(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), EMBED_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::selectPoint(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
privateinherited |
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 136 of file tool_base.h.
References m_toolName.
Referenced by PCB_CONTROL::AppendBoard(), TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().
PCB_SELECTION & PCB_SELECTION_TOOL::GetSelection | ( | ) |
Definition at line 644 of file pcb_selection_tool.cpp.
References m_selection.
Referenced by PCB_PROPERTIES_PANEL::AfterCommit(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), PAD_TOOL::copyPadSettings(), ZONE_CREATE_HELPER::createNewZone(), DRC_TOOL::CrossProbe(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), EDIT_TOOL::Drag(), EDIT_TOOL::GetAndPlace(), PCB_PROPERTIES_PANEL::getPropertyFromEvent(), DRAWING_TOOL::getSourceZoneForAction(), API_HANDLER_PCB::handleAddToSelection(), API_HANDLER_PCB::handleGetSelection(), API_HANDLER_PCB::handleInteractiveMoveItems(), API_HANDLER_PCB::handleRemoveFromSelection(), API_HANDLER_PCB::handleSaveSelectionToString(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), Main(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PAD_TOOL::pastePadProperties(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), PAD_TOOL::pushPadSettings(), PCB_CONTROL::SaveToLinkedDesignBlock(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), SelectPolyArea(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), PCB_PROPERTIES_PANEL::UpdateData(), PCB_CONTROL::UpdateMessagePanel(), PCB_PROPERTIES_PANEL::valueChanged(), PCB_PROPERTIES_PANEL::valueChanging(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().
|
privateinherited |
|
inherited |
Definition at line 112 of file tool_interactive.cpp.
References m_menu.
Referenced by BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), GENERATOR_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), and SYMBOL_EDITOR_EDIT_TOOL::Init().
|
inlineinherited |
Return the type of the tool.
Definition at line 111 of file tool_base.h.
References m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), TOOL_MANAGER::ShutdownTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 38 of file tool_base.cpp.
References m_toolMgr.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::CollectHits(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SCH_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PCB_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), SCH_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_PICKER_TOOL::Main(), PL_POINT_EDITOR::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_SELECTION_TOOL::Reset(), PNS::TOOL_BASE::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), SCH_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), SCH_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TEST_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL(), and SCH_SELECTION_TOOL::~SCH_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 44 of file tool_base.cpp.
References m_toolMgr.
Referenced by PCB_POINT_EDITOR::addCorner(), SCH_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TEST_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), EDIT_TOOL::copyToClipboard(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), BOARD_INSPECTION_TOOL::HighlightNet(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_TOOL_BASE< T >::Increment(), EDIT_TOOL::Init(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Properties(), PL_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), PCB_SELECTION_TOOL::selectCursor(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::SelectNode(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PCB_PICKER_TOOL::setControls(), PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 147 of file tool_interactive.h.
References goInternal(), and T.
Referenced by ALIGN_DISTRIBUTE_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDA_3D_CONTROLLER::setTransitions(), EDIT_TOOL::setTransitions(), EMBED_TOOL::setTransitions(), FOOTPRINT_CHOOSER_SELECTION_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), FOOTPRINT_WIZARD_TOOLS::setTransitions(), GENERATOR_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MICROWAVE_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CALCULATOR_CONTROL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_DESIGN_BLOCK_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_TEST_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), SCRIPTING_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().
|
privateinherited |
Definition at line 84 of file tool_interactive.cpp.
Referenced by Go().
|
private |
Select and move other nearest footprint unconnected on same net as selected items.
Definition at line 2079 of file pcb_selection_tool.cpp.
References board(), ClearSelection(), CN_ANCHOR::Dirty(), BOARD::GetConnectivity(), BOARD_ITEM::GetParentFootprint(), m_selection, TOOL_BASE::m_toolMgr, PCB_ACTIONS::moveIndividually, pad, CN_ANCHOR::Parent(), PCB_FOOTPRINT_T, PCB_PAD_T, select(), and EDA_ITEM::Type().
Referenced by setTransitions().
void PCB_SELECTION_TOOL::GuessSelectionCandidates | ( | GENERAL_COLLECTOR & | aCollector, |
const VECTOR2I & | aWhere ) const |
Try to guess best selection candidates in case multiple items are clicked, by doing some brain-dead heuristics.
aCollector | [in, out] The collector that has a list of items to be narrowed. |
aWhere | The selection point to consider. |
Definition at line 3794 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), B_CrtYd, B_SilkS, COLLECTOR::Empty(), F_CrtYd, F_SilkS, EDA_ITEM::GetBoundingBox(), ADVANCED_CFG::GetCfg(), COLLECTOR::GetCount(), FOOTPRINT::GetCoverageArea(), GENERAL_COLLECTOR::GetGuide(), BOX2< Vec >::GetHeight(), KIGFX::RENDER_SETTINGS::GetHighContrast(), BOARD_ITEM::GetLayer(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), TOOL_BASE::getView(), BOX2< Vec >::GetWidth(), hitTestDistance(), ZONE::HitTestForEdge(), EDA_ITEM::IsType(), KiROUND(), m_frame, COLLECTORS_GUIDE::OnePixelInIU(), PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_VIA_T, PCB_ZONE_T, pruneObscuredSelectionCandidates(), SEG::Square(), COLLECTOR::Transfer(), EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EDIT_TOOL::Drag(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::PlaceTuningPattern(), and selectPoint().
|
protectedinherited |
True if a selection modifier is enabled, false otherwise.
Definition at line 87 of file selection_tool.cpp.
References m_additive, m_exclusive_or, and m_subtractive.
Referenced by PCB_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), and onDisambiguationExpire().
|
overrideprivatevirtual |
Highlight the item visually.
aItem | The item to be highlighted. |
aHighlightMode | Either SELECTED or BRIGHTENED |
aGroup | [optional A group to add the item to. |
Implements SELECTION_TOOL.
Definition at line 3396 of file pcb_selection_tool.cpp.
References SELECTION::Add(), BRIGHTENED, TOOL_BASE::getView(), highlightInternal(), KIGFX::VIEW::MarkTargetDirty(), KIGFX::REPAINT, KIGFX::TARGET_OVERLAY, KIGFX::PCB_VIEW::Update(), and view().
Referenced by RebuildSelection(), RequestSelection(), and select().
|
private |
Definition at line 3411 of file pcb_selection_tool.cpp.
References BRIGHTENED, KIGFX::VIEW::Hide(), highlightInternal(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), RECURSE, BOARD_ITEM::RunOnChildren(), SELECTED, EDA_ITEM::SetBrightened(), EDA_ITEM::SetSelected(), and view().
Referenced by highlight(), and highlightInternal().
|
private |
Definition at line 3507 of file pcb_selection_tool.cpp.
References BOX2ISafe(), SHAPE::Collide(), SHAPE_LINE_CHAIN::Collide(), SHAPE_POLY_SET::Collide(), distance(), FOOTPRINT::GetBoundingBox(), FOOTPRINT::GetBoundingHull(), BOARD_ITEM::GetEffectiveShape(), EDA_TEXT::GetEffectiveTextShape(), BOX2< Vec >::GetHeight(), MARKER_BASE::GetPos(), TOOL_BASE::getView(), KIGFX::VIEW::GetViewport(), BOX2< Vec >::GetWidth(), group, hitTestDistance(), ZONE::HitTestForEdge(), SHAPE_LINE_CHAIN::Move(), PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_MARKER_T, PCB_PAD_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_ZONE_T, MARKER_BASE::ShapeToPolygon(), table, text, and EDA_ITEM::Type().
Referenced by GuessSelectionCandidates(), and hitTestDistance().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from TOOL_BASE.
Definition at line 150 of file pcb_selection_tool.cpp.
References PCB_ACTIONS::applyDesignBlockLayout, ACTIONS::cancelInteractive, PCB_ACTIONS::clearHighlight, SELECTION_CONDITIONS::Count(), frame(), FRAME_FOOTPRINT_VIEWER, FRAME_PCB_EDITOR, TOOL_BASE::getEditFrame(), KIGFX::RENDER_SETTINGS::GetHighlightNetCodes(), ACTIONS::groupEnter, ACTIONS::groupLeave, SELECTION_CONDITIONS::HasType(), SELECTION_TOOL::m_disambiguateTimer, m_enteredGroup, TOOL_INTERACTIVE::m_menu, TOOL_BASE::m_toolMgr, SELECTION_CONDITIONS::MoreThan(), SELECTION_CONDITIONS::NotEmpty(), SELECTION_TOOL::onDisambiguationExpire(), SELECTION_CONDITIONS::OnlyTypes(), PCB_GROUP_T, PCB_TABLECELL_T, PCB_ACTIONS::placeLinkedDesignBlock, PCB_ACTIONS::saveToLinkedDesignBlock, ACTIONS::selectColumns, ACTIONS::selectRows, ACTIONS::selectTable, tableCellTypes, and TOOLS_HOLDER::ToolStackIsEmpty().
|
private |
Definition at line 1960 of file pcb_selection_tool.cpp.
References ARC, BEZIER, EDA_SHAPE::GetShape(), EDA_SHAPE::IsClosed(), BOARD_ITEM::IsOnCopperLayer(), PCB_SHAPE_T, POLY, SEGMENT, and EDA_ITEM::Type().
Referenced by expandConnection(), and selectAllConnectedShapes().
|
inline |
Definition at line 79 of file pcb_selection_tool.h.
References m_isFootprintEditor.
|
inherited |
Definition at line 32 of file tool_base.cpp.
References m_toolId, and m_toolMgr.
Referenced by EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
private |
Definition at line 2789 of file pcb_selection_tool.cpp.
References PCB_SELECTION_FILTER_OPTIONS::dimensions, empty(), PCB_SELECTION_FILTER_OPTIONS::footprints, ZONE::GetIsRuleArea(), EDA_GROUP::GetItems(), BOARD_ITEM::GetParent(), BOARD_ITEM::GetParentFootprint(), PCB_SELECTION_FILTER_OPTIONS::graphics, BOARD_ITEM::IsLocked(), PCB_SELECTION_FILTER_OPTIONS::keepouts, PCB_SELECTION_FILTER_OPTIONS::lockedItems, m_filter, m_frame, m_isFootprintEditor, PCB_SELECTION_FILTER_OPTIONS::otherItems, PCB_SELECTION_FILTER_OPTIONS::pads, PCB_ARC_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_POINT_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, PCB_SELECTION_FILTER_OPTIONS::points, PCB_SELECTION_FILTER_OPTIONS::text, PCB_SELECTION_FILTER_OPTIONS::tracks, EDA_ITEM::Type(), PCB_SELECTION_FILTER_OPTIONS::vias, and PCB_SELECTION_FILTER_OPTIONS::zones.
Referenced by FilterCollectedItems(), SelectAll(), selectAllConnectedTracks(), and SelectAllItemsOnNet().
int PCB_SELECTION_TOOL::Main | ( | const TOOL_EVENT & | aEvent | ) |
The main loop.
Definition at line 275 of file pcb_selection_tool.cpp.
References accuracy, ARROW, board(), BUT_LEFT, BUT_MIDDLE, BUT_RIGHT, BOARD_INSPECTION_TOOL::ClearHighlight(), ClearSelection(), GENERAL_COLLECTOR::Collect(), delta, DRAG, PCB_ACTIONS::drag45Degree, DRAG_ANY, DRAG_FREE_ANGLE, DRAG_SELECTED, PCB_ACTIONS::dragFreeAngle, EnterGroup(), ExitGroup(), frame(), FRAME_FOOTPRINT_VIEWER, FRAME_PCB_EDITOR, ADVANCED_CFG::GetCfg(), getCollectorsGuide(), COLLECTOR::GetCount(), TOOL_BASE::getEditFrame(), GetSelection(), SELECTION_TOOL::hasModifier(), PCB_POINT_EDITOR::HasPoint(), PCB_ACTIONS::highlightNet, ZONE::HitTestForCorner(), ZONE::HitTestForEdge(), ACTIONS::increment, EVENTS::InhibitSelectionEditing, INSIDE_LASSO, INSIDE_RECTANGLE, IS_MOVING, IS_NEW, TOOL_BASE::IsToolActive(), SELECTION_TOOL::m_canceledMenu, SELECTION_TOOL::m_disambiguateTimer, m_enteredGroup, m_frame, SELECTION_TOOL::m_highlight_modifier, m_isFootprintEditor, TOOL_INTERACTIVE::m_menu, m_nonModifiedCursor, SELECTION_TOOL::m_originalCursor, m_selection, m_selectionMode, TOOL_BASE::m_toolMgr, MD_ALT, MD_CTRL, MD_SHIFT, MOVE, PCB_ACTIONS::move, MOVING, SELECTION_CONDITIONS::OnlyTypes(), PCB_ARC_T, PCB_GROUP_T, PCB_SELECTION_TOOL(), PCB_TABLECELL_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, PCB_ACTIONS::properties, ROUTER_TOOL::RoutingInProgress(), SELECT, selectionContains(), selectPoint(), SelectPolyArea(), SelectRectArea(), selectTableCells(), SELECTION_TOOL::setModifiersState(), TA_MOUSE_WHEEL, TOUCHING_LASSO, TOUCHING_RECTANGLE, TOOL_INTERACTIVE::Wait(), ACTIONS::zoomFitObjects, and ACTIONS::zoomFitScreen.
Referenced by setTransitions().
|
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, TOOL_BASE::getEditFrame(), hasModifier(), TOOL_BASE::m_toolMgr, and selection().
Referenced by PCB_SELECTION_TOOL::Init(), PL_SELECTION_TOOL::Init(), SCH_SELECTION_TOOL::Init(), and PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL().
void PCB_SELECTION_TOOL::OnIdle | ( | wxIdleEvent & | aEvent | ) |
Definition at line 255 of file pcb_selection_tool.cpp.
References ADD, SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, m_frame, SELECTION_TOOL::m_multiple, m_nonModifiedCursor, SELECTION_TOOL::m_subtractive, SELECTION_TOOL::setModifiersState(), SUBTRACT, and XOR.
Referenced by PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME().
|
private |
Definition at line 3634 of file pcb_selection_tool.cpp.
References color, ADVANCED_CFG::GetCfg(), KIGFX::RENDER_SETTINGS::GetColor(), COLLECTOR::GetCount(), ZONE::GetDoNotAllowZoneFills(), ZONE::GetIsRuleArea(), BOARD_ITEM::GetLayerSet(), KIGFX::VIEW::GetPainter(), BOARD_ITEM::GetParent(), KIGFX::PAINTER::GetSettings(), TOOL_BASE::getView(), m_frame, LAYER_OPACITY_ITEM::m_Item, LAYER_OPACITY_ITEM::m_Layer, LAYER_OPACITY_ITEM::m_Opacity, ADVANCED_CFG::m_PcbSelectionVisibilityRatio, PCB_FOOTPRINT_T, PCB_ZONE_T, COLLECTOR::Remove(), LSET::Seq(), LSET::SeqStackupTop2Bottom(), EDA_ITEM::Type(), and UNDEFINED_LAYER.
Referenced by GuessSelectionCandidates().
void PCB_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 2999 of file pcb_selection_tool.cpp.
References GENERAL_COLLECTOR::AllBoardItems, board(), EDA_ITEM::ClearFlags(), CONTINUE, ENTERED, GENERAL_COLLECTOR::FootprintItems, EDA_ITEM::GetParent(), highlight(), EDA_ITEM::IsSelected(), m_enteredGroup, m_enteredGroupOverlay, m_isFootprintEditor, m_selection, PCB_GROUP_T, SELECTED, EDA_ITEM::SetFlags(), EDA_ITEM::Type(), and BOARD::Visit().
Referenced by PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), and BOARD_COMMIT::Revert().
|
inherited |
Definition at line 163 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), RemoveItemFromSel(), selection(), and SELECTION::SetIsHover().
Referenced by SCHEMATIC::CleanUp(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), RemoveItemFromSel(), ReselectItem(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 171 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, unselect(), and EVENTS::UnselectedEvent.
|
inherited |
Definition at line 184 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), RemoveItemsFromSel(), selection(), and SELECTION::SetIsHover().
Referenced by API_HANDLER_PCB::handleRemoveFromSelection(), PCB_EDIT_FRAME::RebuildAndRefresh(), RemoveItemsFromSel(), RemoveItemsFromSel(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 192 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, 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(), RemoveItemsFromSel(), and selection().
PCB_SELECTION & PCB_SELECTION_TOOL::RequestSelection | ( | CLIENT_SELECTION_FILTER | aClientFilter | ) |
Return the current selection, filtered according to aClientFilter.
If the set is empty, performs the legacy-style hover selection.
aClientFilter | A callback to allow tool- or action-specific filtering. Select a single item under cursor event handler. |
Definition at line 650 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), getCollectorsGuide(), highlight(), m_frame, m_selection, TOOL_BASE::m_toolMgr, SELECTED, ACTIONS::selectionCursor, GENERAL_COLLECTOR::SetGuide(), and unhighlight().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), ARRAY_TOOL::CreateArray(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), PCB_GROUP_TOOL::Group(), PCB_GROUP_TOOL::PickNewMember(), GENERATOR_TOOL::RegenerateSelected(), and PCB_PICKER_TOOL::SelectItemInteractively().
|
inherited |
Definition at line 129 of file selection_tool.cpp.
References AddItemToSel(), TOOL_EVENT::Parameter(), RemoveItemFromSel(), 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 228 of file pcb_selection_tool.cpp.
References KIGFX::PCB_VIEW::Add(), ClearSelection(), ExitGroup(), FRAME_FOOTPRINT_EDITOR, TOOL_BASE::getEditFrame(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), TOOL_BASE::getView(), m_enteredGroup, m_enteredGroupOverlay, m_frame, m_isFootprintEditor, m_selection, TOOL_BASE::MODEL_RELOAD, TOOL_BASE::REDRAW, KIGFX::PCB_VIEW::Remove(), KIGFX::RENDER_SETTINGS::SetHighlight(), and view().
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 77 of file tool_interactive.cpp.
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 106 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::PlaceText().
|
overridevirtual |
Take necessary action mark an item as selected.
aItem | The item to be selected. |
Implements SELECTION_TOOL.
Definition at line 3367 of file pcb_selection_tool.cpp.
References ExitGroup(), EDA_ITEM::GetParent(), highlight(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), EDA_ITEM::IsSelected(), m_enteredGroup, m_isFootprintEditor, m_selection, PCB_PAD_T, SELECTED, EDA_ITEM::Type(), and PCB_GROUP::WithinScope().
Referenced by PCB_CONTROL::AppendBoard(), doSyncSelection(), EnterGroup(), ExitGroup(), filterSelection(), FindItem(), grabUnconnected(), SelectAll(), selectAllConnectedShapes(), selectAllConnectedTracks(), SelectAllItemsOnNet(), selectAllItemsOnSheet(), SelectColumns(), selectConnections(), SelectMultiple(), selectNet(), selectPoint(), SelectRows(), SelectTable(), selectTableCells(), selectUnconnected(), unrouteSegment(), and unrouteSelected().
bool PCB_SELECTION_TOOL::Selectable | ( | const BOARD_ITEM * | aItem, |
bool | checkVisibilityOnly = false ) const |
Definition at line 3046 of file pcb_selection_tool.cpp.
References LSET::AllLayersMask(), EDA_GROUP::AsEdaItem(), LSET::BackMask(), board(), frame(), LSET::FrontMask(), PCB_TABLECELL::GetColSpan(), PCB_BASE_FRAME::GetDisplayOptions(), KIGFX::RENDER_SETTINGS::GetHighContrast(), KIGFX::RENDER_SETTINGS::GetHighContrastLayers(), BOARD_ITEM::GetLayer(), ZONE::GetLayerSet(), KIGFX::VIEW::GetPainter(), BOARD_ITEM::GetParentFootprint(), EDA_ITEM::GetParentGroup(), PCB_TABLECELL::GetRowSpan(), KIGFX::PAINTER::GetSettings(), FOOTPRINT::GetSide(), TOOL_BASE::getView(), BOARD::GetVisibleLayers(), FOOTPRINT::GraphicalItems(), group, EDA_SHAPE::IsAnyFill(), MARKER_BASE::IsExcluded(), FOOTPRINT::IsFlipped(), BOARD::IsLayerVisible(), KIGFX::VIEW::IsLayerVisible(), PCB_FIELD::IsReference(), ZONE::IsTeardropArea(), PCB_FIELD::IsValue(), EDA_TEXT::IsVisible(), KI_FALLTHROUGH, LAYER_DRAW_BITMAPS, LAYER_DRC_EXCLUSION, LAYER_FP_REFERENCES, LAYER_FP_TEXT, LAYER_FP_VALUES, LAYER_POINTS, LAYER_TRACKS, LAYER_VIAS, LAYER_ZONES, PCB_DISPLAY_OPTIONS::m_FilledShapeOpacity, PCB_DISPLAY_OPTIONS::m_ImageOpacity, m_isFootprintEditor, PCB_DISPLAY_OPTIONS::m_PadOpacity, SELECTION_TOOL::m_skip_heuristics, PCB_DISPLAY_OPTIONS::m_TrackOpacity, PCB_DISPLAY_OPTIONS::m_ViaOpacity, PCB_DISPLAY_OPTIONS::m_ZoneOpacity, NOT_USED, NPTH, pad, FOOTPRINT::Pads(), PCB_ARC_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_MARKER_T, PCB_NETINFO_T, PCB_PAD_T, PCB_POINT_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, LSET::PhysicalLayersMask(), FOOTPRINT::Points(), PTH, Selectable(), BASE_SET::set(), text, ToLAYER_ID(), EDA_ITEM::Type(), TYPE_NOT_INIT, UNDEFINED_LAYER, via, view(), and FOOTPRINT::Zones().
Referenced by PCB_CONTROL::InteractiveDelete(), Selectable(), SelectAll(), SelectMultiple(), selectPoint(), and UnselectAll().
int PCB_SELECTION_TOOL::SelectAll | ( | const TOOL_EVENT & | aEvent | ) |
Unselect all items on the board.
Definition at line 1395 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), FilterCollectorForHierarchy(), TOOL_BASE::getView(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), itemPassesFilter(), m_frame, TOOL_BASE::m_toolMgr, KIGFX::VIEW::Query(), select(), Selectable(), EVENTS::SelectedEvent, and BOX2< Vec >::SetMaximum().
Referenced by setTransitions().
|
private |
Select all non-closed shapes that are graphically connected to the given start items.
aStartItems | is a list of one or more non-closed shapes |
Definition at line 1985 of file pcb_selection_tool.cpp.
References board(), GENERAL_COLLECTOR::Collect(), getCollectorsGuide(), EDA_SHAPE::GetEnd(), PCB_SHAPE::GetLayerSet(), EDA_SHAPE::GetStart(), EDA_ITEM::HasFlag(), isExpandableGraphicShape(), PCB_SHAPE_T, select(), EDA_ITEM::SetFlags(), GENERAL_COLLECTORS_GUIDE::SetLayerVisibleBits(), and SKIP_STRUCT.
Referenced by expandConnection().
|
private |
Select connected tracks and vias.
aStopCondition | Indicates where to stop selecting more items. |
Definition at line 1643 of file pcb_selection_tool.cpp.
References LSET::AllCuMask(), EDA_GROUP::AsEdaItem(), board(), LSET::Contains(), EXCLUDE_ZONES, PCB_SHAPE::GetConnectionPoints(), BOARD::GetConnectivity(), PCB_TRACK::GetEnd(), PCB_TRACK::GetLayerSet(), EDA_ITEM::GetParentGroup(), PCB_TRACK::GetStart(), IGNORE_NETS, EDA_ITEM::IsSelected(), itemPassesFilter(), m_frame, m_selection, PROF_TIMER::msecs(), pad, PCB_ARC_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TRACE_T, PCB_VIA_T, select(), SKIP_STRUCT, PROF_TIMER::Start(), STOP_AT_JUNCTION, STOP_AT_PAD, STOP_AT_SEGMENT, EDA_ITEM::Type(), unselect(), and via.
Referenced by expandConnection(), selectConnections(), unrouteSegment(), and unrouteSelected().
void PCB_SELECTION_TOOL::SelectAllItemsOnNet | ( | int | aNetCode, |
bool | aSelect = true ) |
Select all items with the given net code.
aNetCode | is the target net to select |
aSelect | is true to add the items to the selection, false to remove them (deselect) |
Definition at line 2151 of file pcb_selection_tool.cpp.
References board(), BOARD::GetConnectivity(), itemPassesFilter(), select(), and unselect().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FindItem(), and selectNet().
|
private |
Select all items with the given sheet timestamp/UUID name (the sheet path).
The path of the root sheet is "/". Select all footprints belonging to same sheet, from Eeschema using cross-probing.
Definition at line 2210 of file pcb_selection_tool.cpp.
References board(), select(), and selectConnections().
Referenced by selectSameSheet(), and selectSheetContents().
int PCB_SELECTION_TOOL::SelectColumns | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 4297 of file pcb_selection_tool.cpp.
References EDA_ITEM::IsSelected(), m_selection, TOOL_BASE::m_toolMgr, select(), EVENTS::SelectedEvent, and table.
Referenced by setTransitions().
|
private |
Definition at line 2239 of file pcb_selection_tool.cpp.
References board(), BOARD::GetConnectivity(), pad, PCB_FOOTPRINT_T, PCB_PAD_T, select(), selectAllConnectedTracks(), and STOP_AT_PAD.
Referenced by doSyncSelection(), and selectAllItemsOnSheet().
|
private |
Select an item under the cursor unless there is something already selected.
aForceSelect | [optional] Forces an item to be selected even if there is already a selection. |
aClientFilter | A callback to allow tool- or action-specific filtering. |
Definition at line 889 of file pcb_selection_tool.cpp.
References ClearSelection(), TOOL_BASE::getViewControls(), m_selection, and selectPoint().
Referenced by CursorSelection(), expandConnection(), and selectNet().
|
inlineoverrideprotectedvirtual |
Return a reference to the selection.
Implements SELECTION_TOOL.
Definition at line 295 of file pcb_selection_tool.h.
References m_selection.
Referenced by filterSelection(), and selectNet().
|
private |
Definition at line 3466 of file pcb_selection_tool.cpp.
References BOX2< Vec >::Contains(), TOOL_BASE::getView(), group, EDA_ITEM::HitTest(), BOX2< Vec >::Inflate(), KiROUND(), m_selection, and RECURSE.
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 doSelectionMenu(), COLLECTOR::m_MenuCancelled, and TOOL_EVENT::Parameter().
Referenced by PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
void PCB_SELECTION_TOOL::SelectMultiple | ( | KIGFX::PREVIEW::SELECTION_AREA & | aArea, |
bool | aSubtractive = false, | ||
bool | aExclusiveOr = false ) |
Selects multiple PCB items within a specified area.
Definition at line 1227 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), COLLECTOR::begin(), board(), KIGEOM::BoxHitTest(), BOX2< Vec >::Contains(), COLLECTOR::end(), FilterCollectedItems(), FilterCollectorForHierarchy(), COLLECTOR::GetCount(), KIGFX::PREVIEW::SELECTION_AREA::GetMode(), KIGFX::PREVIEW::SELECTION_AREA::GetPoly(), TOOL_BASE::getView(), group, INSIDE_LASSO, INSIDE_RECTANGLE, EDA_ITEM::IsSelected(), m_enteredGroup, m_isFootprintEditor, m_selection, TOOL_BASE::m_toolMgr, PCB_PAD_T, select(), Selectable(), EVENTS::SelectedEvent, TOUCHING_RECTANGLE, EDA_ITEM::Type(), unselect(), EVENTS::UnselectedEvent, view(), and KIGFX::PREVIEW::SELECTION_AREA::ViewBBox().
Referenced by SelectPolyArea(), and SelectRectArea().
|
private |
Select all copper connections belonging to the same net(s) as the items in the selection.
Definition at line 2166 of file pcb_selection_tool.cpp.
References BOARD_CONNECTED_ITEM::GetNetCode(), TOOL_EVENT::IsAction(), m_selection, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), select(), SelectAllItemsOnNet(), selectCursor(), EVENTS::SelectedEvent, selection(), PCB_ACTIONS::selectNet, and EVENTS::UnselectedEvent.
Referenced by setTransitions().
|
private |
Select an item pointed by the parameter aWhere.
If there is more than one item at that place, there is a menu displayed that allows one to choose the item.
aWhere | is the place where the item should be selected. |
aOnDrag | indicates whether a drag operation is being performed. |
aSelectionCancelledFlag | allows the function to inform its caller that a selection was canceled (for instance, by clicking outside of the disambiguation menu). |
aClientFilter | a callback to allow tool- or action-specific filtering. |
Definition at line 751 of file pcb_selection_tool.cpp.
References GENERAL_COLLECTOR::AllBoardItems, board(), BUT_LEFT, ClearSelection(), GENERAL_COLLECTOR::Collect(), SELECTION_TOOL::doSelectionMenu(), editFrame(), ExitGroup(), FilterCollectedItems(), FilterCollectorForFootprints(), FilterCollectorForHierarchy(), GENERAL_COLLECTOR::FootprintItems, getCollectorsGuide(), COLLECTOR::GetCount(), GuessSelectionCandidates(), SELECTION_TOOL::m_additive, m_enteredGroup, SELECTION_TOOL::m_exclusive_or, m_frame, m_isFootprintEditor, m_selection, SELECTION_TOOL::m_skip_heuristics, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, PCB_DISPLAY_OPTIONS::m_ZoneDisplayMode, EVENTS::PointSelectedEvent, COLLECTOR::Remove(), select(), Selectable(), EVENTS::SelectedEvent, PCB_SELECTION_FILTER_OPTIONS::SetAll(), GENERAL_COLLECTORS_GUIDE::SetIgnoreZoneFills(), SHOW_FILLED, TA_MOUSE_UP, TC_ANY, unselect(), EVENTS::UnselectedEvent, and TOOL_INTERACTIVE::Wait().
Referenced by disambiguateCursor(), Main(), and selectCursor().
int PCB_SELECTION_TOOL::SelectPolyArea | ( | const TOOL_EVENT & | aEvent | ) |
Handles drawing a lasso selection area that allows multiple items to be selected simultaneously.
Definition at line 1128 of file pcb_selection_tool.cpp.
References KIGFX::VIEW::Add(), allowedActions, SHAPE_LINE_CHAIN::Append(), SHAPE_LINE_CHAIN::Area(), ARROW, BUT_LEFT, SHAPE_LINE_CHAIN::CLastPoint(), SELECTION::ClearReferencePoint(), ClearSelection(), ACTIONS::cursorClick, ACTIONS::cursorDblClick, PCB_ACTIONS::deleteLastPoint, ACTIONS::doDelete, ACTIONS::finishInteractive, SHAPE_LINE_CHAIN::GenerateBBoxCache(), SHAPE_LINE_CHAIN::GetPointCount(), KIGFX::PREVIEW::SELECTION_AREA::GetPoly(), GetSelection(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), INSIDE_LASSO, SELECTION_TOOL::m_additive, SELECTION_TOOL::m_drag_additive, SELECTION_TOOL::m_drag_subtractive, SELECTION_TOOL::m_exclusive_or, m_frame, m_selection, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, passEvent(), SHAPE_LINE_CHAIN::PointCount(), KIGFX::VIEW::Remove(), SHAPE_LINE_CHAIN::Remove(), SELECT_LASSO, SelectMultiple(), KIGFX::PREVIEW::SELECTION_AREA::SetAdditive(), KIGFX::VIEW_CONTROLS::SetAutoPan(), SHAPE_LINE_CHAIN::SetClosed(), KIGFX::VIEW_CONTROLS::SetCursorPosition(), KIGFX::PREVIEW::SELECTION_AREA::SetExclusiveOr(), KIGFX::PREVIEW::SELECTION_AREA::SetMode(), KIGFX::PREVIEW::SELECTION_AREA::SetPoly(), KIGFX::PREVIEW::SELECTION_AREA::SetSubtractive(), KIGFX::VIEW::SetVisible(), TOUCHING_LASSO, ACTIONS::undo, EVENTS::UninhibitSelectionEditing, EVENTS::UnselectedEvent, KIGFX::VIEW::Update(), and TOOL_INTERACTIVE::Wait().
Referenced by Main().
int PCB_SELECTION_TOOL::SelectRectArea | ( | const TOOL_EVENT & | aEvent | ) |
Handles drawing a selection box that allows multiple items to be selected simultaneously.
Definition at line 1026 of file pcb_selection_tool.cpp.
References allowedActions, BUT_LEFT, ClearSelection(), KIGFX::PREVIEW::SELECTION_AREA::GetEnd(), KIGFX::PREVIEW::SELECTION_AREA::GetOrigin(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), INSIDE_RECTANGLE, SELECTION_TOOL::m_drag_additive, SELECTION_TOOL::m_drag_subtractive, SELECTION_TOOL::m_exclusive_or, m_frame, SELECTION_TOOL::m_multiple, m_selection, SELECTION_TOOL::m_subtractive, TOOL_BASE::m_toolMgr, passEvent(), SELECT_LASSO, SELECT_WINDOW, SelectMultiple(), KIGFX::PREVIEW::SELECTION_AREA::SetAdditive(), KIGFX::VIEW_CONTROLS::SetAutoPan(), KIGFX::PREVIEW::SELECTION_AREA::SetEnd(), KIGFX::PREVIEW::SELECTION_AREA::SetExclusiveOr(), KIGFX::PREVIEW::SELECTION_AREA::SetMode(), KIGFX::PREVIEW::SELECTION_AREA::SetOrigin(), KIGFX::PREVIEW::SELECTION_AREA::SetSubtractive(), TOUCHING_RECTANGLE, EVENTS::UninhibitSelectionEditing, EVENTS::UnselectedEvent, view(), TOOL_INTERACTIVE::Wait(), and VECTOR2< T >::x.
Referenced by Main().
int PCB_SELECTION_TOOL::SelectRows | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 4332 of file pcb_selection_tool.cpp.
References EDA_ITEM::IsSelected(), m_selection, TOOL_BASE::m_toolMgr, select(), EVENTS::SelectedEvent, and table.
Referenced by setTransitions().
|
private |
Set selection to items passed by parameter and connected nets (optionally).
Zooms to fit, if enabled
Definition at line 2404 of file pcb_selection_tool.cpp.
References KIID_PATH::AsString(), ClearSelection(), FOOTPRINT::GetPath(), m_selection, TOOL_BASE::m_toolMgr, PCB_FOOTPRINT_T, selectAllItemsOnSheet(), EVENTS::SelectedEvent, and EDA_ITEM::Type().
Referenced by setTransitions().
|
private |
Select all footprints belonging to same hierarchical sheet as the selected footprint (same sheet path).
Definition at line 2388 of file pcb_selection_tool.cpp.
References ClearSelection(), m_selection, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), selectAllItemsOnSheet(), EVENTS::SelectedEvent, and zoomFitSelection().
Referenced by setTransitions().
int PCB_SELECTION_TOOL::SelectTable | ( | const TOOL_EVENT & | aEvent | ) |
Clear current selection event handler.
Definition at line 4367 of file pcb_selection_tool.cpp.
References ClearSelection(), m_selection, TOOL_BASE::m_toolMgr, select(), EVENTS::SelectedEvent, and table.
Referenced by setTransitions().
|
private |
Definition at line 927 of file pcb_selection_tool.cpp.
References allowedActions, BUT_LEFT, CANDIDATE, PCB_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(), passEvent(), select(), EVENTS::SelectedEvent, KIGFX::VIEW_CONTROLS::SetAutoPan(), unselect(), EVENTS::UnselectedEvent, and TOOL_INTERACTIVE::Wait().
Referenced by Main().
|
private |
Select nearest unconnected footprints on same net as selected items.
Definition at line 2031 of file pcb_selection_tool.cpp.
References board(), BOARD::GetConnectivity(), m_selection, pad, PCB_FOOTPRINT_T, PCB_PAD_T, select(), and EDA_ITEM::Type().
Referenced by setTransitions().
|
inherited |
Assign a context menu and tells when it should be activated.
aMenu | is the menu to be assigned. |
aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 95 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), and DRAWING_TOOL::DrawVia().
|
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 ctrlClickHighlights(), m_additive, m_drag_additive, m_drag_subtractive, m_exclusive_or, m_highlight_modifier, m_skip_heuristics, and m_subtractive.
Referenced by PCB_SELECTION_TOOL::disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::disambiguateCursor(), GERBVIEW_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::OnIdle(), and SCH_SELECTION_TOOL::OnIdle().
int PCB_SELECTION_TOOL::SetSelectPoly | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1110 of file pcb_selection_tool.cpp.
References INSIDE_LASSO, m_frame, m_selectionMode, TOOL_BASE::m_toolMgr, SELECT_LASSO, and ACTIONS::selectionTool.
Referenced by setTransitions().
int PCB_SELECTION_TOOL::SetSelectRect | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1119 of file pcb_selection_tool.cpp.
References ARROW, INSIDE_RECTANGLE, m_frame, m_selectionMode, TOOL_BASE::m_toolMgr, and ACTIONS::selectionTool.
Referenced by setTransitions().
|
overridevirtual |
Zoom the screen to center and fit the current selection.
Implements TOOL_INTERACTIVE.
Definition at line 4396 of file pcb_selection_tool.cpp.
References SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), ClearSelection(), CursorSelection(), PCB_ACTIONS::deselectNet, disambiguateCursor(), EVENTS::DisambiguatePoint, expandConnection(), PCB_ACTIONS::filterSelection, filterSelection(), TOOL_INTERACTIVE::Go(), PCB_ACTIONS::grabUnconnected, grabUnconnected(), Main(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), SELECTION_TOOL::ReselectItem(), ACTIONS::reselectItem, SelectAll(), ACTIONS::selectAll, SelectColumns(), ACTIONS::selectColumns, PCB_ACTIONS::selectConnection, EVENTS::SelectedItemsModified, EVENTS::SelectedItemsMoved, ACTIONS::selectionActivate, ACTIONS::selectionClear, ACTIONS::selectionCursor, SELECTION_TOOL::SelectionMenu(), ACTIONS::selectionMenu, ACTIONS::selectItem, ACTIONS::selectItems, PCB_ACTIONS::selectNet, selectNet(), PCB_ACTIONS::selectOnSheetFromEeschema, SelectRows(), ACTIONS::selectRows, PCB_ACTIONS::selectSameSheet, selectSameSheet(), ACTIONS::selectSetLasso, ACTIONS::selectSetRect, selectSheetContents(), SelectTable(), ACTIONS::selectTable, PCB_ACTIONS::selectUnconnected, selectUnconnected(), SetSelectPoly(), SetSelectRect(), PCB_ACTIONS::syncSelection, syncSelection(), PCB_ACTIONS::syncSelectionWithNets, syncSelectionWithNets(), PCB_ACTIONS::unrouteSegment, unrouteSegment(), PCB_ACTIONS::unrouteSelected, unrouteSelected(), UnselectAll(), ACTIONS::unselectAll, ACTIONS::unselectItem, ACTIONS::unselectItems, SELECTION_TOOL::UpdateMenu(), ACTIONS::updateMenu, and updateSelection().
|
private |
Definition at line 2330 of file pcb_selection_tool.cpp.
References doSyncSelection(), and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
private |
Definition at line 2341 of file pcb_selection_tool.cpp.
References doSyncSelection(), and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
inherited |
Definition at line 226 of file selection_tool.cpp.
References BRIGHTENED, and unhighlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), PANEL_COMPONENT_CLASS_ASSIGNMENT::OnHighlightItemsClick(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), and PANEL_ASSIGN_COMPONENT_CLASSES::~PANEL_ASSIGN_COMPONENT_CLASSES().
|
overrideprivatevirtual |
Unhighlight the item visually.
aItem | The item to be highlighted. |
aHighlightMode | Either SELECTED or BRIGHTENED |
aGroup | [optional] A group to remove the item from. |
Implements SELECTION_TOOL.
Definition at line 3430 of file pcb_selection_tool.cpp.
References BRIGHTENED, TOOL_BASE::getView(), KIGFX::VIEW::MarkTargetDirty(), SELECTION::Remove(), KIGFX::REPAINT, KIGFX::TARGET_OVERLAY, unhighlightInternal(), KIGFX::PCB_VIEW::Update(), and view().
Referenced by ClearSelection(), RequestSelection(), and unselect().
|
private |
Definition at line 3444 of file pcb_selection_tool.cpp.
References BRIGHTENED, EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearSelected(), KIGFX::VIEW::Hide(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), RECURSE, BOARD_ITEM::RunOnChildren(), SELECTED, unhighlightInternal(), KIGFX::PCB_VIEW::Update(), and view().
Referenced by unhighlight(), and unhighlightInternal().
|
private |
Unroute the selected track connected item.
Definition at line 1515 of file pcb_selection_tool.cpp.
References ClearSelection(), ACTIONS::doDelete, m_selection, TOOL_BASE::m_toolMgr, PCB_ARC_T, PCB_TRACE_T, PCB_VIA_T, select(), selectAllConnectedTracks(), and STOP_AT_SEGMENT.
Referenced by setTransitions().
|
private |
Unroute the selected board connected items.
Definition at line 1477 of file pcb_selection_tool.cpp.
References BOARD_CONNECTED_ITEM::ClassOf(), ClearSelection(), ACTIONS::doDelete, m_selection, TOOL_BASE::m_toolMgr, pad, PCB_FOOTPRINT_T, PCB_PAD_T, select(), selectAllConnectedTracks(), and STOP_AT_PAD.
Referenced by setTransitions().
|
overrideprivatevirtual |
Take necessary action mark an item as unselected.
aItem | is an item to be unselected. |
Implements SELECTION_TOOL.
Definition at line 3390 of file pcb_selection_tool.cpp.
References m_selection, SELECTED, and unhighlight().
Referenced by selectAllConnectedTracks(), SelectAllItemsOnNet(), SelectMultiple(), selectPoint(), selectTableCells(), and UnselectAll().
int PCB_SELECTION_TOOL::UnselectAll | ( | const TOOL_EVENT & | aEvent | ) |
Change the selection mode.
Definition at line 1429 of file pcb_selection_tool.cpp.
References TOOL_BASE::getView(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), m_frame, TOOL_BASE::m_toolMgr, 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(), and ACTION_MENU::UpdateAll().
Referenced by GERBVIEW_SELECTION_TOOL::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
private |
Event handler to update the selection VIEW_ITEM.
Definition at line 4288 of file pcb_selection_tool.cpp.
References TOOL_BASE::getView(), m_enteredGroupOverlay, m_selection, and KIGFX::VIEW::Update().
Referenced by setTransitions().
|
inlineprotected |
Definition at line 263 of file pcb_selection_tool.h.
References TOOL_BASE::getView().
Referenced by ClearSelection(), doSyncSelection(), EnterGroup(), ExitGroup(), FilterCollectorForFootprints(), getCollectorsGuide(), highlight(), highlightInternal(), Reset(), Selectable(), SelectMultiple(), SelectRectArea(), unhighlight(), unhighlightInternal(), ZoomFitCrossProbeBBox(), and zoomFitSelection().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 71 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), and DRAWING_TOOL::SetAnchor().
void PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox | ( | const BOX2I & | bbox | ) |
Definition at line 2463 of file pcb_selection_tool.cpp.
References DEFAULT_TEXT_SIZE, BOX2< Vec >::GetSize(), TOOL_BASE::getView(), BOX2< Vec >::GetWidth(), BOX2< Vec >::Inflate(), KiROUND(), m_frame, next(), BOX2< Vec >::Normalize(), pcbIUScale, ToVECTOR2D(), view(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by doSyncSelection().
void PCB_SELECTION_TOOL::zoomFitSelection | ( | ) |
Zoom the screen to fit the bounding box for cross probing/selection sync.
Definition at line 2438 of file pcb_selection_tool.cpp.
References BOX2< Vec >::Centre(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetSize(), TOOL_BASE::getView(), BOX2< Vec >::GetWidth(), m_frame, m_selection, scale, ToVECTOR2D(), view(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by selectSheetContents().
|
protectedinherited |
Items should be added to sel (instead of replacing).
Definition at line 150 of file selection_tool.h.
Referenced by SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), hasModifier(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::SelectCellsBetween(), SELECTION_TOOL(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::selectTableCells(), and setModifiersState().
|
protectedinherited |
Sets to true if the disambiguation menu was canceled.
Definition at line 162 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::Main(), and SELECTION_TOOL().
|
protectedinherited |
Timer to show the disambiguate menu.
Definition at line 164 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::Init(), PL_SELECTION_TOOL::Init(), SCH_SELECTION_TOOL::Init(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), and SCH_SELECTION_TOOL::Main().
|
protectedinherited |
Add multiple items to selection.
Definition at line 159 of file selection_tool.h.
Referenced by SELECTION_TOOL(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), and setModifiersState().
|
protectedinherited |
Remove multiple from selection.
Definition at line 160 of file selection_tool.h.
Referenced by SELECTION_TOOL(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), and setModifiersState().
|
private |
Definition at line 492 of file pcb_selection_tool.h.
Referenced by EnterGroup(), ExitGroup(), FilterCollectorForHierarchy(), GetEnteredGroup(), Init(), Main(), PCB_SELECTION_TOOL(), RebuildSelection(), Reset(), select(), SelectMultiple(), and selectPoint().
|
private |
Definition at line 494 of file pcb_selection_tool.h.
Referenced by EnterGroup(), ExitGroup(), RebuildSelection(), Reset(), updateSelection(), and ~PCB_SELECTION_TOOL().
|
protectedinherited |
Items' selection state should be toggled.
Definition at line 152 of file selection_tool.h.
Referenced by SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), hasModifier(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::SelectCellsBetween(), SELECTION_TOOL(), PL_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::selectTableCells(), and setModifiersState().
|
private |
Definition at line 488 of file pcb_selection_tool.h.
Referenced by GetFilter(), itemPassesFilter(), and PCB_SELECTION_TOOL().
|
private |
Definition at line 483 of file pcb_selection_tool.h.
Referenced by ctrlClickHighlights(), doSyncSelection(), expandConnection(), FilterCollectorForLockedItems(), filterSelection(), FindItem(), GetActiveLayer(), GuessSelectionCandidates(), itemPassesFilter(), Main(), OnIdle(), PCB_SELECTION_TOOL(), pruneObscuredSelectionCandidates(), RequestSelection(), Reset(), SelectAll(), selectAllConnectedTracks(), selectPoint(), SelectPolyArea(), SelectRectArea(), SetSelectPoly(), SetSelectRect(), UnselectAll(), ZoomFitCrossProbeBBox(), and zoomFitSelection().
|
protectedinherited |
Select highlight net on left click.
Definition at line 158 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::Main(), SELECTION_TOOL(), and setModifiersState().
|
private |
Definition at line 484 of file pcb_selection_tool.h.
Referenced by ctrlClickHighlights(), FilterCollectorForFootprints(), FilterCollectorForFreePads(), FilterCollectorForHierarchy(), IsFootprintEditor(), itemPassesFilter(), Main(), PCB_SELECTION_TOOL(), RebuildSelection(), Reset(), select(), Selectable(), SelectMultiple(), and selectPoint().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 125 of file tool_interactive.h.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), GetToolMenu(), BOARD_EDITOR_CONTROL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), EDA_3D_CONTROLLER::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GERBVIEW_SELECTION_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().
|
protectedinherited |
Multiple selection mode is active.
Definition at line 153 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::SelectAll(), SELECTION_TOOL(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), and SCH_SELECTION_TOOL::UnselectAll().
|
private |
Definition at line 490 of file pcb_selection_tool.h.
Referenced by Main(), OnIdle(), and PCB_SELECTION_TOOL().
|
protectedinherited |
Location of original cursor when starting click.
Definition at line 166 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::Main(), PL_SELECTION_TOOL::Main(), and SCH_SELECTION_TOOL::Main().
|
private |
Definition at line 500 of file pcb_selection_tool.h.
Referenced by filterSelection(), and PCB_SELECTION_TOOL().
|
private |
Definition at line 486 of file pcb_selection_tool.h.
Referenced by ClearSelection(), doSyncSelection(), EnterGroup(), expandConnection(), FilterCollectorForFootprints(), filterSelection(), FindItem(), GetSelection(), grabUnconnected(), Main(), RebuildSelection(), RequestSelection(), Reset(), select(), selectAllConnectedTracks(), SelectColumns(), selectCursor(), selection(), selectionContains(), SelectMultiple(), selectNet(), selectPoint(), SelectPolyArea(), SelectRectArea(), SelectRows(), selectSameSheet(), selectSheetContents(), SelectTable(), selectTableCells(), selectUnconnected(), unrouteSegment(), unrouteSelected(), unselect(), updateSelection(), zoomFitSelection(), and ~PCB_SELECTION_TOOL().
|
private |
Definition at line 496 of file pcb_selection_tool.h.
Referenced by Main(), PCB_SELECTION_TOOL(), SetSelectPoly(), and SetSelectRect().
|
protectedinherited |
Show disambiguation menu for all items under the cursor rather than trying to narrow them down first using heuristics.
Definition at line 157 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::narrowSelection(), PCB_SELECTION_TOOL::Selectable(), SELECTION_TOOL(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), and setModifiersState().
|
protectedinherited |
Items should be removed from selection.
Definition at line 151 of file selection_tool.h.
Referenced by SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), hasModifier(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), PCB_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::OnIdle(), SCH_SELECTION_TOOL::SelectCellsBetween(), SELECTION_TOOL(), PL_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::selectTableCells(), and setModifiersState().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), GetId(), IsToolActive(), and TOOL_BASE().
|
protectedinherited |
Definition at line 220 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), GROUP_TOOL::AddToGroup(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), attachManager(), SCH_SELECTION_TOOL::autostartEvent(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PCB_SELECTION_TOOL::EnterGroup(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), KICAD_MANAGER_CONTROL::Execute(), PCB_SELECTION_TOOL::ExitGroup(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), EDA_3D_CONTROLLER::ExportImage(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetManager(), getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), getToolHolderInternal(), PCB_EDIT_TABLE_TOOL::getToolMgr(), getView(), getViewControls(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), PCB_GROUP_TOOL::Group(), SCH_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), PCB_SELECTION_TOOL::SetSelectPoly(), SCH_SELECTION_TOOL::SetSelectPoly(), PCB_SELECTION_TOOL::SetSelectRect(), SCH_SELECTION_TOOL::SetSelectRect(), DRC_TOOL::ShowDRCDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 219 of file tool_base.h.
Referenced by GetName(), and TOOL_BASE().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by GetType(), and TOOL_BASE().