KiCad PCB EDA Suite
|
The interactive edit tool. More...
#include <edit_tool.h>
Public Types | |
enum | RESET_REASON { RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH , REDRAW , SHUTDOWN } |
Determine the reason of reset for a tool. More... | |
Public Member Functions | |
EDIT_TOOL () | |
void | Reset (RESET_REASON aReason) override |
Bring the tool to a known, initial state. | |
bool | Init () override |
Init() is called once upon a registration of the tool. | |
int | GetAndPlace (const TOOL_EVENT &aEvent) |
int | Move (const TOOL_EVENT &aEvent) |
Main loop in which events are handled. | |
int | Drag (const TOOL_EVENT &aEvent) |
Invoke the PNS router to drag tracks or do an offline resizing of an arc track if a single arc track is selected. | |
int | DragArcTrack (const TOOL_EVENT &aTrack) |
Drag-resize an arc (and change end points of connected straight segments). | |
int | Properties (const TOOL_EVENT &aEvent) |
Display properties window for the selected object. | |
int | Rotate (const TOOL_EVENT &aEvent) |
Rotate currently selected items. | |
int | Flip (const TOOL_EVENT &aEvent) |
Rotate currently selected items. | |
int | Mirror (const TOOL_EVENT &aEvent) |
Mirror the current selection. | |
int | JustifyText (const TOOL_EVENT &aEvent) |
Set the justification on any text items (or fields) in the current selection. | |
int | Swap (const TOOL_EVENT &aEvent) |
Swap currently selected items' positions. | |
int | PackAndMoveFootprints (const TOOL_EVENT &aEvent) |
Try to fit selected footprints inside a minimal area and start movement. | |
int | ChangeTrackWidth (const TOOL_EVENT &aEvent) |
int | FilletTracks (const TOOL_EVENT &aEvent) |
Fillet (i.e. | |
int | ModifyLines (const TOOL_EVENT &aEvent) |
"Modify" graphical lines. | |
int | HealShapes (const TOOL_EVENT &aEvent) |
Make ends of selected shapes meet by extending or cutting them, or adding extra geometry. | |
int | SimplifyPolygons (const TOOL_EVENT &aEvent) |
Simplify the outlines of selected polygon objects. | |
int | OutsetItems (const TOOL_EVENT &aEvent) |
Create outset items from selection. | |
int | BooleanPolygons (const TOOL_EVENT &aEvent) |
Modify selected polygons into a single polygon using boolean operations such as merge (union) or subtract (difference) | |
int | Remove (const TOOL_EVENT &aEvent) |
Delete currently selected items. | |
void | DeleteItems (const PCB_SELECTION &aItem, bool aIsCut) |
int | Duplicate (const TOOL_EVENT &aItem) |
Duplicate the current selection and starts a move action. | |
int | MoveExact (const TOOL_EVENT &aEvent) |
Invoke a dialog box to allow moving of the item by an exact amount. | |
int | Increment (const TOOL_EVENT &aEvent) |
Increment some aspect of the selected items.q. | |
void | SetIsFootprintEditor (bool aEnabled) |
Function SetIsFootprintEditor() | |
bool | IsFootprintEditor () const |
void | SetIsBoardEditor (bool aEnabled) |
bool | IsBoardEditor () const |
virtual bool | Is45Limited () const |
Should the tool use its 45° mode option? | |
void | Activate () |
Run the tool. | |
TOOL_MENU & | GetToolMenu () |
void | SetContextMenu (ACTION_MENU *aMenu, CONTEXT_MENU_TRIGGER aTrigger=CMENU_BUTTON) |
Assign a context menu and tells when it should be activated. | |
void | RunMainStack (std::function< void()> aFunc) |
Call a function using the main stack. | |
template<class T > | |
void | Go (int(T::*aStateFunc)(const TOOL_EVENT &), const TOOL_EVENT_LIST &aConditions=TOOL_EVENT(TC_ANY, TA_ANY)) |
Define which state (aStateFunc) to go when a certain event arrives (aConditions). | |
TOOL_EVENT * | Wait (const TOOL_EVENT_LIST &aEventList=TOOL_EVENT(TC_ANY, TA_ANY)) |
Suspend execution of the tool until an event specified in aEventList arrives. | |
TOOL_TYPE | GetType () const |
Return the type of the tool. | |
TOOL_ID | GetId () const |
Return the unique identifier of the tool. | |
const std::string & | GetName () const |
Return the name of the tool. | |
TOOL_MANAGER * | GetManager () const |
Return the instance of TOOL_MANAGER that takes care of the tool. | |
bool | IsToolActive () const |
Static Public Member Functions | |
static void | FootprintFilter (const VECTOR2I &, GENERAL_COLLECTOR &aCollector, PCB_SELECTION_TOOL *sTool) |
A selection filter which prunes the selection to contain only items of type #PCB_MODULE_T. | |
static void | PadFilter (const VECTOR2I &, GENERAL_COLLECTOR &aCollector, PCB_SELECTION_TOOL *sTool) |
A selection filter which prunes the selection to contain only items of type PCB_PAD_T. | |
Static Public Attributes | |
static const std::vector< KICAD_T > | MirrorableItems |
Protected Types | |
enum | INTERACTIVE_PLACEMENT_OPTIONS { IPO_ROTATE = 0x01 , IPO_FLIP = 0x02 , IPO_SINGLE_CLICK = 0x04 , IPO_REPEAT = 0x08 } |
Options for placing items interactively. More... | |
Protected Member Functions | |
void | doInteractiveItemPlacement (const TOOL_EVENT &aTool, INTERACTIVE_PLACER_BASE *aPlacer, const wxString &aCommitMessage, int aOptions=IPO_ROTATE|IPO_FLIP|IPO_REPEAT) |
Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc. | |
KIGFX::PCB_VIEW * | view () const |
KIGFX::VIEW_CONTROLS * | controls () const |
template<class T = PCB_BASE_EDIT_FRAME> | |
T * | frame () const |
BOARD * | board () const |
FOOTPRINT * | footprint () const |
PCBNEW_SETTINGS::DISPLAY_OPTIONS & | displayOptions () const |
PCB_DRAW_PANEL_GAL * | canvas () const |
const PCB_SELECTION & | selection () const |
PCB_SELECTION & | selection () |
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_isFootprintEditor |
bool | m_isBoardEditor |
std::unique_ptr< TOOL_MENU > | m_menu |
The functions below are not yet implemented - their interface may change. | |
TOOL_TYPE | m_type |
TOOL_ID | m_toolId |
Unique id, assigned by a TOOL_MANAGER instance. | |
std::string | m_toolName |
Names are expected to obey the format application.ToolName (eg. | |
TOOL_MANAGER * | m_toolMgr |
Private Member Functions | |
void | setTransitions () override |
< Set up handlers for various events. | |
int | copyToClipboard (const TOOL_EVENT &aEvent) |
Send the current selection to the clipboard by formatting it as a fake pcb see #AppendBoardFromClipboard for importing. | |
int | copyToClipboardAsText (const TOOL_EVENT &aEvent) |
Send the current selection to the clipboard as text. | |
int | cutToClipboard (const TOOL_EVENT &aEvent) |
Cut the current selection to the clipboard by formatting it as a fake pcb see #AppendBoardFromClipboard for importing. | |
bool | updateModificationPoint (PCB_SELECTION &aSelection) |
bool | invokeInlineRouter (int aDragMode) |
bool | isRouterActive () const |
VECTOR2I | getSafeMovement (const VECTOR2I &aMovement, const BOX2I &aSourceBBox, const VECTOR2D &aBBoxOffset) |
bool | pickReferencePoint (const wxString &aTooltip, const wxString &aSuccessMessage, const wxString &aCanceledMessage, VECTOR2I &aReferencePoint) |
bool | doMoveSelection (const TOOL_EVENT &aEvent, BOARD_COMMIT *aCommit, bool aAutoStart) |
Rebuilds the ratsnest for operations that require it outside the commit rebuild. | |
void | rebuildConnectivity () |
Removes all items from the set which are children of other PCB_GROUP or PCB_GENERATOR items in the set. | |
void | removeNonRootItems (std::unordered_set< EDA_ITEM * > &items) |
Recursively adds any child items of the given item to the set. | |
void | getChildItemsOfGroupsAndGenerators (EDA_ITEM *item, std::unordered_set< BOARD_ITEM * > &children) |
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_SELECTION_TOOL * | m_selectionTool |
bool | m_dragging |
VECTOR2I | m_cursor |
std::unique_ptr< STATUS_TEXT_POPUP > | m_statusPopup |
Static Private Attributes | |
static const unsigned int | COORDS_PADDING = pcbIUScale.mmToIU( 20 ) |
The interactive edit tool.
Allows one to move, rotate, flip and change properties of items selected using the pcbnew.InteractiveSelection tool.
Definition at line 55 of file edit_tool.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 121 of file pcb_tool_base.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
EDIT_TOOL::EDIT_TOOL | ( | ) |
Definition at line 107 of file edit_tool.cpp.
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 64 of file tool_interactive.cpp.
References TOOL_MANAGER::InvokeTool(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), copyToClipboard(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DragArcTrack(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EE_POINT_EDITOR::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), GROUP_TOOL::PickNewMember(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), Remove(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDRCDialog(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 60 of file tool_base.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotectedinherited |
Definition at line 171 of file pcb_tool_base.h.
Referenced by PCB_CONTROL::AppendBoard(), BOARD_EDITOR_CONTROL::AssignNetclass(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), MULTICHANNEL_TOOL::copyRuleAreaContents(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportNetlist(), ZONE_FILLER_TOOL::FillAllZones(), FilletTracks(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutedConnections(), PCB_TOOL_BASE::footprint(), GENERATOR_TOOL::GenEditAction(), GENERATOR_TOOL::GENERATOR_TOOL(), GROUP_TOOL::Group(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), MULTICHANNEL_TOOL::identifyComponentsInRuleArea(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PAD_TOOL::OnUndoRedo(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_CONTROL::pruneItemLayers(), MULTICHANNEL_TOOL::queryComponentsInComponentClass(), MULTICHANNEL_TOOL::queryComponentsInSheet(), MULTICHANNEL_TOOL::QuerySheetsAndComponentClasses(), rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), MULTICHANNEL_TOOL::RepeatLayout(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::unfilledZoneCheck(), ROUTER_TOOL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
int EDIT_TOOL::BooleanPolygons | ( | const TOOL_EVENT & | aEvent | ) |
Modify selected polygons into a single polygon using boolean operations such as merge (union) or subtract (difference)
Definition at line 1752 of file edit_tool.cpp.
References COLLECTOR::GetCount(), m_selectionTool, COLLECTOR::Remove(), and PCB_SELECTION_TOOL::RequestSelection().
Referenced by OutsetItems(), and setTransitions().
|
protectedinherited |
Definition at line 309 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), DeleteItems(), doMoveSelection(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ZONE_FILLER_TOOL::FillAllZones(), Init(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::RatsnestModeCycle(), rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::refresh(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), Remove(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), ZONE_FILLER_TOOL::singleShotRefocus(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and ZONE_FILLER_TOOL::ZoneFillDirty().
int EDIT_TOOL::ChangeTrackWidth | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 986 of file edit_tool.cpp.
References _, PADSTACK::ALL_LAYERS, PCB_TOOL_BASE::board(), COLLECTOR::GetCount(), BOARD_DESIGN_SETTINGS::GetCurrentTrackWidth(), BOARD_DESIGN_SETTINGS::GetCurrentViaDrill(), BOARD_DESIGN_SETTINGS::GetCurrentViaSize(), BOARD::GetDesignSettings(), NETCLASS::GetuViaDiameter(), NETCLASS::GetuViaDrill(), SELECTION::IsHover(), m_selectionTool, TOOL_BASE::m_toolMgr, COMMIT::Modify(), PCB_ARC_T, PCB_TRACE_T, PCB_VIA_T, TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_TRACK::SetWidth(), and via.
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 160 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), DragArcTrack(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawZone(), ROUTER_TOOL::finishInteractive(), ROUTER_TOOL::handleLayerSwitch(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
|
private |
Send the current selection to the clipboard by formatting it as a fake pcb see #AppendBoardFromClipboard for importing.
Definition at line 3249 of file edit_tool.cpp.
References TOOL_EVENT::Action(), TOOL_INTERACTIVE::Activate(), TOOL_EVENT::Category(), PCB_TOOL_BASE::frame(), COLLECTOR::GetCount(), grid, m_selectionTool, TOOL_BASE::m_toolMgr, PCB_MARKER_T, and PCB_SELECTION_TOOL::RequestSelection().
Referenced by cutToClipboard(), OutsetItems(), and setTransitions().
|
private |
Send the current selection to the clipboard as text.
Definition at line 3330 of file edit_tool.cpp.
References PCB_SELECTION_TOOL::ClearSelection(), PCB_TABLE::GetCell(), PCB_TABLE::GetColCount(), PCB_TABLE::GetRowCount(), PCB_TEXTBOX::GetShownText(), SELECTION::IsHover(), m_selectionTool, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_SELECTION_TOOL::RequestSelection(), SaveClipboard(), and text.
Referenced by OutsetItems(), and setTransitions().
|
private |
Cut the current selection to the clipboard by formatting it as a fake pcb see #AppendBoardFromClipboard for importing.
Return the right modification point (e.g. for rotation), depending on the number of selected items.
Definition at line 3426 of file edit_tool.cpp.
References copyToClipboard(), ACTIONS::CUT, Remove(), and TOOL_EVENT::SetParameter().
Referenced by OutsetItems(), and setTransitions().
void EDIT_TOOL::DeleteItems | ( | const PCB_SELECTION & | aItem, |
bool | aIsCut | ||
) |
Definition at line 2444 of file edit_tool.cpp.
References _, SELECTION::begin(), PCB_TOOL_BASE::canvas(), CHT_UNGROUP, BOARD_ITEM_CONTAINER::Delete(), SELECTION::end(), PCB_SELECTION_TOOL::ExitGroup(), PCB_TOOL_BASE::frame(), PCB_ACTIONS::genRemove, KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_SELECTION_TOOL::GetEnteredGroup(), PCB_GROUP::GetItems(), BOARD_ITEM::GetParentFootprint(), BOARD_ITEM::GetParentGroup(), SELECTION::GetSize(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), ZONE::HatchBorder(), ZONE::HitTestCutout(), PCB_TOOL_BASE::IsFootprintEditor(), EDA_TEXT::IsVisible(), m_selectionTool, TOOL_BASE::m_toolMgr, COMMIT::Modify(), PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_DIMENSION_T, PCB_FIELD_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_ZONE_T, BOARD_COMMIT::Push(), EDA_DRAW_PANEL_GAL::Refresh(), FOOTPRINT::Remove(), COMMIT::Remove(), KIGFX::VIEW::Remove(), ZONE::RemoveCutout(), removeNonRootItems(), TOOL_MANAGER::RunAction(), BOARD_ITEM::RunOnDescendants(), TOOL_MANAGER::RunSynchronousAction(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, EDA_TEXT::SetVisible(), EDA_BASE_FRAME::ShowInfoBarError(), BOARD_COMMIT::Stage(), ZONE::UnFill(), and KIGFX::VIEW::Update().
Referenced by PCB_CONTROL::InteractiveDelete(), OutsetItems(), and Remove().
|
protectedinherited |
Definition at line 304 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::RatsnestModeCycle(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), and PCB_CONTROL::ViaDisplayMode().
|
protectedinherited |
Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc.
More complex interactive processes are not supported here, you should implement a customised event loop for those.
aItemCreator | the callable that will attempt to create the item |
aCommitMessage | the message used on a successful commit |
Definition at line 43 of file pcb_tool_base.cpp.
References TOOL_INTERACTIVE::Activate(), SELECTION::Add(), KIGFX::VIEW_GROUP::Add(), KIGFX::PCB_VIEW::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), PCB_TOOL_BASE::controls(), INTERACTIVE_PLACER_BASE::CreateItem(), PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), TOOL_BASE::getView(), grid, PCB_TOOL_BASE::IPO_FLIP, PCB_TOOL_BASE::IPO_REPEAT, PCB_TOOL_BASE::IPO_ROTATE, PCB_TOOL_BASE::IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, INTERACTIVE_PLACER_BASE::PlaceItem(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_ITEM::SetFlags(), KIGFX::VIEW_CONTROLS::ShowCursor(), INTERACTIVE_PLACER_BASE::SnapItem(), TC_COMMAND, PCB_ACTIONS::trackViaSizeChanged, KIGFX::PCB_VIEW::Update(), PCB_TOOL_BASE::view(), and TOOL_INTERACTIVE::Wait().
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DRAWING_TOOL::DrawVia(), and PAD_TOOL::PlacePad().
|
private |
Rebuilds the ratsnest for operations that require it outside the commit rebuild.
Definition at line 288 of file edit_tool_move_fct.cpp.
References _, TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemToSel(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, PCB_TOOL_BASE::canvas(), TOOL_EVENT::Category(), SELECTION::ClearReferencePoint(), PCB_SELECTION_TOOL::ClearSelection(), PCB_TOOL_BASE::controls(), copy, PCB_ACTIONS::copyWithReference, ACTIONS::CURSOR_DOWN, ACTIONS::CURSOR_LEFT, ACTIONS::CURSOR_RIGHT, ACTIONS::CURSOR_UP, ACTIONS::cursorClick, ACTIONS::cut, TOOL_EVENT::DisableGridSnapping(), EDA_DRAW_FRAME::DisplayConstraintsMsg(), ACTIONS::doDelete, ACTIONS::duplicate, SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_ACTIONS::flip, PCB_TOOL_BASE::footprint(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_ACTIONS::genPushEdit, PCB_ACTIONS::genRevertEdit, PCB_ACTIONS::genStartEdit, PCB_ACTIONS::genUpdateEdit, PCB_BASE_FRAME::GetActiveLayer(), FOOTPRINT::GetAttributes(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_SELECTION_TOOL::GetFilter(), SELECTION::GetItemsSortedBySelectionOrder(), PCB_BASE_FRAME::GetMagneticItemsSettings(), KIPLATFORM::UI::GetMousePosition(), KIGFX::VIEW_CONTROLS::GetMousePosition(), TOOLS_HOLDER::GetMoveWarpsCursor(), EDA_ITEM::GetParent(), PCB_BASE_FRAME::GetPcbNewSettings(), EDA_ITEM::GetPosition(), FOOTPRINT::GetReference(), getSafeMovement(), KIGFX::VIEW_CONTROLS::GetSettings(), TOOL_MANAGER::GetTool(), TOOL_INTERACTIVE::GetToolMenu(), EDA_ITEM::GetTypeDesc(), GetVectorSnapped45(), TOOL_BASE::getView(), TOOL_MANAGER::GetView(), TOOL_BASE::getViewControls(), grid, SELECTION::HasReferencePoint(), PCB_ACTIONS::hideLocalRatsnest, PCB_BASE_FRAME::HideSolderMask(), IS_MOVING, TOOL_EVENT::IsAction(), TOOL_EVENT::IsActivate(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), TOOL_EVENT::IsCancelInteractive(), TOOL_EVENT::IsClick(), TOOL_EVENT::IsDblClick(), TOOL_EVENT::IsDrag(), SELECTION::IsHover(), TOOL_EVENT::IsMotion(), TOOL_EVENT::IsMouseUp(), EDA_ITEM::IsMoving(), EDA_ITEM::IsNew(), EDA_ITEM::IsSelected(), ZONE_FILLER_TOOL::IsZoneFillAction(), m_cursor, PCBNEW_SETTINGS::m_Display, m_dragging, PCB_TOOL_BASE::m_isFootprintEditor, KIGFX::VC_SETTINGS::m_lastKeyboardCursorCommand, KIGFX::VC_SETTINGS::m_lastKeyboardCursorPositionValid, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_Live3DRefresh, m_selectionTool, PCBNEW_SETTINGS::m_ShowCourtyardCollisions, TOOL_BASE::m_toolMgr, MD_SHIFT, BOX2< Vec >::Merge(), PCB_ACTIONS::mirrorH, PCB_ACTIONS::mirrorV, TOOL_EVENT::Modifier(), COMMIT::Modify(), Move(), BOARD_ITEM::Move(), PCB_ACTIONS::move, PCB_ACTIONS::moveExact, PCB_ACTIONS::moveIndividually, PCB_ACTIONS::moveWithReference, pad, FOOTPRINT::Pads(), PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_PAD_T, pickReferencePoint(), TOOLS_HOLDER::PopTool(), PCB_ACTIONS::positionRelative, PCB_ACTIONS::positionRelativeInteractively, TOOL_MANAGER::PostAction(), TOOL_MANAGER::PostEvent(), TOOLS_HOLDER::PushTool(), rebuildConnectivity(), ACTIONS::redo, ACTIONS::refreshPreview, PCB_SELECTION_TOOL::RequestSelection(), PCB_ACTIONS::rotateCcw, PCB_ACTIONS::rotateCw, TOOL_MANAGER::RunAction(), TOOL_MANAGER::RunSynchronousAction(), EVENTS::SelectedItemsModified, EVENTS::SelectedItemsMoved, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItems, FOOTPRINT::SetAttributes(), KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), KIGFX::VIEW_CONTROLS::SetCursorPosition(), EDA_ITEM::SetFlags(), TOOL_EVENT::SetPassEvent(), SELECTION::SetReferencePoint(), EDA_DRAW_PANEL_GAL::SetStatusPopup(), TOOL_MENU::ShowContextMenu(), KIGFX::VIEW_CONTROLS::ShowCursor(), PCB_ACTIONS::skip, TC_MOUSE, PCB_ACTIONS::toggleHV45Mode, EDA_ITEM::Type(), ACTIONS::undo, KIGFX::PCB_VIEW::Update(), PCB_BASE_FRAME::Update3DView(), PCB_ACTIONS::updateLocalRatsnest, PCB_TOOL_BASE::view(), EDA_ITEM::ViewBBox(), TOOL_INTERACTIVE::Wait(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by Duplicate(), Move(), OutsetItems(), and PackAndMoveFootprints().
int EDIT_TOOL::Drag | ( | const TOOL_EVENT & | aEvent | ) |
Invoke the PNS router to drag tracks or do an offline resizing of an arc track if a single arc track is selected.
Definition at line 515 of file edit_tool.cpp.
References PNS::DM_ANY, PNS::DM_FREE_ANGLE, PCB_ACTIONS::dragFreeAngle, PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_TOOL_BASE::footprint(), TOOL_MANAGER::GetTool(), TOOL_EVENT::IsAction(), TOOL_BASE::IsToolActive(), m_dragging, m_selectionTool, TOOL_BASE::m_toolMgr, PCB_VIA_T, PCB_SELECTION_TOOL::RequestSelection(), and PCB_TOOL_BASE::selection().
Referenced by setTransitions().
int EDIT_TOOL::DragArcTrack | ( | const TOOL_EVENT & | aTrack | ) |
Drag-resize an arc (and change end points of connected straight segments).
Definition at line 633 of file edit_tool.cpp.
References _, SEG::A, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), KIGFX::VIEW::Add(), SEG::Angle(), ANGLE_180, SEG::B, baseConnectedTypes, PCB_TOOL_BASE::board(), BUT_LEFT, CalcArcMid(), CIRCLE::Center, CIRCLE::ConstructFromTanTanPt(), PCB_TOOL_BASE::controls(), ACTIONS::cursorClick, DEGREES_T, VECTOR2< T >::Distance(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), SELECTION::Front(), PCB_ARC::GetAngle(), PCB_ARC::GetCenter(), ADVANCED_CFG::GetCfg(), BOARD::GetConnectivity(), PCB_TRACK::GetEnd(), BOARD_ITEM::GetLayer(), PCB_TRACK::GetLength(), PCB_ARC::GetLength(), PCB_TRACK::GetLocalSolderMaskMargin(), PCB_ARC::GetMid(), KIGFX::VIEW_CONTROLS::GetMousePosition(), BOARD_CONNECTED_ITEM::GetNet(), BOARD_ITEM::GetParent(), PCB_SELECTION_TOOL::GetSelection(), PCB_TRACK::GetStart(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), PCB_TRACK::GetWidth(), PCB_TRACK::HasSolderMask(), SEG::IntersectLines(), IS_NEW, BOARD_ITEM::IsLocked(), EDA_IU_SCALE::IU_PER_MM, KiROUND(), SEG::LineProject(), m_cursor, m_selectionTool, EDA_UNIT_UTILS::UI::MessageTextFromValue(), COMMIT::Modify(), CIRCLE::NearestPoint(), SEG::NearestPoint(), PCB_ARC_T, PCB_TRACE_T, pcbIUScale, SEG::PerpendicularSeg(), BOARD_COMMIT::Push(), CIRCLE::Radius, COMMIT::Remove(), KIGFX::VIEW::Remove(), BOARD_COMMIT::Revert(), PCB_TOOL_BASE::selection(), KIGFX::VIEW_CONTROLS::SetAutoPan(), PCB_TRACK::SetEnd(), EDA_ITEM::SetFlags(), PCB_TRACK::SetHasSolderMask(), BOARD_ITEM::SetLayer(), PCB_TRACK::SetLocalSolderMaskMargin(), BOARD_ITEM::SetLocked(), PCB_ARC::SetMid(), BOARD_CONNECTED_ITEM::SetNet(), PCB_TRACK::SetStart(), PCB_TRACK::SetWidth(), KIGFX::VIEW_CONTROLS::ShowCursor(), SEG::Side(), SELECTION::Size(), EDA_ITEM::Type(), ACTIONS::undo, KIGFX::VIEW::Update(), and TOOL_INTERACTIVE::Wait().
int EDIT_TOOL::Duplicate | ( | const TOOL_EVENT & | aItem | ) |
Duplicate the current selection and starts a move action.
Definition at line 2818 of file edit_tool.cpp.
References _, COMMIT::Add(), PAD::CanHaveNumber(), EDA_ITEM::ClearSelected(), SELECTION::CountType(), EDA_DRAW_FRAME::DisplayToolMsg(), doMoveSelection(), BOARD_ITEM::Duplicate(), PCB_ACTIONS::duplicateIncrement, FOOTPRINT::DuplicateItem(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_BASE_FRAME::GetBoard(), BOARD::GetFirstFootprint(), PAD_TOOL::GetLastPadNumber(), FOOTPRINT::GetNextPadNumber(), BOARD_ITEM::GetParentFootprint(), TOOL_MANAGER::GetTool(), TOOL_EVENT::IsAction(), SELECTION::IsHover(), isRouterActive(), PCB_TOOL_BASE::m_isFootprintEditor, m_selectionTool, TOOL_BASE::m_toolMgr, PCB_ARC_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), BOARD_COMMIT::Revert(), TOOL_MANAGER::RunAction(), BOARD_ITEM::RunOnDescendants(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItems, PAD_TOOL::SetLastPadNumber(), SELECTION::Size(), and EDA_ITEM::Type().
Referenced by OutsetItems(), and setTransitions().
int EDIT_TOOL::FilletTracks | ( | const TOOL_EVENT & | aEvent | ) |
Fillet (i.e.
adds an arc tangent to) all selected straight tracks by a user defined radius.
Definition at line 1059 of file edit_tool.cpp.
References _, COMMIT::Add(), SELECTION_TOOL::AddItemToSel(), anchor, SEG::ApproxCollinear(), baseConnectedTypes, PCB_TOOL_BASE::board(), SELECTION::Contains(), VECTOR2< T >::EuclideanNorm(), PCB_TOOL_BASE::frame(), GetBoard(), BOARD::GetConnectivity(), COLLECTOR::GetCount(), PCB_TRACK::GetEnd(), BOARD_ITEM::GetLayer(), PCB_TRACK::GetLength(), PCB_TRACK::GetLocalSolderMaskMargin(), BOARD_CONNECTED_ITEM::GetNet(), SHAPE_ARC::GetP0(), SHAPE_ARC::GetP1(), PCB_TRACK::GetStart(), WX_UNIT_ENTRY_DIALOG::GetValue(), PCB_TRACK::GetWidth(), PCB_TRACK::HasSolderMask(), BOARD_ITEM::IsLocked(), PCB_TRACK::IsPointOnEnds(), m_selectionTool, SHAPE::MIN_PRECISION_IU, COMMIT::Modify(), PCB_TRACE_T, BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), PCB_TOOL_BASE::selection(), PCB_TRACK::SetEnd(), PCB_TRACK::SetHasSolderMask(), BOARD_ITEM::SetLayer(), PCB_TRACK::SetLocalSolderMaskMargin(), BOARD_ITEM::SetLocked(), BOARD_CONNECTED_ITEM::SetNet(), PCB_TRACK::SetStart(), PCB_TRACK::SetWidth(), DIALOG_SHIM::ShowModal(), SELECTION::Size(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
int EDIT_TOOL::Flip | ( | const TOOL_EVENT & | aEvent | ) |
Rotate currently selected items.
The rotation point is the current cursor position.
Definition at line 2309 of file edit_tool.cpp.
References _, SELECTION::ClearReferencePoint(), TOOL_EVENT::Commit(), COMMIT::Empty(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), BOARD_ITEM::Flip(), PCB_TOOL_BASE::frame(), SELECTION::GetCenter(), SELECTION::GetItem(), SELECTION::GetReferencePoint(), EDA_SHAPE::GetShape(), SELECTION::GetSize(), SELECTION::HasReferencePoint(), PCB_TOOL_BASE::IsFootprintEditor(), SELECTION::IsHover(), EDA_ITEM::IsMoving(), EDA_ITEM::IsNew(), isRouterActive(), m_dragging, m_selectionTool, TOOL_BASE::m_toolMgr, COMMIT::Modify(), BOARD_ITEM::Normalize(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, SELECTION::SetReferencePoint(), PCB_ACTIONS::updateLocalRatsnest, and updateModificationPoint().
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 173 of file pcb_tool_base.h.
References PCB_TOOL_BASE::board(), and BOARD::GetFirstFootprint().
Referenced by PCB_CONTROL::AppendBoard(), MICROWAVE_TOOL::createBaseFootprint(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), doMoveSelection(), Drag(), DRAWING_TOOL::DrawSpecificationStackup(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDITOR_CONTROL::EditLibraryFootprint(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportNetlist(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_INSPECTION_TOOL::makeDRCEngine(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), FOOTPRINT_EDITOR_CONTROL::Properties(), PAD_TOOL::pushPadSettings(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), DRAWING_TOOL::SetAnchor(), and FOOTPRINT_EDITOR_CONTROL::ShowDatasheet().
|
static |
A selection filter which prunes the selection to contain only items of type #PCB_MODULE_T.
Definition at line 3086 of file edit_tool.cpp.
References COLLECTOR::GetCount(), PCB_FOOTPRINT_T, and COLLECTOR::Remove().
Referenced by BOARD_EDITOR_CONTROL::EditFpInFpEditor(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), and OutsetItems().
|
inlineprotectedinherited |
Definition at line 166 of file pcb_tool_base.h.
Referenced by PCB_POINT_EDITOR::addCorner(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::canvas(), PCB_POINT_EDITOR::chamferCorner(), ZONE_FILLER_TOOL::CheckAllZones(), PNS::TOOL_BASE::checkSnap(), PCB_CONTROL::ContrastModeFeedback(), PAD_TOOL::copyPadSettings(), copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), DeleteItems(), PCB_TOOL_BASE::displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FilletTracks(), ROUTER_TOOL::finishInteractive(), Flip(), PCB_CONTROL::FlipPcbView(), GetAndPlace(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), PCB_CONTROL::HighContrastMode(), PCB_CONTROL::HighContrastModeCycle(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), SCRIPTING_TOOL::Init(), ROUTER_TOOL::Init(), Init(), PCB_PICKER_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::Is45Limited(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), MoveExact(), PCB_CONTROL::NetColorModeCycle(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), Properties(), PCB_CONTROL::pruneItemLayers(), PAD_TOOL::pushPadSettings(), PCB_CONTROL::RatsnestModeCycle(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), SCRIPTING_TOOL::reloadPlugins(), PCB_POINT_EDITOR::removeCorner(), MULTICHANNEL_TOOL::repeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_POINT_EDITOR::setEditedPoint(), ROUTER_TOOL::SettingsDialog(), FOOTPRINT_EDITOR_CONTROL::ShowDatasheet(), GENERATOR_TOOL::ShowGeneratorsManager(), GLOBAL_EDIT_TOOL::swapBoardItem(), GLOBAL_EDIT_TOOL::SwapLayers(), ROUTER_TOOL::switchLayerOnViaPlacement(), DRAWING_TOOL::ToggleHV45Mode(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::unfilledZoneCheck(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), PCB_CONTROL::ZoneDisplayMode(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
int EDIT_TOOL::GetAndPlace | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 455 of file edit_tool.cpp.
References PCB_TOOL_BASE::frame(), GetFootprintFromBoardByReference(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), PCB_TOOL_BASE::IsFootprintEditor(), TOOL_BASE::m_toolMgr, PCB_ACTIONS::move, TOOL_MANAGER::PostAction(), TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, and SELECTION::SetReferencePoint().
Referenced by setTransitions().
|
private |
Definition at line 2397 of file edit_tool.cpp.
References getChildItemsOfGroupsAndGenerators(), PCB_GENERATOR_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by getChildItemsOfGroupsAndGenerators(), OutsetItems(), and removeNonRootItems().
|
inlineprotectedinherited |
Return the application window object, casted to requested user type.
Definition at line 186 of file tool_base.h.
References TOOL_BASE::getToolHolderInternal().
Referenced by ZONE_CREATE_HELPER::createNewZone(), and ZONE_CREATE_HELPER::setUniquePriority().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 123 of file tool_base.h.
References TOOL_BASE::m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 146 of file tool_base.h.
References TOOL_BASE::m_toolMgr.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), ZONE_CREATE_HELPER::commitZone(), ZONE_CREATE_HELPER::createNewZone(), PNS_KICAD_IFACE::DisplayItem(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_TUNING_PATTERN::EditStart(), ACTION_MENU::getToolManager(), PNS_KICAD_IFACE::GetUnits(), makeShapeModificationMenu(), ZONE_CREATE_HELPER::OnFirstPoint(), ZONE_CREATE_HELPER::performZoneCutout(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineprotectedinherited |
Return the model object if it matches the requested type.
Definition at line 198 of file tool_base.h.
References TOOL_BASE::getModelInternal().
Referenced by ZONE_CREATE_HELPER::commitZone(), and ZONE_CREATE_HELPER::createZoneFromExisting().
|
privateinherited |
Definition at line 54 of file tool_base.cpp.
References TOOL_MANAGER::GetModel(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getModel().
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 136 of file tool_base.h.
References TOOL_BASE::m_toolName.
Referenced by TOOL_MANAGER::dispatchInternal(), TOOL_INTERACTIVE::goInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
private |
Definition at line 252 of file edit_tool_move_fct.cpp.
References COORDS_PADDING, BOX2< Vec >::GetBottom(), BOX2< Vec >::GetLeft(), BOX2< Vec >::GetPosition(), BOX2< Vec >::GetRight(), BOX2< Vec >::GetSize(), BOX2< Vec >::GetTop(), KiROUND(), and BOX2< Vec >::Offset().
Referenced by doMoveSelection(), and OutsetItems().
|
privateinherited |
Definition at line 48 of file tool_base.cpp.
References TOOL_MANAGER::GetToolHolder(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getEditFrame().
|
inherited |
Definition at line 110 of file tool_interactive.cpp.
References TOOL_INTERACTIVE::m_menu.
Referenced by doMoveSelection(), EE_INSPECTION_TOOL::Init(), EE_POINT_EDITOR::Init(), SCH_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), SYMBOL_EDITOR_MOVE_TOOL::Init(), SYMBOL_EDITOR_PIN_TOOL::Init(), PL_EDIT_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), CONVERT_TOOL::Init(), Init(), GENERATOR_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), and POSITION_RELATIVE_TOOL::PositionRelativeInteractively().
|
inlineinherited |
Return the type of the tool.
Definition at line 111 of file tool_base.h.
References TOOL_BASE::m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 36 of file tool_base.cpp.
References TOOL_MANAGER::GetView(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCornerCondition(), ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), EE_INSPECTION_TOOL::CheckSymbol(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::CollectHits(), SCH_LINE_WIRE_BUS_TOOL::computeBreakPoint(), MULTICHANNEL_TOOL::copyRuleAreaContents(), COMMON_TOOLS::CursorControl(), DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), EE_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlight(), EE_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TOOL::Init(), Init(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), SCH_EDIT_TOOL::Properties(), Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), EE_SELECTION_TOOL::Reset(), EE_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PNS::TOOL_BASE::Reset(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PCB_CONTROL::Reset(), PCB_SELECTION_TOOL::Reset(), SCH_EDIT_TOOL::Rotate(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectionContains(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), EE_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SYMBOL_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SYMBOL_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), SYMBOL_EDITOR_CONTROL::TogglePinAltIcons(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), SCH_FIND_REPLACE_TOOL::UpdateFind(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_TEST_SELECTION_TOOL::view(), EE_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), EE_SELECTION_TOOL::~EE_SELECTION_TOOL(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), and PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 42 of file tool_base.cpp.
References TOOL_MANAGER::GetViewControls(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), PCB_TEST_SELECTION_TOOL::controls(), COMMON_TOOLS::CursorControl(), DeleteItems(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomToPreset(), DragArcTrack(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), SCH_EDIT_TOOL::Init(), Init(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_EDIT_TOOL::Properties(), Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), PL_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), PCB_SELECTION_TOOL::selectCursor(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), EE_SELECTION_TOOL::SelectNode(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PICKER_TOOL::setControls(), PCB_PICKER_TOOL::setControls(), EE_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), PCB_POINT_EDITOR::setEditedPoint(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::SyncSheetsPins(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 147 of file tool_interactive.h.
References TOOL_INTERACTIVE::goInternal().
Referenced by EDA_3D_CONTROLLER::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), EE_INSPECTION_TOOL::setTransitions(), EE_POINT_EDITOR::setTransitions(), EE_SELECTION_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_DRAWING_TOOLS::setTransitions(), SCH_EDIT_TABLE_TOOL::setTransitions(), SCH_EDIT_TOOL::setTransitions(), SCH_EDITOR_CONTROL::setTransitions(), SCH_FIND_REPLACE_TOOL::setTransitions(), SCH_LINE_WIRE_BUS_TOOL::setTransitions(), SCH_MOVE_TOOL::setTransitions(), SCH_NAVIGATE_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), SYMBOL_EDITOR_CONTROL::setTransitions(), SYMBOL_EDITOR_DRAWING_TOOLS::setTransitions(), SYMBOL_EDITOR_EDIT_TOOL::setTransitions(), SYMBOL_EDITOR_MOVE_TOOL::setTransitions(), SYMBOL_EDITOR_PIN_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), EMBED_TOOL::setTransitions(), PICKER_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ZOOM_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_CALCULATOR_CONTROL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), MICROWAVE_TOOL::setTransitions(), SCRIPTING_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_TOOL::setTransitions(), setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), GENERATOR_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), ALIGN_DISTRIBUTE_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and PCB_TEST_SELECTION_TOOL::setTransitions().
|
privateinherited |
Definition at line 83 of file tool_interactive.cpp.
References TOOL_BASE::GetName(), kicadTraceToolStack, TOOL_BASE::m_toolMgr, TOOL_EVENT_LIST::Names(), and TOOL_MANAGER::ScheduleNextState().
Referenced by TOOL_INTERACTIVE::Go().
int EDIT_TOOL::HealShapes | ( | const TOOL_EVENT & | aEvent | ) |
Make ends of selected shapes meet by extending or cutting them, or adding extra geometry.
Definition at line 1673 of file edit_tool.cpp.
References COLLECTOR::GetCount(), m_selectionTool, COLLECTOR::Remove(), and PCB_SELECTION_TOOL::RequestSelection().
Referenced by setTransitions().
int EDIT_TOOL::Increment | ( | const TOOL_EVENT & | aEvent | ) |
Increment some aspect of the selected items.q.
Definition at line 2990 of file edit_tool.cpp.
References _, ACTIONS::INCREMENT::Delta, SELECTION::Empty(), ACTIONS::INCREMENT::Index, PCB_TOOL_BASE::m_isFootprintEditor, m_selectionTool, COMMIT::Modify(), pad, TOOL_EVENT::Parameter(), PCB_PAD_T, PCB_TEXT_T, BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), STRING_INCREMENTER::SetSkipIOSQXZ(), and text.
Referenced by OutsetItems(), and setTransitions().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from PCB_TOOL_BASE.
Definition at line 209 of file edit_tool.cpp.
References CONDITIONAL_MENU::AddItem(), PCB_ACTIONS::assignNetClass, PCB_ACTIONS::breakTrack, PCB_TOOL_BASE::canvas(), PCB_ACTIONS::changeFootprint, PCB_ACTIONS::changeFootprints, connectedTypes, ACTIONS::copy, ACTIONS::copyAsText, SELECTION_CONDITIONS::Count(), cursor, ACTIONS::cut, ACTIONS::doDelete, PCB_ACTIONS::drag45Degree, PCB_ACTIONS::dragFreeAngle, GENERAL_COLLECTOR::DraggableItems, ACTIONS::duplicate, PCB_ACTIONS::editFpInFpEditor, PCB_ACTIONS::filletTracks, PCB_ACTIONS::flip, footprintTypes, PCB_TOOL_BASE::frame(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_DRAW_PANEL_GAL::GetDrawingSheet(), TOOL_MENU::GetMenu(), TOOL_MANAGER::GetTool(), TOOL_INTERACTIVE::GetToolMenu(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), groupTypes, SELECTION_CONDITIONS::HasType(), SELECTION_CONDITIONS::HasTypes(), DS_PROXY_VIEW_ITEM::HitTestDrawingSheetItems(), PCB_ACTIONS::inspectClearance, KIGFX::VIEW::IsLayerVisible(), LAYER_SCHEMATIC_DRAWINGSHEET, PCB_TOOL_BASE::m_isFootprintEditor, m_selectionTool, TOOL_BASE::m_toolMgr, makePositioningToolsMenu(), makeShapeModificationMenu(), MirrorableItems, PCB_ACTIONS::mirrorH, PCB_ACTIONS::mirrorV, SELECTION_CONDITIONS::MoreThan(), PCB_ACTIONS::move, PCB_ACTIONS::moveIndividually, SELECTION_CONDITIONS::NotEmpty(), SELECTION_CONDITIONS::OnlyTypes(), PCB_ACTIONS::packAndMoveFootprints, padTypes, ACTIONS::paste, ACTIONS::pasteSpecial, 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_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_ACTIONS::properties, TOOL_MENU::RegisterSubMenu(), PCB_ACTIONS::rotateCcw, PCB_ACTIONS::rotateCw, ACTIONS::selectAll, PCB_ACTIONS::skip, PCB_ACTIONS::swap, trackTypes, unroutableTypes, PCB_ACTIONS::unrouteSelected, ACTIONS::unselectAll, PCB_ACTIONS::updateFootprint, and PCB_ACTIONS::updateFootprints.
|
private |
Definition at line 478 of file edit_tool.cpp.
References ROUTER_TOOL::CanInlineDrag(), TOOL_MANAGER::GetTool(), TOOL_BASE::IsToolActive(), m_dragging, TOOL_BASE::m_toolMgr, PCB_ACTIONS::routerInlineDrag, and TOOL_MANAGER::RunAction().
Referenced by OutsetItems().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 331 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame(), FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), PGM_BASE::GetSettingsManager(), and Pgm().
Referenced by DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), and ZONE_CREATE_HELPER::OnFirstPoint().
|
inlineinherited |
Definition at line 109 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Definition at line 106 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
Referenced by DeleteItems(), Flip(), GetAndPlace(), and PCB_GRID_HELPER::queryVisible().
|
private |
Definition at line 507 of file edit_tool.cpp.
References TOOL_MANAGER::GetTool(), TOOL_BASE::m_toolMgr, and ROUTER_TOOL::RoutingInProgress().
Referenced by Duplicate(), Flip(), JustifyText(), Mirror(), Move(), MoveExact(), OutsetItems(), PackAndMoveFootprints(), Rotate(), and Swap().
|
inherited |
Definition at line 31 of file tool_base.cpp.
References TOOL_MANAGER::IsToolActive(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by Drag(), ROUTER_TOOL::handleLayerSwitch(), invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
int EDIT_TOOL::JustifyText | ( | const TOOL_EVENT & | aEvent | ) |
Set the justification on any text items (or fields) in the current selection.
Definition at line 2234 of file edit_tool.cpp.
References _, ACTIONS::centerJustify, TOOL_EVENT::Commit(), COMMIT::Empty(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), GR_TEXT_H_ALIGN_CENTER, GR_TEXT_H_ALIGN_LEFT, GR_TEXT_H_ALIGN_RIGHT, SELECTION::IsHover(), isRouterActive(), ACTIONS::leftJustify, m_dragging, m_selectionTool, TOOL_BASE::m_toolMgr, TOOL_ACTION::MakeEvent(), TOOL_EVENT::Matches(), COMMIT::Modify(), PCB_FIELD_T, PCB_TEXT_T, PCB_TEXTBOX_T, TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, and PCB_ACTIONS::updateLocalRatsnest.
Referenced by setTransitions().
int EDIT_TOOL::Mirror | ( | const TOOL_EVENT & | aEvent | ) |
Mirror the current selection.
The mirror axis passes through the current point.
Definition at line 2116 of file edit_tool.cpp.
References _, TOOL_EVENT::Commit(), COMMIT::Empty(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), SELECTION::GetReferencePoint(), TOOL_EVENT::IsAction(), SELECTION::IsHover(), isRouterActive(), m_dragging, m_selectionTool, TOOL_BASE::m_toolMgr, Mirror(), MirrorableItems, mirrorPad(), PCB_ACTIONS::mirrorV, COMMIT::Modify(), PCB_ARC_T, PCB_FIELD_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, UNIMPLEMENTED_FOR, PCB_ACTIONS::updateLocalRatsnest, and updateModificationPoint().
Referenced by Mirror(), and setTransitions().
int EDIT_TOOL::ModifyLines | ( | const TOOL_EVENT & | aEvent | ) |
"Modify" graphical lines.
This includes operations such as filleting, chamfering, extending to meet.
Definition at line 1353 of file edit_tool.cpp.
References COLLECTOR::GetCount(), m_selectionTool, COLLECTOR::Remove(), PCB_SELECTION_TOOL::RequestSelection(), and PCB_TOOL_BASE::selection().
Referenced by setTransitions().
int EDIT_TOOL::Move | ( | const TOOL_EVENT & | aEvent | ) |
Main loop in which events are handled.
Definition at line 215 of file edit_tool_move_fct.cpp.
References _, TOOL_EVENT::Commit(), doMoveSelection(), isRouterActive(), m_dragging, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), BOARD_COMMIT::Revert(), EVENTS::SelectedEvent, STS_CANCELLED, STS_FINISHED, STS_RUNNING, and TOOL_EVENT::SynchronousState().
Referenced by doMoveSelection(), and setTransitions().
int EDIT_TOOL::MoveExact | ( | const TOOL_EVENT & | aEvent | ) |
Invoke a dialog box to allow moving of the item by an exact amount.
Definition at line 2726 of file edit_tool.cpp.
References _, PCB_TOOL_BASE::board(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_TOOL_BASE::frame(), BOARD_DESIGN_SETTINGS::GetAuxOrigin(), PCB_SELECTION::GetBoundingBox(), SELECTION::GetCenter(), BOARD::GetDesignSettings(), BOARD_ITEM::GetParent(), EDA_ITEM::GetPosition(), TOOL_BASE::getView(), EDA_ITEM::IsNew(), isRouterActive(), EDA_ITEM::IsSelected(), m_dragging, m_selectionTool, TOOL_BASE::m_toolMgr, COMMIT::Modify(), BOARD_ITEM::Move(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), BOARD_ITEM::Rotate(), ROTATE_AROUND_AUX_ORIGIN, ROTATE_AROUND_ITEM_ANCHOR, ROTATE_AROUND_SEL_CENTER, ROTATE_AROUND_USER_ORIGIN, TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, DIALOG_SHIM::ShowModal(), SELECTION::Size(), KIGFX::VIEW::Update(), PCB_ACTIONS::updateLocalRatsnest, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by OutsetItems(), and setTransitions().
int EDIT_TOOL::OutsetItems | ( | const TOOL_EVENT & | aEvent | ) |
Create outset items from selection.
References BooleanPolygons(), copyToClipboard(), copyToClipboardAsText(), cutToClipboard(), DeleteItems(), doMoveSelection(), Duplicate(), FootprintFilter(), getChildItemsOfGroupsAndGenerators(), getSafeMovement(), Increment(), invokeInlineRouter(), isRouterActive(), MoveExact(), PadFilter(), pickReferencePoint(), rebuildConnectivity(), Remove(), removeNonRootItems(), setTransitions(), and updateModificationPoint().
int EDIT_TOOL::PackAndMoveFootprints | ( | const TOOL_EVENT & | aEvent | ) |
Try to fit selected footprints inside a minimal area and start movement.
Definition at line 160 of file edit_tool_move_fct.cpp.
References _, doMoveSelection(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), COLLECTOR::GetCount(), BOX2< Vec >::GetOrigin(), IS_MOVING, isRouterActive(), m_dragging, m_selectionTool, BOX2< Vec >::Merge(), COMMIT::Modify(), BOX2< Vec >::Normalize(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), BOARD_COMMIT::Revert(), PCB_TOOL_BASE::selection(), and SpreadFootprints().
Referenced by setTransitions().
|
static |
A selection filter which prunes the selection to contain only items of type PCB_PAD_T.
Definition at line 3075 of file edit_tool.cpp.
References COLLECTOR::GetCount(), PCB_PAD_T, and COLLECTOR::Remove().
Referenced by BOARD_INSPECTION_TOOL::LocalRatsnestTool(), and OutsetItems().
|
private |
This allow the option of snapping in the tool
Definition at line 3143 of file edit_tool.cpp.
References MAGNETIC_SETTINGS::allLayers, LSET::AllLayersMask(), PCB_TOOL_BASE::canvas(), KIPLATFORM::UI::GetMousePosition(), TOOL_MANAGER::GetTool(), m_statusPopup, TOOL_BASE::m_toolMgr, ACTIONS::pickerSubTool, TOOL_MANAGER::RunAction(), PICKER_TOOL_BASE::SetCancelHandler(), PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetFinalizeHandler(), PCB_PICKER_TOOL::SetLayerSet(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), EDA_DRAW_PANEL_GAL::SetStatusPopup(), PCB_EVENTS::SnappingModeChangedByKeyEvent, and TOOL_INTERACTIVE::Wait().
Referenced by doMoveSelection(), and OutsetItems().
int EDIT_TOOL::Properties | ( | const TOOL_EVENT & | aEvent | ) |
Display properties window for the selected object.
Definition at line 1862 of file edit_tool.cpp.
References PCB_ACTIONS::footprintProperties, PCB_TOOL_BASE::frame(), SELECTION::Front(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_DRAW_PANEL_GAL::GetDrawingSheet(), BOARD_ITEM::GetLayerSet(), DIALOG_TABLECELL_PROPERTIES::GetReturnValue(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), BOARD::GetVisibleLayers(), DS_PROXY_VIEW_ITEM::HitTestDrawingSheetItems(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), SELECTION::IsHover(), KIGFX::VIEW::IsLayerVisible(), SELECTION::Items(), LAYER_DRAWINGSHEET, m_selectionTool, TOOL_BASE::m_toolMgr, PCB_BASE_EDIT_FRAME::OnEditItemRequest(), SELECTION_CONDITIONS::OnlyTypes(), ACTIONS::pageSettings, PCB_ARC_T, PCB_TABLECELL_T, PCB_TRACE_T, PCB_VIA_T, TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), SELECTION_TOOL::RemoveItemFromSel(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, DIALOG_SHIM::ShowModal(), DIALOG_SHIM::ShowQuasiModal(), SELECTION::Size(), and DIALOG_TABLECELL_PROPERTIES::TABLECELL_PROPS_EDIT_TABLE.
Referenced by setTransitions().
|
private |
Removes all items from the set which are children of other PCB_GROUP or PCB_GENERATOR items in the set.
Definition at line 3442 of file edit_tool.cpp.
References PCB_TOOL_BASE::board(), BOARD::BuildConnectivity(), PCB_TOOL_BASE::canvas(), EVENTS::ConnectivityChangedEvent, TOOL_BASE::m_toolMgr, TOOL_MANAGER::PostEvent(), and PCB_DRAW_PANEL_GAL::RedrawRatsnest().
Referenced by doMoveSelection(), and OutsetItems().
int EDIT_TOOL::Remove | ( | const TOOL_EVENT & | aEvent | ) |
Delete currently selected items.
Definition at line 2653 of file edit_tool.cpp.
References TOOL_INTERACTIVE::Activate(), ACTIONS::ALT, PCB_TOOL_BASE::canvas(), SELECTION::CountType(), ACTIONS::CUT, DeleteItems(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::GetSelection(), SELECTION::HasType(), SELECTION::IsHover(), m_selectionTool, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), PCB_FOOTPRINT_T, PCB_TRACE_T, PCB_VIA_T, TOOLS_HOLDER::PopTool(), TOOLS_HOLDER::PushTool(), EDA_DRAW_PANEL_GAL::Refresh(), PCB_SELECTION_TOOL::RequestSelection(), TOOL_MANAGER::RunAction(), and PCB_ACTIONS::selectConnection.
Referenced by cutToClipboard(), OutsetItems(), and setTransitions().
|
private |
Recursively adds any child items of the given item to the set.
Definition at line 2414 of file edit_tool.cpp.
References getChildItemsOfGroupsAndGenerators(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), PCB_GENERATOR_T, PCB_GROUP_T, and EDA_ITEM::Type().
Referenced by DeleteItems(), and OutsetItems().
|
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. |
Reimplemented from PCB_TOOL_BASE.
Definition at line 115 of file edit_tool.cpp.
References m_dragging, and m_statusPopup.
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 76 of file tool_interactive.cpp.
References TOOL_MANAGER::ClearTransitions(), TOOL_BASE::m_toolMgr, and TOOL_INTERACTIVE::setTransitions().
int EDIT_TOOL::Rotate | ( | const TOOL_EVENT & | aEvent | ) |
Rotate currently selected items.
Definition at line 1944 of file edit_tool.cpp.
References _, SELECTION::ClearReferencePoint(), TOOL_EVENT::Commit(), COORDS_PADDING, COMMIT::Empty(), SELECTION::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), PCB_TOOL_BASE::frame(), SELECTION::Front(), BOX2< Vec >::GetEnd(), TOOL_EVT_UTILS::GetEventRotationAngle(), BOX2< Vec >::GetPosition(), SELECTION::GetReferencePoint(), SELECTION::HasReferencePoint(), SELECTION::IsHover(), isRouterActive(), m_dragging, PCB_TOOL_BASE::m_isFootprintEditor, m_selectionTool, TOOL_BASE::m_toolMgr, BOX2< Vec >::Merge(), COMMIT::Modify(), BOARD_ITEM::Normalize(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), BOARD_ITEM::Rotate(), RotatePoint(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_ACTIONS::selectionClear, SELECTION::SetReferencePoint(), SELECTION::Size(), PCB_ACTIONS::updateLocalRatsnest, updateModificationPoint(), EDA_ITEM::ViewBBox(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 104 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::RunMainStack().
Referenced by DRAWING_TOOL::PlaceText().
|
protectedinherited |
Definition at line 323 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 315 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), ARRAY_TOOL::CreateArray(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), Drag(), DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), GROUP_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), FilletTracks(), DRAWING_TOOL::getSourceZoneForAction(), GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_CONTROL::LayerPresetFeedback(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ROUTER_TOOL::MainLoop(), ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PackAndMoveFootprints(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), GROUP_TOOL::RemoveFromGroup(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), ROUTER_TOOL::RouteSelected(), CONVERT_TOOL::SegmentToArc(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), Swap(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Assign a context menu and tells when it should be activated.
aMenu | is the menu to be assigned. |
aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 93 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ScheduleContextMenu(), and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::DrawVia(), TOOL_MENU::ShowContextMenu(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
inlineinherited |
Definition at line 108 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Function SetIsFootprintEditor()
Toggles edit footprint mode. When enabled, one may select parts of footprints individually (graphics, pads, etc.), so they can be modified.
aEnabled | decides if the mode should be enabled. |
Definition at line 105 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
|
overrideprivatevirtual |
< Set up handlers for various events.
Reimplemented from PCB_TOOL_BASE.
Definition at line 3451 of file edit_tool.cpp.
References BooleanPolygons(), ACTIONS::centerJustify, PCB_ACTIONS::chamferLines, ChangeTrackWidth(), PCB_ACTIONS::changeTrackWidth, ACTIONS::copy, ACTIONS::copyAsText, copyToClipboard(), copyToClipboardAsText(), PCB_ACTIONS::copyWithReference, ACTIONS::cut, cutToClipboard(), ACTIONS::decrementPrimary, ACTIONS::decrementSecondary, PCB_ACTIONS::deleteFull, ACTIONS::doDelete, PCB_ACTIONS::dogboneCorners, Drag(), PCB_ACTIONS::drag45Degree, PCB_ACTIONS::dragFreeAngle, ACTIONS::duplicate, Duplicate(), PCB_ACTIONS::duplicateIncrement, PCB_ACTIONS::extendLines, PCB_ACTIONS::filletLines, FilletTracks(), PCB_ACTIONS::filletTracks, Flip(), PCB_ACTIONS::flip, GetAndPlace(), PCB_ACTIONS::getAndPlace, TOOL_INTERACTIVE::Go(), HealShapes(), PCB_ACTIONS::healShapes, ACTIONS::increment, Increment(), ACTIONS::incrementPrimary, ACTIONS::incrementSecondary, PCB_ACTIONS::intersectPolygons, JustifyText(), ACTIONS::leftJustify, PCB_ACTIONS::mergePolygons, Mirror(), PCB_ACTIONS::mirrorH, PCB_ACTIONS::mirrorV, ModifyLines(), Move(), PCB_ACTIONS::move, MoveExact(), PCB_ACTIONS::moveExact, PCB_ACTIONS::moveIndividually, PCB_ACTIONS::moveWithReference, PackAndMoveFootprints(), PCB_ACTIONS::packAndMoveFootprints, Properties(), PCB_ACTIONS::properties, Remove(), ACTIONS::rightJustify, Rotate(), PCB_ACTIONS::rotateCcw, PCB_ACTIONS::rotateCw, SimplifyPolygons(), PCB_ACTIONS::simplifyPolygons, PCB_ACTIONS::subtractPolygons, Swap(), and PCB_ACTIONS::swap.
Referenced by OutsetItems().
int EDIT_TOOL::SimplifyPolygons | ( | const TOOL_EVENT & | aEvent | ) |
Simplify the outlines of selected polygon objects.
Definition at line 1603 of file edit_tool.cpp.
References COLLECTOR::GetCount(), m_selectionTool, COLLECTOR::Remove(), and PCB_SELECTION_TOOL::RequestSelection().
Referenced by setTransitions().
int EDIT_TOOL::Swap | ( | const TOOL_EVENT & | aEvent | ) |
Swap currently selected items' positions.
Changes position of each item to the next.
Definition at line 55 of file edit_tool_move_fct.cpp.
References _, TOOL_EVENT::Commit(), COMMIT::Empty(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), FOOTPRINT::Flip(), COLLECTOR::GetCount(), SELECTION::GetItemsSortedBySelectionOrder(), BOARD_ITEM::GetLayer(), FOOTPRINT::GetOrientation(), EDA_ITEM::GetPosition(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), FOOTPRINT::IsFlipped(), isRouterActive(), m_selectionTool, TOOL_BASE::m_toolMgr, COMMIT::Modify(), PCB_FOOTPRINT_T, PCB_GROUP_T, TOOL_MANAGER::ProcessEvent(), BOARD_COMMIT::Push(), PCB_SELECTION_TOOL::RequestSelection(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), BOARD_ITEM::SetLayer(), FOOTPRINT::SetOrientation(), EDA_ITEM::SetPosition(), SELECTION::Size(), and EDA_ITEM::Type().
Referenced by setTransitions().
|
private |
Definition at line 3097 of file edit_tool.cpp.
References SELECTION::Empty(), PCB_TOOL_BASE::frame(), SELECTION::Front(), SELECTION::GetCenter(), BOX2< Vec >::GetCenter(), EDA_ITEM::GetPosition(), grid, SELECTION::HasReferencePoint(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), BOX2< Vec >::IsValid(), SELECTION::Items(), m_dragging, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, BOX2< Vec >::Merge(), PCB_TABLE_T, SELECTION::SetReferencePoint(), SELECTION::Size(), and EDA_ITEM::Type().
Referenced by Flip(), Mirror(), OutsetItems(), and Rotate().
|
inlineprotectedinherited |
Definition at line 155 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), PCB_CONTROL::FlipPcbView(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::performDragging(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_CONTROL::TrackDisplayMode(), PCB_POINT_EDITOR::updateItem(), PCB_CONTROL::ViaDisplayMode(), and PCB_CONTROL::ZoneDisplayMode().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 70 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::ScheduleWait().
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), pickReferencePoint(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
staticprivate |
Definition at line 245 of file edit_tool.h.
Referenced by getSafeMovement(), and Rotate().
|
private |
Definition at line 241 of file edit_tool.h.
Referenced by doMoveSelection(), and DragArcTrack().
|
private |
Definition at line 240 of file edit_tool.h.
Referenced by doMoveSelection(), Drag(), Flip(), invokeInlineRouter(), JustifyText(), Mirror(), Move(), MoveExact(), PackAndMoveFootprints(), Reset(), Rotate(), and updateModificationPoint().
|
protectedinherited |
Definition at line 188 of file pcb_tool_base.h.
Referenced by PCB_TOOL_BASE::IsBoardEditor(), PCB_CONTROL::placeBoardItems(), PCB_TOOL_BASE::SetIsBoardEditor(), and PCB_CONTROL::UpdateMessagePanel().
|
protectedinherited |
Definition at line 187 of file pcb_tool_base.h.
Referenced by ARRAY_TOOL::CreateArray(), ZONE_CREATE_HELPER::createNewZone(), doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), Duplicate(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), GROUP_TOOL::Group(), Increment(), Init(), PAD_TOOL::Init(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::IsFootprintEditor(), PCB_POINT_EDITOR::makePoints(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_CONTROL::Paste(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::Print(), PCB_CONTROL::pruneItemLayers(), SCRIPTING_TOOL::reloadPlugins(), Rotate(), DRAWING_TOOL::SetAnchor(), PCB_TOOL_BASE::SetIsFootprintEditor(), PCB_CONTROL::SnapMode(), PCB_CONTROL::SnapModeFeedback(), and updateModificationPoint().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 125 of file tool_interactive.h.
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), TOOL_INTERACTIVE::GetToolMenu(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EDA_3D_CONTROLLER::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), EE_SELECTION_TOOL::Init(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), GERBVIEW_SELECTION_TOOL::Init(), PICKER_TOOL::Init(), ZOOM_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), DRAWING_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), PAD_TOOL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), TOOL_INTERACTIVE::TOOL_INTERACTIVE(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
private |
Definition at line 239 of file edit_tool.h.
Referenced by BooleanPolygons(), ChangeTrackWidth(), copyToClipboard(), copyToClipboardAsText(), DeleteItems(), doMoveSelection(), Drag(), DragArcTrack(), Duplicate(), FilletTracks(), Flip(), HealShapes(), Increment(), Init(), JustifyText(), Mirror(), ModifyLines(), MoveExact(), PackAndMoveFootprints(), Properties(), Remove(), Rotate(), SimplifyPolygons(), and Swap().
|
private |
Definition at line 243 of file edit_tool.h.
Referenced by pickReferencePoint(), and Reset().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), TOOL_BASE::GetId(), and TOOL_BASE::IsToolActive().
|
protectedinherited |
Definition at line 218 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), EE_POINT_EDITOR::addCorner(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDITOR_CONTROL::AssignNetclass(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), TOOL_BASE::attachManager(), SCH_EDIT_TOOL::AutoplaceFields(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_EDITOR_CONTROL::ChangeLineMode(), SCH_EDIT_TOOL::ChangeTextType(), ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_CONTROL::ClearAllLayers(), SCH_EDITOR_CONTROL::ClearHighlight(), BOARD_INSPECTION_TOOL::ClearHighlight(), GERBVIEW_SELECTION_TOOL::clearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_EDIT_TABLE_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), EE_SELECTION_TOOL::ClearSelection(), PCB_SELECTION_TOOL::ClearSelection(), SCH_EDITOR_CONTROL::CopyAsText(), SYMBOL_EDITOR_EDIT_TOOL::CopyAsText(), PAD_TOOL::copyPadSettings(), copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createInductorBetween(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::CursorControl(), SCH_EDITOR_CONTROL::Cut(), PCB_CONTROL::CycleLayerPresets(), SCH_EDIT_TOOL::DdAppendFile(), DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_EDITOR_CONTROL::doCopy(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), Duplicate(), SCH_EDIT_TOOL::EditField(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), SCH_EDIT_TABLE_TOOL::EditTable(), PCB_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PCB_SELECTION_TOOL::EnterGroup(), GROUP_TOOL::EnterGroup(), SCH_NAVIGATE_TOOL::EnterSheet(), PAD_TOOL::EnumeratePads(), EE_INSPECTION_TOOL::ExcludeMarker(), PCB_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), Flip(), GetAndPlace(), TOOL_BASE::GetManager(), TOOL_BASE::getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), TOOL_BASE::getToolHolderInternal(), SCH_EDIT_TABLE_TOOL::getToolMgr(), PCB_EDIT_TABLE_TOOL::getToolMgr(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_INTERACTIVE::goInternal(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFastCycle(), SCH_EDITOR_CONTROL::GridFeedback(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), GROUP_TOOL::Group(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_EDIT_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), EE_INSPECTION_TOOL::InspectERCError(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), invokeInlineRouter(), isRouterActive(), TOOL_BASE::IsToolActive(), SCH_EDIT_TOOL::JustifyText(), JustifyText(), GROUP_TOOL::LeaveGroup(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), Move(), MoveExact(), SCH_EDITOR_CONTROL::NextLineMode(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), pickReferencePoint(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), Properties(), PAD_TOOL::pushPadSettings(), rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), EE_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDITOR_CONTROL::Redo(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), Remove(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), EDA_3D_CONTROLLER::Reset(), COMMON_TOOLS::Reset(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), COMMON_TOOLS::ResetLocalCoords(), TOOL_INTERACTIVE::resetTransitions(), ROUTER_TOOL::restoreSelection(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), Rotate(), ROUTER_TOOL::RouteSelected(), TOOL_INTERACTIVE::RunMainStack(), DRC_TOOL::RunTests(), EE_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectColumns(), EE_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), EE_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), EE_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), SCH_EDIT_TOOL::SetAttribute(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), DRC_TOOL::ShowDRCDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), PCB_CONTROL::SnapMode(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), Swap(), EE_SELECTION_TOOL::SyncSelection(), SCH_EDIT_TOOL::ToggleAttribute(), COMMON_TOOLS::ToggleCursor(), COMMON_TOOLS::ToggleCursorStyle(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleVisibility(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), SCH_MOVE_TOOL::trimDanglingLines(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SYMBOL_EDITOR_EDIT_TOOL::Undo(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSelected(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), SCH_EDIT_TOOL::UnsetAttribute(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 216 of file tool_base.h.
Referenced by TOOL_BASE::GetName().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by TOOL_BASE::GetType().
|
static |
Definition at line 105 of file edit_tool.h.