KiCad PCB EDA Suite
|
Tool that displays edit points allowing to modify items by dragging the points. More...
#include <pcb_point_editor.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 | |
PCB_POINT_EDITOR () | |
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 | OnSelectionChange (const TOOL_EVENT &aEvent) |
Change selection event handler. | |
bool | HasPoint () |
Indicate the cursor is over an edit point. | |
bool | HasMidpoint () |
bool | HasCorner () |
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 |
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. | |
void | buildForPolyOutline (std::shared_ptr< EDIT_POINTS > points, const SHAPE_POLY_SET *aOutline) |
std::shared_ptr< EDIT_POINTS > | makePoints (EDA_ITEM *aItem) |
Update item's points with edit points. | |
void | updateItem (BOARD_COMMIT *aCommit) |
Update edit points with item's points. | |
void | updatePoints () |
Update which point is being edited. | |
void | updateEditedPoint (const TOOL_EVENT &aEvent) |
Set the current point being edited. NULL means none. | |
void | setEditedPoint (EDIT_POINT *aPoint) |
int | getEditedPointIndex () const |
Return true if aPoint is the currently modified point. | |
bool | isModified (const EDIT_POINT &aPoint) const |
void | pinEditedCorner (VECTOR2I &aTopLeft, VECTOR2I &aTopRight, VECTOR2I &aBotLeft, VECTOR2I &aBotRight, const VECTOR2I &aHole={ 0, 0 }, const VECTOR2I &aHoleSize={ 0, 0 }) const |
Set up an alternative constraint (typically enabled upon a modifier key being pressed). | |
void | setAltConstraint (bool aEnabled) |
Return a point that should be used as a constrainer for 45 degrees mode. | |
EDIT_POINT | get45DegConstrainer () const |
Condition to display "Create corner" context menu entry. | |
bool | removeCornerCondition (const SELECTION &aSelection) |
int | movePoint (const TOOL_EVENT &aEvent) |
TOOL_ACTION handlers. | |
int | addCorner (const TOOL_EVENT &aEvent) |
int | removeCorner (const TOOL_EVENT &aEvent) |
int | modifiedSelection (const TOOL_EVENT &aEvent) |
void | editArcEndpointKeepTangent (PCB_SHAPE *aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) const |
Move an end point of the arc, while keeping the tangent at the other endpoint. | |
void | editArcEndpointKeepCenter (PCB_SHAPE *aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) const |
Move an end point of the arc around the circumference. | |
void | editArcCenterKeepEndpoints (PCB_SHAPE *aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd) const |
Move the arc center but keep endpoint locations. | |
void | editArcMidKeepEndpoints (PCB_SHAPE *aArc, const VECTOR2I &aStart, const VECTOR2I &aEnd, const VECTOR2I &aCursor) const |
Move the mid point of the arc, while keeping the two endpoints. | |
void | editArcMidKeepCenter (PCB_SHAPE *aArc, const VECTOR2I &aCenter, const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd, const VECTOR2I &aCursor) const |
Move the mid point of the arc, while keeping the angle. | |
int | changeArcEditMode (const TOOL_EVENT &aEvent) |
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 |
Static Private Member Functions | |
static bool | addCornerCondition (const SELECTION &aSelection) |
Determine if the tool can currently add a corner to the given item. | |
static bool | canAddCorner (const EDA_ITEM &aItem) |
Condition to display "Remove corner" context menu entry. | |
Private Attributes | |
PCB_SELECTION_TOOL * | m_selectionTool |
std::shared_ptr< EDIT_POINTS > | m_editPoints |
EDIT_POINT * | m_editedPoint |
EDIT_POINT * | m_hoveredPoint |
EDIT_POINT | m_original |
Original pos for the current drag point. | |
ARC_EDIT_MODE | m_arcEditMode |
PCB_SELECTION | m_preview |
std::shared_ptr< EDIT_CONSTRAINT< EDIT_POINT > > | m_altConstraint |
EDIT_POINT | m_altConstrainer |
bool | m_inPointEditorTool |
Static Private Attributes | |
static const unsigned int | COORDS_PADDING = pcbIUScale.mmToIU( 20 ) |
Tool that displays edit points allowing to modify items by dragging the points.
Definition at line 44 of file pcb_point_editor.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.
PCB_POINT_EDITOR::PCB_POINT_EDITOR | ( | ) |
Definition at line 117 of file pcb_point_editor.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(), EDIT_TOOL::copyToClipboard(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::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(), 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(), 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(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), POSITION_RELATIVE_TOOL::SelectPositionRelativePoint(), 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().
|
private |
Definition at line 2381 of file pcb_point_editor.cpp.
References _, COMMIT::Add(), SEG::B, canAddCorner(), EDA_ITEM::ClearSelected(), SHAPE_POLY_SET::CVertex(), SEG::Distance(), distance(), PCB_TOOL_BASE::frame(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), TOOL_BASE::getViewControls(), ZONE::HatchBorder(), SHAPE_POLY_SET::InsertVertex(), SHAPE_POLY_SET::ITERATOR_TEMPLATE< T >::IsEndContour(), SHAPE_POLY_SET::Iterate(), m_editPoints, COMMIT::Modify(), SEG::NearestPoint(), ZONE::Outline(), SHAPE_POLY_SET::OutlineCount(), PCB_ZONE_T, BOARD_COMMIT::Push(), EDA_SHAPE::SetEnd(), ZONE::SetNeedRefill(), EDA_SHAPE::SetStart(), EDA_ITEM::Type(), updatePoints(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
|
staticprivate |
Determine if the tool can currently add a corner to the given item.
Definition at line 2300 of file pcb_point_editor.cpp.
References canAddCorner(), SELECTION::Front(), and SELECTION::Size().
Referenced by Init().
|
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(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), MULTICHANNEL_TOOL::copyRuleAreaContents(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), ROUTER_TOOL::CustomTrackWidthDialog(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawShape(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportNetlist(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), 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(), EDIT_TOOL::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::queryComponentsInSheet(), MULTICHANNEL_TOOL::QuerySheets(), EDIT_TOOL::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(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
|
private |
Definition at line 154 of file pcb_point_editor.cpp.
References SHAPE_POLY_SET::CIterateWithHoles(), and SHAPE_POLY_SET::TotalVertices().
Referenced by makePoints().
|
staticprivate |
Condition to display "Remove corner" context menu entry.
Definition at line 2282 of file pcb_point_editor.cpp.
References EDA_SHAPE::GetShape(), PCB_SHAPE_T, PCB_ZONE_T, and EDA_ITEM::Type().
Referenced by addCorner(), and addCornerCondition().
|
protectedinherited |
Definition at line 308 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::RatsnestModeCycle(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::refresh(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), POSITION_RELATIVE_TOOL::SelectPositionRelativePoint(), ZONE_FILLER_TOOL::singleShotRefocus(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
private |
Definition at line 2580 of file pcb_point_editor.cpp.
References ACTIONS::cycleArcEditMode, FRAME_PCB_EDITOR, PCB_BASE_FRAME::GetFootprintEditorSettings(), PCB_BASE_FRAME::GetPcbNewSettings(), EDA_BASE_FRAME::IsType(), FOOTPRINT_EDITOR_SETTINGS::m_ArcEditMode, PCBNEW_SETTINGS::m_ArcEditMode, m_arcEditMode, TOOL_ACTION::MakeEvent(), TOOL_EVENT::Matches(), and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 160 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::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(), ROUTER_TOOL::prepareInteractive(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::setControls(), setEditedPoint(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
|
protectedinherited |
Definition at line 303 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), 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 |
Move the arc center but keep endpoint locations.
Definition at line 943 of file pcb_point_editor.cpp.
References SEG::A, SEG::B, VECTOR2< int32_t >::ECOORD_MAX, SEG::IntersectLines(), VECTOR2< T >::Resize(), EDA_SHAPE::SetCenter(), and SEG::SquaredDistance().
Referenced by updateItem().
|
private |
Move an end point of the arc around the circumference.
Definition at line 1099 of file pcb_point_editor.cpp.
References VECTOR2< T >::EuclideanNorm(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, VECTOR2< T >::Resize(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by updateItem().
|
private |
Move an end point of the arc, while keeping the tangent at the other endpoint.
Definition at line 794 of file pcb_point_editor.cpp.
References delta, VECTOR2< T >::EuclideanNorm(), VECTOR3< T >::EuclideanNorm(), ADVANCED_CFG::GetCfg(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetStart(), ADVANCED_CFG::m_DrawArcCenterMaxAngle, EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), v1, v2, v3, v4, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, and VECTOR3< T >::y.
Referenced by updateItem().
|
private |
Move the mid point of the arc, while keeping the angle.
Change the edit method for arcs.
Definition at line 1158 of file pcb_point_editor.cpp.
References EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, VECTOR2< T >::Resize(), EDA_SHAPE::SetEnd(), and EDA_SHAPE::SetStart().
Referenced by updateItem().
|
private |
Move the mid point of the arc, while keeping the two endpoints.
Definition at line 1187 of file pcb_point_editor.cpp.
References EDA_SHAPE::GetArcMid(), SEG::NearestPoint(), VECTOR2< T >::Resize(), and EDA_SHAPE::SetArcGeometry().
Referenced by updateItem().
|
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(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawSpecificationStackup(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), 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(), and DRAWING_TOOL::SetAnchor().
|
inlineprotectedinherited |
Definition at line 166 of file pcb_tool_base.h.
Referenced by addCorner(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::canvas(), ZONE_FILLER_TOOL::CheckAllZones(), PNS::TOOL_BASE::checkSnap(), PCB_CONTROL::ContrastModeFeedback(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), PCB_TOOL_BASE::displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), 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(), EDIT_TOOL::FilletTracks(), ROUTER_TOOL::finishInteractive(), EDIT_TOOL::Flip(), PCB_CONTROL::FlipPcbView(), 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(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::Is45Limited(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::MoveExact(), movePoint(), PCB_CONTROL::NetColorModeCycle(), OnSelectionChange(), ROUTER_TOOL::onViaCommand(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::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(), removeCorner(), MULTICHANNEL_TOOL::repeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), ROUTER_TOOL::SelectCopperLayerPair(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), POSITION_RELATIVE_TOOL::SelectPositionRelativePoint(), setEditedPoint(), ROUTER_TOOL::SettingsDialog(), GENERATOR_TOOL::ShowGeneratorsManager(), GLOBAL_EDIT_TOOL::swapBoardItem(), GLOBAL_EDIT_TOOL::SwapLayers(), ROUTER_TOOL::switchLayerOnViaPlacement(), DRAWING_TOOL::ToggleHV45Mode(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::unfilledZoneCheck(), updateItem(), ROUTER_TOOL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), PCB_CONTROL::ZoneDisplayMode(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
private |
Condition to display "Create corner" context menu entry.
Definition at line 2220 of file pcb_point_editor.cpp.
References CIRC_CENTER, DIM_END, DIM_KNEE, DIM_START, DIM_TEXT, EDIT_POINT::GetPosition(), isModified(), m_editedPoint, m_editPoints, m_original, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_RADIAL_T, PCB_SHAPE_T, and EDA_ITEM::Type().
Referenced by setAltConstraint().
|
inlineprivate |
Return true if aPoint is the currently modified point.
Definition at line 89 of file pcb_point_editor.h.
References m_editedPoint, and m_editPoints.
|
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(), 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().
|
privateinherited |
Definition at line 48 of file tool_base.cpp.
References TOOL_MANAGER::GetToolHolder(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getEditFrame().
|
inherited |
Definition at line 110 of file tool_interactive.cpp.
References TOOL_INTERACTIVE::m_menu.
Referenced by EDIT_TOOL::doMoveSelection(), EE_INSPECTION_TOOL::Init(), EE_POINT_EDITOR::Init(), SCH_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), SYMBOL_EDITOR_MOVE_TOOL::Init(), SYMBOL_EDITOR_PIN_TOOL::Init(), PL_EDIT_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), CONVERT_TOOL::Init(), EDIT_TOOL::Init(), GENERATOR_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), Init(), and ALIGN_DISTRIBUTE_TOOL::Init().
|
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(), COMMON_TOOLS::CenterContents(), 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(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), 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(), 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_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), 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(), ROUTER_TOOL::prepareInteractive(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::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_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(), updateEditedPoint(), SCH_FIND_REPLACE_TOOL::UpdateFind(), PL_POINT_EDITOR::updateItem(), updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), 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(), addCorner(), EE_POINT_EDITOR::addCornerCondition(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), PCB_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), PCB_TEST_SELECTION_TOOL::controls(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), 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_EDIT_TOOL::Init(), EDIT_TOOL::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(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), 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(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), PL_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), DRAWING_TOOL::Reset(), 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(), 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(), updateEditedPoint(), updateItem(), 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_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(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDIT_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), GENERATOR_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), 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().
|
inline |
Definition at line 67 of file pcb_point_editor.h.
References HasMidpoint(), and HasPoint().
Referenced by makeShapeModificationMenu().
|
inline |
Definition at line 66 of file pcb_point_editor.h.
References HasPoint(), and m_editedPoint.
Referenced by HasCorner(), and makeShapeModificationMenu().
|
inline |
Indicate the cursor is over an edit point.
Used to coordinate cursor shapes with other tools.
Definition at line 65 of file pcb_point_editor.h.
References m_editedPoint.
Referenced by HasCorner(), HasMidpoint(), PCB_SELECTION_TOOL::Main(), and movePoint().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from PCB_TOOL_BASE.
Definition at line 138 of file pcb_point_editor.cpp.
References addCornerCondition(), CONDITIONAL_MENU::AddItem(), TOOL_MENU::GetMenu(), TOOL_MANAGER::GetTool(), TOOL_INTERACTIVE::GetToolMenu(), m_selectionTool, TOOL_BASE::m_toolMgr, PCB_ACTIONS::pointEditorAddCorner, PCB_ACTIONS::pointEditorRemoveCorner, and removeCornerCondition().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 330 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 EDIT_TOOL::DeleteItems(), EDIT_TOOL::Flip(), and PCB_GRID_HELPER::queryVisible().
|
inlineprivate |
Definition at line 101 of file pcb_point_editor.h.
References m_editedPoint.
Referenced by get45DegConstrainer(), pinEditedCorner(), and updateItem().
|
inherited |
Definition at line 31 of file tool_base.cpp.
References TOOL_MANAGER::IsToolActive(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
private |
Update item's points with edit points.
Definition at line 187 of file pcb_point_editor.cpp.
References ALL_LAYERS, ANGLE_270, ANGLE_90, buildForPolyOutline(), DIM_CROSSBAREND, DIM_CROSSBARSTART, DIM_END, DIM_KNEE, DIM_START, DIM_TEXT, EDA_SHAPE::GetArcMid(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetBotRight(), PCB_SHAPE::GetCenter(), PCB_DIM_ALIGNED::GetCrossbarEnd(), PCB_DIM_ALIGNED::GetCrossbarStart(), EDA_SHAPE::GetEnd(), PCB_DIMENSION_BASE::GetEnd(), PCB_DIM_RADIAL::GetKnee(), EDA_SHAPE::GetPolyShape(), PCB_REFERENCE_IMAGE::GetPosition(), EDA_SHAPE::GetRectangleHeight(), EDA_SHAPE::GetRectangleWidth(), EDA_SHAPE::GetShape(), PCB_REFERENCE_IMAGE::GetSize(), EDA_SHAPE::GetStart(), PCB_DIMENSION_BASE::GetStart(), EDA_TEXT::GetTextPos(), EDA_SHAPE::GetTopLeft(), IGNORE_SNAPS, PCB_TOOL_BASE::m_isFootprintEditor, PCB_GENERATOR::MakeEditPoints(), ZONE::Outline(), pad, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLECELL_T, PCB_TEXTBOX_T, PCB_ZONE_T, RECT_BOT, RECT_BOT_LEFT, RECT_BOT_RIGHT, RECT_LEFT, RECT_RIGHT, RECT_TOP, RECT_TOP_LEFT, RECT_TOP_RIGHT, EDA_ITEM::Type(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by OnSelectionChange(), and updatePoints().
|
private |
Definition at line 2573 of file pcb_point_editor.cpp.
References updatePoints().
Referenced by setTransitions().
|
private |
TOOL_ACTION handlers.
Definition at line 759 of file pcb_point_editor.cpp.
References _, CHT_MODIFY, PCB_TOOL_BASE::frame(), EDIT_POINT::GetPosition(), WX_PT_ENTRY_DIALOG::GetValue(), HasPoint(), m_editedPoint, m_editPoints, BOARD_COMMIT::Push(), EDIT_POINT::SetPosition(), BOARD_COMMIT::Stage(), and updateItem().
Referenced by setTransitions().
int PCB_POINT_EDITOR::OnSelectionChange | ( | const TOOL_EVENT & | aEvent | ) |
Change selection event handler.
Definition at line 492 of file pcb_point_editor.cpp.
References _, TOOL_INTERACTIVE::Activate(), KIGFX::VIEW::Add(), ALL_LAYERS, LSET::AllLayersMask(), EDIT_POINT::ApplyConstraint(), BUT_LEFT, COORDS_PADDING, delta, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), FRAME_PCB_EDITOR, KIGFX::VIEW_GROUP::FreeItems(), SELECTION::Front(), PCB_ACTIONS::genPushEdit, PCB_ACTIONS::genRevertEdit, PCB_ACTIONS::genStartEdit, EDA_ITEM::GetEditFlags(), PCB_BASE_FRAME::GetFootprintEditorSettings(), EDIT_POINT::GetGridConstraint(), BOARD_ITEM::GetLayerSet(), PCB_BASE_FRAME::GetMagneticItemsSettings(), BOARD_ITEM::GetParent(), PCB_BASE_FRAME::GetPcbNewSettings(), EDIT_POINT::GetPosition(), PCB_SELECTION_TOOL::GetSelection(), EDIT_POINT::GetSnapConstraint(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), grid, IGNORE_SNAPS, EVENTS::InhibitSelectionEditing, EDIT_POINT::IsConstrained(), BOARD_ITEM::IsLocked(), EDA_BASE_FRAME::IsType(), m_altConstraint, FOOTPRINT_EDITOR_SETTINGS::m_ArcEditMode, PCBNEW_SETTINGS::m_ArcEditMode, m_arcEditMode, m_editedPoint, m_editPoints, m_hoveredPoint, m_inPointEditorTool, m_original, m_preview, m_selectionTool, TOOL_BASE::m_toolMgr, PCBNEW_SETTINGS::m_Use45DegreeLimit, FOOTPRINT_EDITOR_SETTINGS::m_Use45Limit, makePoints(), TOOL_EVENT::Matches(), MD_SHIFT, COMMIT::Modify(), OBJECT_LAYERS, PCB_GENERATOR_T, PCB_TABLECELL_T, TOOL_MANAGER::PostAction(), BOARD_COMMIT::Push(), KIGFX::VIEW::Remove(), PCB_ACTIONS::reselectItem, BOARD_COMMIT::Revert(), TOOL_MANAGER::RunSynchronousAction(), PCB_TOOL_BASE::selection(), EDIT_POINT::SetActive(), setAltConstraint(), KIGFX::VIEW_CONTROLS::SetAutoPan(), setEditedPoint(), EDIT_POINT::SetPosition(), KIGFX::VIEW_CONTROLS::ShowCursor(), SELECTION::Size(), SNAP_BY_GRID, SNAP_TO_GRID, TA_MOUSE_DOWN, TA_UNDO_REDO_POST, EDA_ITEM::Type(), KIGFX::VIEW::Update(), updateEditedPoint(), updateItem(), updatePoints(), TOOL_INTERACTIVE::Wait(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
|
private |
Set up an alternative constraint (typically enabled upon a modifier key being pressed).
Update the coordinates of 4 corners of a rectangle, according to pad constraints and the moved corner.
aTopLeft | [in/out] is the RECT_TOPLEFT to constraint |
aTopRight | [in/out] is the RECT_TOPRIGHT to constraint |
aBotLeft | [in/out] is the RECT_BOTLEFT to constraint |
aBotRight | [in/out] is the RECT_BOTRIGHT to constraint |
aHole | the location of the pad's hole |
aHoleSize | the pad's hole size (or {0,0} if it has no hole) |
Definition at line 997 of file pcb_point_editor.cpp.
References isModified(), m_editPoints, EDA_UNIT_UTILS::Mils2IU(), pcbIUScale, RECT_BOT, RECT_BOT_LEFT, RECT_BOT_RIGHT, RECT_LEFT, RECT_RIGHT, RECT_TOP, RECT_TOP_LEFT, RECT_TOP_RIGHT, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by updateItem().
|
private |
Definition at line 2495 of file pcb_point_editor.cpp.
References _, findVertex(), PCB_TOOL_BASE::frame(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetShape(), m_editedPoint, m_editPoints, TOOL_BASE::m_toolMgr, COMMIT::Modify(), ZONE::Outline(), PCB_SHAPE_T, PCB_ZONE_T, SHAPE_POLY_SET::Polygon(), BOARD_COMMIT::Push(), COMMIT::Remove(), SHAPE_POLY_SET::RemoveContour(), SHAPE_POLY_SET::RemoveVertex(), TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectionClear, setEditedPoint(), ZONE::SetNeedRefill(), EDA_ITEM::Type(), and updatePoints().
Referenced by setTransitions().
|
private |
Definition at line 2327 of file pcb_point_editor.cpp.
References findVertex(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetShape(), SHAPE_POLY_SET::VERTEX_INDEX::m_contour, m_editedPoint, m_editPoints, SHAPE_POLY_SET::VERTEX_INDEX::m_polygon, PCB_SHAPE_T, PCB_ZONE_T, SHAPE_POLY_SET::Polygon(), and EDA_ITEM::Type().
Referenced by Init().
|
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 130 of file pcb_point_editor.cpp.
References TOOL_BASE::getViewControls(), m_altConstraint, m_editPoints, and KIGFX::VIEW_CONTROLS::SetAutoPan().
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 76 of file tool_interactive.cpp.
References TOOL_MANAGER::ClearTransitions(), TOOL_BASE::m_toolMgr, and TOOL_INTERACTIVE::setTransitions().
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 104 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::RunMainStack().
Referenced by DRAWING_TOOL::PlaceText().
|
protectedinherited |
Definition at line 322 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 314 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(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), 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(), EDIT_TOOL::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(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), OnSelectionChange(), EDIT_TOOL::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(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), GROUP_TOOL::RemoveFromGroup(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::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().
|
private |
Return a point that should be used as a constrainer for 45 degrees mode.
Definition at line 2178 of file pcb_point_editor.cpp.
References get45DegConstrainer(), m_altConstrainer, m_altConstraint, m_editedPoint, m_editPoints, PCB_SHAPE_T, PCB_ZONE_T, and EDA_ITEM::Type().
Referenced by OnSelectionChange().
|
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().
|
private |
Definition at line 2156 of file pcb_point_editor.cpp.
References PCB_TOOL_BASE::controls(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), EDIT_POINT::GetPosition(), TOOL_BASE::getViewControls(), m_editedPoint, and KIGFX::VIEW_CONTROLS::ShowCursor().
Referenced by OnSelectionChange(), removeCorner(), and updateEditedPoint().
|
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 2615 of file pcb_point_editor.cpp.
References ACTIONS::activatePointEditor, addCorner(), changeArcEditMode(), ACTIONS::cycleArcEditMode, TOOL_INTERACTIVE::Go(), EVENTS::InhibitSelectionEditing, modifiedSelection(), movePoint(), OnSelectionChange(), PCB_ACTIONS::pointEditorAddCorner, PCB_ACTIONS::pointEditorArcKeepCenter, PCB_ACTIONS::pointEditorArcKeepEndpoint, PCB_ACTIONS::pointEditorMoveCorner, PCB_ACTIONS::pointEditorMoveMidpoint, PCB_ACTIONS::pointEditorRemoveCorner, EVENTS::PointSelectedEvent, removeCorner(), EVENTS::SelectedEvent, EVENTS::SelectedItemsModified, EVENTS::SelectedItemsMoved, EVENTS::UninhibitSelectionEditing, and EVENTS::UnselectedEvent.
|
private |
Set the current point being edited. NULL means none.
Definition at line 451 of file pcb_point_editor.cpp.
References BUT_LEFT, TOOL_EVENT::DragOrigin(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_EVENT::IsDrag(), TOOL_EVENT::IsMotion(), m_editedPoint, m_editPoints, m_hoveredPoint, TOOL_EVENT::Position(), setEditedPoint(), and EDIT_POINT::SetHover().
Referenced by OnSelectionChange().
|
private |
Update edit points with item's points.
Definition at line 1205 of file pcb_point_editor.cpp.
References std::abs(), SELECTION::Add(), ANGLE_270, ANGLE_90, ARC_CENTER, ARC_END, ARC_HIGH_DEF, ARC_START, BEZIER_CTRL_PT1, BEZIER_CTRL_PT2, BEZIER_END, BEZIER_START, CIRC_CENTER, CIRC_END, COL_WIDTH, BOX2< Vec >::Contains(), VECTOR2< T >::Cross(), SHAPE_POLY_SET::CVertex(), delta, DIM_CROSSBAREND, DIM_CROSSBARSTART, DIM_END, DIM_KNEE, DIM_START, DIM_TEXT, editArcCenterKeepEndpoints(), editArcEndpointKeepCenter(), editArcEndpointKeepTangent(), editArcMidKeepCenter(), editArcMidKeepEndpoints(), VECTOR2< T >::EuclideanNorm(), PCB_TOOL_BASE::frame(), KIGFX::VIEW_GROUP::FreeItems(), PCB_ACTIONS::genUpdateEdit, BOX2< Vec >::GetBottom(), PCB_SHAPE::GetCenter(), PCB_TABLECELL::GetColSpan(), PCB_TABLECELL::GetColumn(), PCB_TABLE::GetColWidth(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_DIMENSION_BASE::GetEnd(), EDA_SHAPE::GetEndX(), EDA_SHAPE::GetEndY(), BOX2< Vec >::GetHeight(), PCB_REFERENCE_IMAGE::GetImageScale(), PCB_DIM_RADIAL::GetKnee(), BOX2< Vec >::GetLeft(), PCB_DIM_ORTHOGONAL::GetOrientation(), BOARD_ITEM::GetParent(), BOARD_ITEM::GetParentFootprint(), EDA_SHAPE::GetPolyShape(), EDIT_POINT::GetPosition(), EDA_SHAPE::GetRectangleHeight(), EDA_SHAPE::GetRectangleWidth(), BOX2< Vec >::GetRight(), PCB_TABLECELL::GetRow(), PCB_TABLE::GetRowHeight(), PCB_TABLECELL::GetRowSpan(), EDA_SHAPE::GetShape(), PCB_REFERENCE_IMAGE::GetSize(), PCB_DIMENSION_BASE::GetStart(), EDA_TEXT::GetTextPos(), TOOL_MANAGER::GetTool(), BOX2< Vec >::GetTop(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), BOX2< Vec >::GetWidth(), ZONE::HatchBorder(), PCB_DIM_ORTHOGONAL::HORIZONTAL, isModified(), PCB_SHAPE::IsProxyItem(), left, m_arcEditMode, m_editedPoint, m_editPoints, m_preview, TOOL_BASE::m_toolMgr, EDA_UNIT_UTILS::Mils2IU(), PCB_SHAPE::Move(), PCB_TABLE::Normalize(), ZONE::Outline(), pad, FOOTPRINT::Pads(), PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLECELL_T, PCB_TEXTBOX_T, PCB_ZONE_T, pcbIUScale, pinEditedCorner(), EDA_SHAPE::RebuildBezierToSegmentsPointsList(), RECT_BOT, RECT_BOT_LEFT, RECT_BOT_RIGHT, RECT_LEFT, RECT_RIGHT, RECT_TOP, RECT_TOP_LEFT, RECT_TOP_RIGHT, right, RotatePoint(), ROW_HEIGHT, TOOL_MANAGER::RunSynchronousAction(), SEG_END, SEG_START, EDA_SHAPE::SetBezierC1(), EDA_SHAPE::SetBezierC2(), EDA_SHAPE::SetBottom(), PCB_TABLE::SetColWidth(), EDA_SHAPE::SetEnd(), PCB_DIMENSION_BASE::SetEnd(), PCB_DIM_ALIGNED::SetHeight(), PCB_REFERENCE_IMAGE::SetImageScale(), PCB_DIM_RADIAL::SetLeaderLength(), EDA_SHAPE::SetLeft(), ZONE::SetNeedRefill(), PCB_DIM_ORTHOGONAL::SetOrientation(), EDA_SHAPE::SetRight(), PCB_TABLE::SetRowHeight(), PCB_DIMENSION_BASE::SetStart(), EDA_SHAPE::SetStart(), EDA_TEXT::SetTextPos(), PCB_DIMENSION_BASE::SetTextPositionMode(), EDA_SHAPE::SetTop(), SHAPE_POLY_SET::SetVertex(), STATUS_ITEMS_ONLY, SHAPE_POLY_SET::TotalVertices(), EDA_ITEM::Type(), ZONE::UnFill(), PCB_DIMENSION_BASE::Update(), KIGFX::VIEW::Update(), KIGFX::PCB_VIEW::Update(), PCB_GENERATOR::UpdateFromEditPoints(), PCB_DIM_ORTHOGONAL::VERTICAL, PCB_TOOL_BASE::view(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by movePoint(), and OnSelectionChange().
|
private |
Update which point is being edited.
Definition at line 1844 of file pcb_point_editor.cpp.
References KIGFX::VIEW::Add(), ANGLE_270, ANGLE_90, ARC_CENTER, ARC_END, ARC_START, BEZIER_CTRL_PT1, BEZIER_CTRL_PT2, BEZIER_END, BEZIER_START, CIRC_CENTER, CIRC_END, SHAPE_POLY_SET::CVertex(), DIM_CROSSBAREND, DIM_CROSSBARSTART, DIM_END, DIM_KNEE, DIM_START, DIM_TEXT, EDA_SHAPE::DupPolyPointsList(), EDA_SHAPE::GetArcMid(), EDA_SHAPE::GetBezierC1(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetBotRight(), PCB_SHAPE::GetCenter(), PCB_DIM_ALIGNED::GetCrossbarEnd(), PCB_DIM_ALIGNED::GetCrossbarStart(), EDA_SHAPE::GetEnd(), PCB_DIMENSION_BASE::GetEnd(), EDA_SHAPE::GetEndX(), EDA_SHAPE::GetEndY(), PCB_DIM_RADIAL::GetKnee(), PCB_REFERENCE_IMAGE::GetPosition(), EDA_SHAPE::GetRectangleHeight(), EDA_SHAPE::GetRectangleWidth(), EDA_SHAPE::GetShape(), PCB_REFERENCE_IMAGE::GetSize(), EDA_SHAPE::GetStart(), PCB_DIMENSION_BASE::GetStart(), EDA_TEXT::GetTextPos(), EDA_SHAPE::GetTopLeft(), TOOL_BASE::getView(), locked, m_editedPoint, m_editPoints, makePoints(), ZONE::Outline(), pad, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLECELL_T, PCB_TEXTBOX_T, PCB_ZONE_T, RECT_BOT_LEFT, RECT_BOT_RIGHT, RECT_TOP_LEFT, RECT_TOP_RIGHT, KIGFX::VIEW::Remove(), SEG_END, SEG_START, SHAPE_POLY_SET::TotalVertices(), EDA_ITEM::Type(), KIGFX::VIEW::Update(), PCB_GENERATOR::UpdateEditPoints(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by addCorner(), modifiedSelection(), OnSelectionChange(), and removeCorner().
|
inlineprotectedinherited |
Definition at line 155 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::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(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_CONTROL::TrackDisplayMode(), 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(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), 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(), 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(), OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), POSITION_RELATIVE_TOOL::SelectPositionRelativePoint(), 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 187 of file pcb_point_editor.h.
Referenced by OnSelectionChange().
|
private |
Definition at line 183 of file pcb_point_editor.h.
Referenced by setAltConstraint().
|
private |
Definition at line 182 of file pcb_point_editor.h.
Referenced by OnSelectionChange(), Reset(), and setAltConstraint().
|
private |
Definition at line 177 of file pcb_point_editor.h.
Referenced by changeArcEditMode(), OnSelectionChange(), and updateItem().
|
private |
Definition at line 172 of file pcb_point_editor.h.
Referenced by get45DegConstrainer(), getEditedPointIndex(), HasMidpoint(), HasPoint(), isModified(), movePoint(), OnSelectionChange(), removeCorner(), removeCornerCondition(), setAltConstraint(), setEditedPoint(), updateEditedPoint(), updateItem(), and updatePoints().
|
private |
Definition at line 170 of file pcb_point_editor.h.
Referenced by addCorner(), get45DegConstrainer(), getEditedPointIndex(), movePoint(), OnSelectionChange(), pinEditedCorner(), removeCorner(), removeCornerCondition(), Reset(), setAltConstraint(), updateEditedPoint(), updateItem(), and updatePoints().
|
private |
Definition at line 173 of file pcb_point_editor.h.
Referenced by OnSelectionChange(), and updateEditedPoint().
|
private |
Definition at line 185 of file pcb_point_editor.h.
Referenced by OnSelectionChange().
|
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 EDIT_TOOL::CreateArray(), ZONE_CREATE_HELPER::createNewZone(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), GROUP_TOOL::Group(), EDIT_TOOL::Init(), PAD_TOOL::Init(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::IsFootprintEditor(), makePoints(), PCB_CONTROL::Paste(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelative(), PCB_CONTROL::Print(), PCB_CONTROL::pruneItemLayers(), SCRIPTING_TOOL::reloadPlugins(), EDIT_TOOL::Rotate(), DRAWING_TOOL::SetAnchor(), PCB_TOOL_BASE::SetIsFootprintEditor(), PCB_CONTROL::SnapMode(), PCB_CONTROL::SnapModeFeedback(), and EDIT_TOOL::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(), 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(), EDA_3D_CONTROLLER::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), EE_SELECTION_TOOL::Init(), EE_TOOL_BASE< T >::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_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 |
Original pos for the current drag point.
Definition at line 175 of file pcb_point_editor.h.
Referenced by get45DegConstrainer(), and OnSelectionChange().
|
private |
Definition at line 179 of file pcb_point_editor.h.
Referenced by OnSelectionChange(), and updateItem().
|
private |
Definition at line 169 of file pcb_point_editor.h.
Referenced by Init(), and OnSelectionChange().
|
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(), EDIT_TOOL::ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_CONTROL::ClearAllLayers(), SCH_EDITOR_CONTROL::ClearHighlight(), BOARD_INSPECTION_TOOL::ClearHighlight(), GERBVIEW_SELECTION_TOOL::clearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_EDIT_TABLE_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), EE_SELECTION_TOOL::ClearSelection(), PCB_SELECTION_TOOL::ClearSelection(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), PL_EDIT_TOOL::Copy(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::CreateArray(), MICROWAVE_TOOL::createInductorBetween(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::CursorControl(), SCH_EDITOR_CONTROL::Cut(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_EDITOR_CONTROL::doCopy(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::EditField(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), SCH_EDIT_TABLE_TOOL::EditTable(), PCB_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PCB_SELECTION_TOOL::EnterGroup(), GROUP_TOOL::EnterGroup(), SCH_NAVIGATE_TOOL::EnterSheet(), PAD_TOOL::EnumeratePads(), EE_INSPECTION_TOOL::ExcludeMarker(), PCB_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), TOOL_BASE::GetManager(), TOOL_BASE::getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), TOOL_BASE::getToolHolderInternal(), SCH_EDIT_TABLE_TOOL::getToolMgr(), PCB_EDIT_TABLE_TOOL::getToolMgr(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_INTERACTIVE::goInternal(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFastCycle(), SCH_EDITOR_CONTROL::GridFeedback(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), GROUP_TOOL::Group(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), EE_TOOL_BASE< T >::Init(), SCH_EDIT_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), Init(), PCB_SELECTION_TOOL::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), EE_INSPECTION_TOOL::InspectERCError(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), TOOL_BASE::IsToolActive(), SCH_EDIT_TOOL::JustifyText(), EDIT_TOOL::JustifyText(), GROUP_TOOL::LeaveGroup(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), 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(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), SCH_EDITOR_CONTROL::NextLineMode(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), EE_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDITOR_CONTROL::Redo(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), EE_POINT_EDITOR::removeCorner(), removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem(), PCB_SELECTION_TOOL::RequestSelection(), 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(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), TOOL_INTERACTIVE::RunMainStack(), DRC_TOOL::RunTests(), 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(), 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(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), POSITION_RELATIVE_TOOL::SelectPositionRelativePoint(), 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(), EDIT_TOOL::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(), updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), EE_POINT_EDITOR::updateParentItem(), 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().