|
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 | ReportFilteredLockedItems () |
| If the most recent FilterCollectorForLockedItems call removed at least one item, show an InfoBar warning prompting the user to enable Override Locks. | |
| 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) |
| void | initializeTableCellSelectionState (PCB_TABLE *aTable) |
| Mark the existing selection state of table cells so that drag- and shift-click range selection can preserve previously-selected cells. | |
| void | selectCellsBetween (const VECTOR2D &aStart, const VECTOR2D &aEnd, PCB_TABLE *aTable) |
| Select table cells contained within the rectangle defined by two corner points, combining the result with the prior selection state (recorded by initializeTableCellSelectionState) according to the current modifier keys. | |
| bool | extendTableCellSelectionTo (const VECTOR2I &aPosition) |
If the current selection holds one or more cells from a single PCB_TABLE and the cursor is over another cell in that same table, extend the selection to cover the rectangular range between the original anchor cell and the cell under aPosition. | |
| bool | toggleTableCellSelection (const VECTOR2I &aPosition) |
| When the user Ctrl-clicks inside a PCB_TABLE whose cells are already in the selection, toggle that cell into or out of the selection instead of triggering the net-highlight action. | |
| void | collectTableCellsAt (const VECTOR2I &aPosition, GENERAL_COLLECTOR &aCollector) |
Collect PCB_TABLECELL items at aPosition into aCollector, scoped to either the active footprint (in the footprint editor) or the full board. | |
| PCB_TABLECELL * | singleSelectedCell () const |
| 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 | selectNetChain (const TOOL_EVENT &aEvent) |
| Select all copper connections belonging to every net in the selected item's net chain. | |
| 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 |
| bool | m_lockedItemsFiltered |
| PCB_TABLECELL * | m_previousFirstCell |
| std::unique_ptr< PRIV > | m_priv |
The selection tool: currently supports:
Definition at line 62 of file pcb_selection_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 73 of file tool_base.h.
|
private |
Definition at line 419 of file pcb_selection_tool.h.
| PCB_SELECTION_TOOL::PCB_SELECTION_TOOL | ( | ) |
Definition at line 222 of file pcb_selection_tool.cpp.
References ARROW, INSIDE_RECTANGLE, m_enteredGroup, m_filter, m_frame, m_isFootprintEditor, m_lockedItemsFiltered, m_nonModifiedCursor, m_previousFirstCell, m_priv, m_selectionMode, and SELECTION_TOOL::SELECTION_TOOL().
Referenced by Main().
| PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL | ( | ) |
Definition at line 248 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 61 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(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), 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(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), and DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog().
|
inherited |
Definition at line 137 of file selection_tool.cpp.
References AddItemsToSel(), TOOL_EVENT::Parameter(), selection(), and SELECTION::SetIsHover().
Referenced by AddItemsToSel(), API_HANDLER_BOARD::handleAddToSelection(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_SELECTION_TOOL::Main(), DIALOG_EXCHANGE_FOOTPRINTS::OnOKClicked(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 145 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, select(), and EVENTS::SelectedEvent.
|
inherited |
Definition at line 104 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(), SYMBOL_EDIT_FRAME::restoreSymbolSelectionKiids(), SCH_SELECTION_TOOL::SelectConnection(), 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 112 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 58 of file tool_base.cpp.
References m_toolMgr, and TOOL_MANAGER.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotected |
Definition at line 287 of file pcb_selection_tool.h.
References TOOL_BASE::getModel().
Referenced by collectTableCellsAt(), FilterCollectorForFootprints(), filterSelection(), getCollectorsGuide(), grabUnconnected(), RebuildSelection(), Selectable(), selectAllConnectedShapes(), selectAllConnectedTracks(), SelectAllItemsOnNet(), selectAllItemsOnSheet(), selectConnections(), SelectMultiple(), selectNetChain(), selectPoint(), selectUnconnected(), and unrouteSelected().
|
inherited |
Definition at line 216 of file selection_tool.cpp.
References BRIGHTENED, and highlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), BOARD_INSPECTION_TOOL::InspectClearance(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), PANEL_COMPONENT_CLASS_ASSIGNMENT::OnHighlightItemsClick(), BOARD_INSPECTION_TOOL::pickItemForInspection(), SCH_EDITOR_CONTROL::SimProbe(), and SCH_EDITOR_CONTROL::SimTune().
|
inlineprotected |
Definition at line 292 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 3719 of file pcb_selection_tool.cpp.
References EVENTS::ClearedEvent, PCB_ACTIONS::hideLocalRatsnest, m_previousFirstCell, 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 1733 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().
|
private |
Collect PCB_TABLECELL items at aPosition into aCollector, scoped to either the active footprint (in the footprint editor) or the full board.
Definition at line 1213 of file pcb_selection_tool.cpp.
References board(), GENERAL_COLLECTOR::Collect(), getCollectorsGuide(), BOARD::GetFirstFootprint(), m_isFootprintEditor, and PCB_TABLECELL_T.
Referenced by extendTableCellSelectionTo(), Main(), and toggleTableCellSelection().
|
inlineprotected |
Definition at line 272 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 889 of file pcb_selection_tool.cpp.
References m_frame, and m_isFootprintEditor.
| int PCB_SELECTION_TOOL::CursorSelection | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1723 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 1708 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 |
This must be the second time through the loop, and the user has requested the full, non-limited list of selection items
Definition at line 254 of file selection_tool.cpp.
References _, ACTION_MENU::Add(), KIGFX::VIEW::Add(), COLLECTOR::Append(), BRIGHTENED, CMENU_NOW, COLLECTOR::Combine(), EDA_ITEM::DisambiguateItemDescription(), 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, TOOL_BASE::m_toolMgr, PCB_FOOTPRINT_T, 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, EDA_ITEM::Type(), 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 3073 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 282 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 735 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 765 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 2137 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().
|
private |
If the current selection holds one or more cells from a single PCB_TABLE and the cursor is over another cell in that same table, extend the selection to cover the rectangular range between the original anchor cell and the cell under aPosition.
Definition at line 1128 of file pcb_selection_tool.cpp.
References collectTableCellsAt(), end, PCB_TABLE::GetCells(), PCB_SHAPE::GetCenter(), COLLECTOR::GetCount(), BOARD_ITEM::GetParent(), initializeTableCellSelectionState(), SELECTION_TOOL::m_additive, m_previousFirstCell, m_selection, TOOL_BASE::m_toolMgr, selectCellsBetween(), EVENTS::SelectedEvent, unselect(), EVENTS::UnselectedEvent, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by Main().
| 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 3494 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 4917 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 4879 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(), 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 4786 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(), top(), 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::EditVertices(), EDIT_TOOL::Flip(), PCB_CONTROL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::JustifyText(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), 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 4756 of file pcb_selection_tool.cpp.
References FRAME_PCB_EDITOR, COLLECTOR::GetCount(), BOARD_ITEM::IsLocked(), m_frame, m_lockedItemsFiltered, 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::EditVertices(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), EDIT_TOOL::HealShapes(), EDIT_TOOL::Increment(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::JustifyText(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), 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 4904 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::EditVertices(), EDIT_TOOL::Flip(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), EDIT_TOOL::PackAndMoveFootprints(), POSITION_RELATIVE_TOOL::PositionRelative(), 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 4856 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::EditVertices(), 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 3459 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 3329 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 277 of file pcb_selection_tool.h.
References TOOL_BASE::getEditFrame().
Referenced by canvas(), FilterCollectorForFreePads(), Init(), Main(), and Selectable().
|
inline |
Definition at line 217 of file pcb_selection_tool.h.
References m_frame.
|
private |
Definition at line 863 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 collectTableCellsAt(), RequestSelection(), selectAllConnectedShapes(), and selectPoint().
Return the application window object, casted to requested user type.
Definition at line 182 of file tool_base.h.
References getToolHolderInternal(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_EDITOR_CONTROL::BoardSetup(), PCB_POINT_EDITOR::chamferCorner(), PCB_POINT_EDITOR::changeArcEditMode(), ZONE_FILLER_TOOL::CheckAllZones(), FOOTPRINT_EDITOR_CONTROL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupTracksAndVias(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), MICROWAVE_TOOL::drawMicrowaveInductor(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_SELECTION_TOOL::editFrame(), GLOBAL_EDIT_TOOL::EditTeardrops(), FOOTPRINT_EDITOR_CONTROL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), EDIT_TOOL::EditVertices(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FOOTPRINT_WIZARD_TOOLS::frame(), PCB_SELECTION_TOOL::frame(), PCB_TEST_SELECTION_TOOL::frame(), PCB_TOOL_BASE::frame(), PCB_VIEWER_TOOLS::frame(), BOARD_EDITOR_CONTROL::GenerateDrillFiles(), BOARD_EDITOR_CONTROL::GeneratePosFile(), GLOBAL_EDIT_TOOL::GlobalDeletions(), PCB_CONTROL::GridPlaceOrigin(), BOARD_EDITOR_CONTROL::ImportNetlist(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), GERBVIEW_SELECTION_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_EDITOR_CONTROL::Init(), PL_POINT_EDITOR::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GLOBAL_EDIT_TOOL::Migrate3DModels(), PCB_POINT_EDITOR::movePoint(), BOARD_EDITOR_CONTROL::OnAngleSnapModeChanged(), FOOTPRINT_EDITOR_CONTROL::OnAngleSnapModeChanged(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelative(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), FOOTPRINT_EDITOR_CONTROL::Properties(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), BITMAP2CMP_CONTROL::Reset(), BOARD_EDITOR_CONTROL::Reset(), BOARD_INSPECTION_TOOL::Reset(), BOARD_REANNOTATE_TOOL::Reset(), COMMON_CONTROL::Reset(), COMMON_TOOLS::Reset(), CVPCB_ASSOCIATION_TOOL::Reset(), CVPCB_CONTROL::Reset(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Reset(), DESIGN_BLOCK_CONTROL::Reset(), DRAWING_TOOL::Reset(), DRC_RULE_EDITOR_TOOL::Reset(), DRC_TOOL::Reset(), EDIT_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Reset(), GERBVIEW_CONTROL::Reset(), GERBVIEW_INSPECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), GROUP_TOOL::Reset(), KICAD_MANAGER_CONTROL::Reset(), LIBRARY_EDITOR_CONTROL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_DRAWING_TOOLS::Reset(), PL_EDIT_TOOL::Reset(), PL_EDITOR_CONTROL::Reset(), PL_POINT_EDITOR::Reset(), PL_SELECTION_TOOL::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), SIMULATOR_CONTROL::Reset(), ZOOM_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Revert(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), BOARD_EDITOR_CONTROL::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 215 of file pcb_selection_tool.h.
References m_enteredGroup.
Referenced by PNS_KICAD_IFACE::Commit(), PCB_CONTROL::placeBoardItems(), and BOARD_COMMIT::Push().
|
inline |
Set up handlers for various events.
Definition at line 186 of file pcb_selection_tool.h.
References m_filter.
Referenced by BOARD_INSPECTION_TOOL::highlightNet(), and PCB_EDIT_FRAME::LoadProjectSettings().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 119 of file tool_base.h.
References m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 142 of file tool_base.h.
References m_toolMgr, and TOOL_MANAGER.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditCancel(), PCB_TUNING_PATTERN::EditFinish(), PCB_TUNING_PATTERN::EditStart(), makeShapeModificationMenu(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
Return the model object if it matches the requested type.
Definition at line 195 of file tool_base.h.
References getModelInternal(), and T.
Referenced by BOARD_EDITOR_CONTROL::AutoTrackWidth(), PCB_SELECTION_TOOL::board(), PCB_TEST_SELECTION_TOOL::board(), PCB_TOOL_BASE::board(), PCB_VIEWER_TOOLS::board(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::filterSelection(), PCB_GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::HideLocalRatsnest(), EMBED_TOOL::Init(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::pushPadSettings(), BOARD_EDITOR_CONTROL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), EMBED_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::selectPoint(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
privateinherited |
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 132 of file tool_base.h.
References m_toolName.
Referenced by PCB_CONTROL::AppendBoard(), TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().
| PCB_SELECTION & PCB_SELECTION_TOOL::GetSelection | ( | ) |
Definition at line 787 of file pcb_selection_tool.cpp.
References m_selection.
Referenced by 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(), GATE_SWAP_MENU::eventHandler(), EDIT_TOOL::GetAndPlace(), PCB_PROPERTIES_PANEL::getSelection(), DRAWING_TOOL::getSourceZoneForAction(), API_HANDLER_BOARD::handleAddToSelection(), API_HANDLER_BOARD::handleGetSelection(), API_HANDLER_BOARD::handleInteractiveMoveItems(), API_HANDLER_BOARD::handleRemoveFromSelection(), API_HANDLER_BOARD::handleSaveSelectionToString(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), Main(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), PAD_TOOL::pushPadSettings(), DIALOG_FIND_BY_PROPERTIES::rebuildPropertyGrid(), PCB_CONTROL::SaveToLinkedDesignBlock(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), SelectPolyArea(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), GATE_SWAP_MENU::update(), REPLACE_TERMINAL_PAD_MENU::update(), ZONE_PRIORITY_CONTEXT_MENU::update(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), DIALOG_IMPORT_NETLIST::~DIALOG_IMPORT_NETLIST(), and DIALOG_UPDATE_PCB::~DIALOG_UPDATE_PCB().
|
privateinherited |
|
inherited |
Definition at line 108 of file tool_interactive.cpp.
References m_menu.
Referenced by BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), GENERATOR_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), and SYMBOL_EDITOR_EDIT_TOOL::Init().
|
inlineinherited |
Return the type of the tool.
Definition at line 107 of file tool_base.h.
References m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), TOOL_MANAGER::ShutdownTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 34 of file tool_base.cpp.
References m_toolMgr.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::CollectHits(), 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(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SCH_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PCB_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), SCH_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PL_POINT_EDITOR::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_EDITOR_CONTROL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_POINT_EDITOR::Reset(), PNS::TOOL_BASE::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectConnection(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectLasso(), 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(), SCH_SELECTION_TOOL::SyncSelection(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), SCH_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), SCH_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TEST_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL(), and SCH_SELECTION_TOOL::~SCH_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 40 of file tool_base.cpp.
References m_toolMgr.
Referenced by PCB_POINT_EDITOR::addCorner(), SCH_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TEST_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), EDIT_TOOL::copyToClipboard(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), COMMON_TOOLS::doZoomToPreset(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_TOOL_BASE< T >::Increment(), EDIT_TOOL::Init(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Properties(), PL_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_SELECTION_TOOL::selectCursor(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::SelectNode(), PCB_SELECTION_TOOL::SelectPolyArea(), 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(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 143 of file tool_interactive.h.
References goInternal(), and T.
Referenced by ALIGN_DISTRIBUTE_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DIFF_PHASE_SKEW_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_RULE_EDITOR_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDA_3D_CONTROLLER::setTransitions(), EDIT_TOOL::setTransitions(), EMBED_TOOL::setTransitions(), FOOTPRINT_CHOOSER_SELECTION_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), FOOTPRINT_WIZARD_TOOLS::setTransitions(), GENERATOR_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MICROWAVE_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_DESIGN_BLOCK_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_TEST_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().
|
privateinherited |
Definition at line 80 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 2726 of file pcb_selection_tool.cpp.
References anchor, board(), ClearSelection(), BOARD::GetConnectivity(), RN_NET::GetEdges(), 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 4549 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_BARCODE_T, 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 DIFF_PHASE_SKEW_TOOL::doInitialHover(), EDIT_TOOL::Drag(), PCB_CONTROL::InteractiveDelete(), BOARD_INSPECTION_TOOL::pickItemForInspection(), DRAWING_TOOL::PlaceTuningPattern(), and selectPoint().
|
protectedinherited |
True if a selection modifier is enabled, false otherwise.
Definition at line 83 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 4143 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 4158 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 4254 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(), EDA_SHAPE::MakeEffectiveShapesForHitTesting(), 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 257 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, EDA_GROUP::HasDesignBlockLink(), 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_ARC_T, PCB_GROUP_T, PCB_PAD_T, PCB_TABLECELL_T, PCB_TRACE_T, PCB_VIA_T, PCB_ACTIONS::placeLinkedDesignBlock, PCB_ACTIONS::saveToLinkedDesignBlock, ACTIONS::selectColumns, ACTIONS::selectRows, ACTIONS::selectTable, tableCellTypes, TOOLS_HOLDER::ToolStackIsEmpty(), and EDA_ITEM::Type().
|
private |
Mark the existing selection state of table cells so that drag- and shift-click range selection can preserve previously-selected cells.
Definition at line 1078 of file pcb_selection_tool.cpp.
References CANDIDATE, and PCB_TABLE::GetCells().
Referenced by extendTableCellSelectionTo(), and selectTableCells().
|
private |
Definition at line 2604 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 76 of file pcb_selection_tool.h.
References m_isFootprintEditor.
|
inherited |
Definition at line 28 of file tool_base.cpp.
References m_toolId, and m_toolMgr.
Referenced by EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
private |
Definition at line 3518 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_BARCODE_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(), selectAllConnectedShapes(), selectAllConnectedTracks(), and SelectAllItemsOnNet().
| int PCB_SELECTION_TOOL::Main | ( | const TOOL_EVENT & | aEvent | ) |
The main loop.
Definition at line 409 of file pcb_selection_tool.cpp.
References accuracy, ARROW, BUT_LEFT, BUT_MIDDLE, BUT_RIGHT, BOARD_INSPECTION_TOOL::ClearHighlight(), ClearSelection(), collectTableCellsAt(), delta, DRAG, PCB_ACTIONS::drag45Degree, DRAG_ANY, DRAG_FREE_ANGLE, DRAG_SELECTED, PCB_ACTIONS::dragFreeAngle, EnterGroup(), ExitGroup(), extendTableCellSelectionTo(), frame(), FRAME_FOOTPRINT_VIEWER, FRAME_PCB_EDITOR, ADVANCED_CFG::GetCfg(), 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, TOOL_INTERACTIVE::m_menu, m_nonModifiedCursor, SELECTION_TOOL::m_originalCursor, m_previousFirstCell, 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_TRACE_T, PCB_VIA_T, PCB_ZONE_T, PCB_ACTIONS::properties, ROUTER_TOOL::RoutingInProgress(), SELECT, selectionContains(), selectPoint(), SelectPolyArea(), SelectRectArea(), selectTableCells(), SELECTION_TOOL::setModifiersState(), singleSelectedCell(), TA_MOUSE_WHEEL, toggleTableCellSelection(), 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 228 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 389 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 4389 of file pcb_selection_tool.cpp.
References KIGFX::COLOR4D::a, 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 3745 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_previousFirstCell, 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 159 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), RemoveItemFromSel(), selection(), and SELECTION::SetIsHover().
Referenced by SCHEMATIC::CleanUp(), SCH_SELECTION_TOOL::FilterSelectionForLockedItems(), 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 167 of file selection_tool.cpp.
References TOOL_BASE::m_toolMgr, unselect(), and EVENTS::UnselectedEvent.
|
inherited |
Definition at line 180 of file selection_tool.cpp.
References TOOL_EVENT::Parameter(), RemoveItemsFromSel(), selection(), and SELECTION::SetIsHover().
Referenced by API_HANDLER_BOARD::handleRemoveFromSelection(), RemoveItemsFromSel(), RemoveItemsFromSel(), PCB_SELECTION_TOOL::setTransitions(), PL_SELECTION_TOOL::setTransitions(), and SCH_SELECTION_TOOL::setTransitions().
|
inherited |
Definition at line 188 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 202 of file selection_tool.cpp.
References alg::contains(), RemoveItemsFromSel(), and selection().
| void PCB_SELECTION_TOOL::ReportFilteredLockedItems | ( | ) |
If the most recent FilterCollectorForLockedItems call removed at least one item, show an InfoBar warning prompting the user to enable Override Locks.
No-op otherwise.
Definition at line 4745 of file pcb_selection_tool.cpp.
References _, m_frame, and m_lockedItemsFiltered.
| 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 793 of file pcb_selection_tool.cpp.
References COLLECTOR::Append(), BOTH, getCollectorsGuide(), highlight(), m_frame, m_lockedItemsFiltered, 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(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_GROUP_TOOL::PickNewMember(), GENERATOR_TOOL::RegenerateSelected(), and PCB_PICKER_TOOL::SelectItemInteractively().
|
inherited |
Definition at line 125 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 362 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 73 of file tool_interactive.cpp.
|
inherited |
Call a function using the main stack.
| aFunc | is the function to be calls. |
Definition at line 102 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawTable(), KICAD_MANAGER_CONTROL::NewProject(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), BOARD_EDITOR_CONTROL::ShowEeschema(), and BOARD_EDITOR_CONTROL::UpdatePCBFromSchematic().
|
overridevirtual |
Take necessary action mark an item as selected.
| aItem | The item to be selected. |
Implements SELECTION_TOOL.
Definition at line 4114 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(), FOOTPRINT_EDIT_FRAME::installFootprintTabBoard(), DIALOG_UPDATE_PCB::PerformUpdate(), SelectAll(), selectAllConnectedShapes(), selectAllConnectedTracks(), SelectAllItemsOnNet(), selectAllItemsOnSheet(), selectCellsBetween(), SelectColumns(), selectConnections(), SelectMultiple(), selectNet(), selectPoint(), SelectRows(), SelectTable(), selectUnconnected(), toggleTableCellSelection(), unrouteSegment(), and unrouteSelected().
| bool PCB_SELECTION_TOOL::Selectable | ( | const BOARD_ITEM * | aItem, |
| bool | checkVisibilityOnly = false ) const |
Definition at line 3796 of file pcb_selection_tool.cpp.
References LSET::AllLayersMask(), EDA_GROUP::AsEdaItem(), board(), frame(), 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(), TOOL_BASE::getView(), BOARD::GetVisibleLayers(), FOOTPRINT::GraphicalItems(), group, EDA_SHAPE::IsAnyFill(), MARKER_BASE::IsExcluded(), 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, 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_BARCODE_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, via, view(), and FOOTPRINT::Zones().
Referenced by PCB_CONTROL::InteractiveDelete(), BOARD_INSPECTION_TOOL::pickItemForInspection(), Selectable(), SelectAll(), SelectMultiple(), selectPoint(), and UnselectAll().
| int PCB_SELECTION_TOOL::SelectAll | ( | const TOOL_EVENT & | aEvent | ) |
Unselect all items on the board.
Definition at line 1741 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 2629 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(), itemPassesFilter(), 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 2221 of file pcb_selection_tool.cpp.
References LSET::AllCuMask(), EDA_GROUP::AsEdaItem(), board(), LSET::Contains(), LSET::CuStack(), EXCLUDE_ZONES, PCB_SHAPE::GetConnectionPoints(), BOARD::GetConnectivity(), PCB_TRACK::GetEnd(), PCB_TRACK::GetLayerSet(), PCB_VIA::GetLayerSet(), EDA_ITEM::GetParentGroup(), PCB_VIA::GetPosition(), PCB_TRACK::GetStart(), PCB_VIA::GetWidth(), EDA_ITEM::HasFlag(), 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, radius, select(), EDA_ITEM::SetFlags(), 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 2828 of file pcb_selection_tool.cpp.
References board(), BOARD::GetConnectivity(), itemPassesFilter(), select(), and unselect().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FindItem(), selectNet(), and selectNetChain().
|
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 2931 of file pcb_selection_tool.cpp.
References board(), select(), and selectConnections().
Referenced by selectSameSheet(), and selectSheetContents().
|
private |
Select table cells contained within the rectangle defined by two corner points, combining the result with the prior selection state (recorded by initializeTableCellSelectionState) according to the current modifier keys.
Definition at line 1090 of file pcb_selection_tool.cpp.
References CANDIDATE, PCB_TABLE::GetCells(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_exclusive_or, SELECTION_TOOL::m_subtractive, BOX2< Vec >::Normalize(), select(), and unselect().
Referenced by extendTableCellSelectionTo(), and selectTableCells().
| int PCB_SELECTION_TOOL::SelectColumns | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 5069 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 2960 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 1040 of file pcb_selection_tool.cpp.
References ClearSelection(), TOOL_BASE::getViewControls(), m_selection, and selectPoint().
Referenced by CursorSelection(), expandConnection(), selectNet(), and selectNetChain().
|
inlineoverrideprotectedvirtual |
Return a reference to the selection.
Implements SELECTION_TOOL.
Definition at line 299 of file pcb_selection_tool.h.
References m_selection.
Referenced by filterSelection(), selectNet(), and selectNetChain().
|
private |
Definition at line 4213 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 243 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 1573 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 2843 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 all copper connections belonging to every net in the selected item's net chain.
Definition at line 2887 of file pcb_selection_tool.cpp.
References board(), BOARD_CONNECTED_ITEM::GetNet(), NETINFO_ITEM::GetNetChain(), BOARD_CONNECTED_ITEM::GetNetCode(), m_selection, TOOL_BASE::m_toolMgr, SelectAllItemsOnNet(), selectCursor(), EVENTS::SelectedEvent, selection(), 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 895 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 1474 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 1372 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 5104 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 3133 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 3117 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 5139 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 1284 of file pcb_selection_tool.cpp.
References allowedActions, BUT_LEFT, CANDIDATE, end, PCB_TABLE::GetCells(), TOOL_BASE::getViewControls(), initializeTableCellSelectionState(), SELECTION_TOOL::m_additive, SELECTION_TOOL::m_multiple, m_previousFirstCell, m_selection, TOOL_BASE::m_toolMgr, passEvent(), selectCellsBetween(), EVENTS::SelectedEvent, KIGFX::VIEW_CONTROLS::SetAutoPan(), EVENTS::UnselectedEvent, and TOOL_INTERACTIVE::Wait().
Referenced by Main().
|
private |
Select nearest unconnected footprints on same net as selected items.
Definition at line 2678 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 91 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 45 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 1456 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 1465 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 5168 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::selectNetChain, selectNetChain(), 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 1224 of file pcb_selection_tool.cpp.
References m_selection.
Referenced by Main().
|
private |
Definition at line 3051 of file pcb_selection_tool.cpp.
References doSyncSelection(), and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
private |
Definition at line 3062 of file pcb_selection_tool.cpp.
References doSyncSelection(), and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
private |
When the user Ctrl-clicks inside a PCB_TABLE whose cells are already in the selection, toggle that cell into or out of the selection instead of triggering the net-highlight action.
Matches eeschema's table behaviour and mirrors eeschema 10.0.1, where Ctrl- (then Shift-) click could be used to build a discontinuous cell selection.
Definition at line 1233 of file pcb_selection_tool.cpp.
References collectTableCellsAt(), COLLECTOR::GetCount(), BOARD_ITEM::GetParent(), EDA_ITEM::IsSelected(), m_previousFirstCell, m_selection, TOOL_BASE::m_toolMgr, EVENTS::PointSelectedEvent, select(), unselect(), and EVENTS::UnselectedEvent.
Referenced by Main().
|
inherited |
Definition at line 222 of file selection_tool.cpp.
References BRIGHTENED, and unhighlight().
Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), BOARD_INSPECTION_TOOL::InspectClearance(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), PANEL_COMPONENT_CLASS_ASSIGNMENT::OnHighlightItemsClick(), BOARD_INSPECTION_TOOL::pickItemForInspection(), 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 4177 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 4191 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 2025 of file pcb_selection_tool.cpp.
References _, EDA_GROUP::AsEdaItem(), BOARD_CONNECTED_ITEM::ClassOf(), ClearSelection(), PCB_GROUP::GetBoardItems(), EDA_ITEM::GetParentGroup(), m_selection, TOOL_BASE::m_toolMgr, PCB_ARC_T, PCB_GENERATOR_T, PCB_TRACE_T, PCB_VIA_T, BOARD_COMMIT::Push(), RECURSE, COMMIT::Remove(), BOARD_ITEM::RunOnChildren(), select(), selectAllConnectedTracks(), STOP_AT_SEGMENT, and EDA_ITEM::Type().
Referenced by setTransitions().
|
private |
Unroute the selected board connected items.
Definition at line 1823 of file pcb_selection_tool.cpp.
References _, board(), BOARD_CONNECTED_ITEM::ClassOf(), ClearSelection(), PCB_TRACK::GetEnd(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_TRACK::GetStart(), m_filter, m_selection, TOOL_BASE::m_toolMgr, pad, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_VIA_T, BOARD_COMMIT::Push(), RECURSE, COMMIT::Remove(), BOARD_ITEM::RunOnChildren(), select(), selectAllConnectedTracks(), STOP_AT_PAD, and EDA_ITEM::Type().
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 4137 of file pcb_selection_tool.cpp.
References m_selection, SELECTED, and unhighlight().
Referenced by extendTableCellSelectionTo(), selectAllConnectedTracks(), SelectAllItemsOnNet(), selectCellsBetween(), SelectMultiple(), selectPoint(), toggleTableCellSelection(), and UnselectAll().
| int PCB_SELECTION_TOOL::UnselectAll | ( | const TOOL_EVENT & | aEvent | ) |
Change the selection mode.
Definition at line 1775 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 89 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 5060 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 267 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 67 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), and DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew().
| void PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox | ( | const BOX2I & | bbox | ) |
Definition at line 3192 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 3167 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 146 of file selection_tool.h.
Referenced by SCH_SELECTION_TOOL::disambiguateCursor(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), 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(), PCB_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 158 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 160 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 155 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 156 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 547 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 549 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 148 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(), PCB_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(), and setModifiersState().
|
private |
Definition at line 543 of file pcb_selection_tool.h.
Referenced by GetFilter(), itemPassesFilter(), PCB_SELECTION_TOOL(), and unrouteSelected().
|
private |
Definition at line 538 of file pcb_selection_tool.h.
Referenced by ctrlClickHighlights(), doSyncSelection(), expandConnection(), FilterCollectorForLockedItems(), filterSelection(), FindItem(), GetActiveLayer(), GuessSelectionCandidates(), itemPassesFilter(), Main(), OnIdle(), PCB_SELECTION_TOOL(), pruneObscuredSelectionCandidates(), ReportFilteredLockedItems(), RequestSelection(), Reset(), SelectAll(), selectAllConnectedTracks(), selectPoint(), SelectPolyArea(), SelectRectArea(), SetSelectPoly(), SetSelectRect(), UnselectAll(), ZoomFitCrossProbeBBox(), and zoomFitSelection().
|
protectedinherited |
Select highlight net on left click.
Definition at line 154 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::Main(), SELECTION_TOOL(), and setModifiersState().
|
private |
Definition at line 539 of file pcb_selection_tool.h.
Referenced by collectTableCellsAt(), ctrlClickHighlights(), FilterCollectorForFootprints(), FilterCollectorForFreePads(), FilterCollectorForHierarchy(), IsFootprintEditor(), itemPassesFilter(), PCB_SELECTION_TOOL(), RebuildSelection(), Reset(), select(), Selectable(), SelectMultiple(), and selectPoint().
|
private |
Definition at line 553 of file pcb_selection_tool.h.
Referenced by FilterCollectorForLockedItems(), PCB_SELECTION_TOOL(), ReportFilteredLockedItems(), and RequestSelection().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 121 of file tool_interactive.h.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), GetToolMenu(), BOARD_EDITOR_CONTROL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), EDA_3D_CONTROLLER::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GERBVIEW_SELECTION_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().
|
protectedinherited |
Multiple selection mode is active.
Definition at line 149 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 545 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 162 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 556 of file pcb_selection_tool.h.
Referenced by ClearSelection(), extendTableCellSelectionTo(), Main(), PCB_SELECTION_TOOL(), RebuildSelection(), selectTableCells(), and toggleTableCellSelection().
|
private |
Definition at line 560 of file pcb_selection_tool.h.
Referenced by filterSelection(), and PCB_SELECTION_TOOL().
|
private |
Definition at line 541 of file pcb_selection_tool.h.
Referenced by ClearSelection(), doSyncSelection(), EnterGroup(), expandConnection(), extendTableCellSelectionTo(), FilterCollectorForFootprints(), filterSelection(), FindItem(), GetSelection(), grabUnconnected(), Main(), RebuildSelection(), RequestSelection(), Reset(), select(), selectAllConnectedTracks(), SelectColumns(), selectCursor(), selection(), selectionContains(), SelectMultiple(), selectNet(), selectNetChain(), selectPoint(), SelectPolyArea(), SelectRectArea(), SelectRows(), selectSameSheet(), selectSheetContents(), SelectTable(), selectTableCells(), selectUnconnected(), singleSelectedCell(), toggleTableCellSelection(), unrouteSegment(), unrouteSelected(), unselect(), updateSelection(), zoomFitSelection(), and ~PCB_SELECTION_TOOL().
|
private |
Definition at line 551 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 153 of file selection_tool.h.
Referenced by PCB_SELECTION_TOOL::disambiguateCursor(), PL_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::disambiguateCursor(), SCH_SELECTION_TOOL::narrowSelection(), SELECTION_TOOL(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), and setModifiersState().
|
protectedinherited |
Items should be removed from selection.
Definition at line 147 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(), PCB_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(), 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(), BOARD_EDITOR_CONTROL::ChangeLineMode(), FOOTPRINT_EDITOR_CONTROL::ChangeLineMode(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::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(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), 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(), BOARD_INSPECTION_TOOL::HighlightNetChain(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_VIEWER_TOOLS::NextLineMode(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), DIFF_PHASE_SKEW_TOOL::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(), DRAWING_TOOL::runSimpleShapeDraw(), 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(), PCB_SELECTION_TOOL::selectNetChain(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::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::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDIT_TOOL::ToggleFootprintAttribute(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), PCB_SELECTION_TOOL::toggleTableCellSelection(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 219 of file tool_base.h.
Referenced by GetName(), and TOOL_BASE().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by GetType(), and TOOL_BASE().