|
KiCad PCB EDA Suite
|
#include <multichannel_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 | |
| MULTICHANNEL_TOOL () | |
| ~MULTICHANNEL_TOOL () | |
| int | RepeatLayout (const TOOL_EVENT &aEvent, ZONE *aRefZone) |
| int | RepeatLayout (const TOOL_EVENT &aEvent, RULE_AREA &aRefArea, RULE_AREA &aTargetArea, REPEAT_LAYOUT_OPTIONS &aOptions, BOARD_COMMIT *aExternalCommit=nullptr, wxString *aErrorOut=nullptr) |
| int | AutogenerateRuleAreas (const TOOL_EVENT &aEvent) |
| void | UpdatePickedPoint (const std::optional< VECTOR2I > &aPoint) override |
| void | UpdatePickedItem (const EDA_ITEM *aItem) override |
| void | ShowMismatchDetails (wxWindow *aParent, const wxString &aSummary, const std::vector< wxString > &aReasons) const |
| RULE_AREAS_DATA * | GetData () |
| void | GeneratePotentialRuleAreas () |
| void | FindExistingRuleAreas () |
| int | CheckRACompatibility (ZONE *aRefZone) |
| virtual bool | Init () override |
| Init() is called once upon a registration of the tool. | |
| virtual void | Reset (RESET_REASON aReason) override |
| Bring the tool to a known, initial state. | |
| 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? | |
| virtual bool | Is90Limited () const |
| Should the tool limit drawing to horizontal and vertical only? | |
| LEADER_MODE | GetAngleSnapMode () const |
| Get the current angle snapping mode. | |
| 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 std::vector< NETINFO_ITEM * > | IsolateDesignBlockAutoNets (BOARD *aBoard, const std::set< FOOTPRINT * > &aFootprints, const std::unordered_set< EDA_ITEM * > &aItems) |
| Remap auto-generated nets (Net-(...), unconnected-...) of a design block that was appended for layout matching onto fresh private nets, so they cannot fuse by name with same-named nets that belong to different parts on the board (issue 24767). | |
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 |
| This method is meant to be overridden in order to specify handlers for events. | |
| int | repeatLayout (const TOOL_EVENT &aEvent) |
| wxString | stripComponentIndex (const wxString &aRef) const |
| bool | findComponentsInRuleArea (RULE_AREA *aRuleArea, std::set< FOOTPRINT * > &aComponents) |
| bool | findOtherItemsInRuleArea (RULE_AREA *aRuleArea, std::set< BOARD_ITEM * > &aItems) |
| int | findRoutingInRuleArea (RULE_AREA *aRuleArea, std::set< BOARD_CONNECTED_ITEM * > &aOutput, std::shared_ptr< CONNECTIVITY_DATA > aConnectivity, const SHAPE_POLY_SET &aRAPoly, const REPEAT_LAYOUT_OPTIONS &aOpts) const |
| bool | copyRuleAreaContents (RULE_AREA *aRefArea, RULE_AREA *aTargetArea, BOARD_COMMIT *aCommit, REPEAT_LAYOUT_OPTIONS aOpts, RULE_AREA_COMPAT_DATA &aCompatData) |
| const SHAPE_LINE_CHAIN | buildRAOutline (std::set< FOOTPRINT * > &aFootprints, int aMargin) |
| const SHAPE_LINE_CHAIN | buildRAOutline (const std::set< BOARD_ITEM * > &aItems, int aMargin) |
| std::set< FOOTPRINT * > | queryComponentsInSheet (wxString aSheetName) const |
| std::set< FOOTPRINT * > | queryComponentsInComponentClass (const wxString &aComponentClassName) const |
| std::set< FOOTPRINT * > | queryComponentsInGroup (const wxString &aGroupName) const |
| std::set< BOARD_ITEM * > | queryBoardItemsInGroup (const wxString &aGroupName) const |
| RULE_AREA * | findRAByName (const wxString &aName) |
| bool | resolveConnectionTopology (RULE_AREA *aRefArea, RULE_AREA *aTargetArea, RULE_AREA_COMPAT_DATA &aMatches, const TMATCH::ISOMORPHISM_PARAMS &aParams={}) |
| void | fixupNet (BOARD_CONNECTED_ITEM *aRef, BOARD_CONNECTED_ITEM *aTarget, TMATCH::COMPONENT_MATCHES &aComponentMatches) |
| Attempts to make sure copied items are assigned the right net. | |
| bool | pruneExistingGroups (COMMIT &aCommit, const std::unordered_set< BOARD_ITEM * > &aItemsToCheck) |
| 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 | |
| std::unique_ptr< REPORTER > | m_reporter |
| RULE_AREAS_DATA | m_areas |
Definition at line 97 of file multichannel_tool.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 128 of file pcb_tool_base.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 73 of file tool_base.h.
| MULTICHANNEL_TOOL::MULTICHANNEL_TOOL | ( | ) |
Definition at line 140 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::PCB_TOOL_BASE().
| MULTICHANNEL_TOOL::~MULTICHANNEL_TOOL | ( | ) |
Definition at line 145 of file multichannel_tool.cpp.
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 61 of file tool_interactive.cpp.
References TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), and DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog().
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 58 of file tool_base.cpp.
References m_toolMgr, and TOOL_MANAGER.
Referenced by TOOL_MANAGER::RegisterTool().
| int MULTICHANNEL_TOOL::AutogenerateRuleAreas | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2091 of file multichannel_tool.cpp.
References _, COMMIT::Add(), LSET::AllCuMask(), PCB_TOOL_BASE::board(), buildRAOutline(), COMPONENT_CLASS, findComponentsInRuleArea(), PCB_TOOL_BASE::frame(), GeneratePotentialRuleAreas(), TOOL_BASE::GetManager(), group, GROUP_PLACEMENT, m_areas, RULE_AREA::m_componentClass, RULE_AREA::m_components, RULE_AREA::m_existsAlready, RULE_AREA::m_generateEnabled, RULE_AREA::m_groupName, RULE_AREA::m_oldZone, RULE_AREA::m_sheetPath, RULE_AREA::m_sourceType, RULE_AREA::m_zone, COMMIT::Modify(), NO_HATCH, Pgm(), pruneExistingGroups(), BOARD_COMMIT::Push(), queryBoardItemsInGroup(), COMMIT::Remove(), SHEETNAME, DIALOG_SHIM::ShowModal(), and traceMultichannelTool.
Referenced by BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and setTransitions().
|
inlineprotectedinherited |
Definition at line 178 of file pcb_tool_base.h.
References TOOL_BASE::getModel().
Referenced by PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), AUTOPLACE_TOOL::autoplaceOffboard(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_CONTROL::CollectAndEmbed3DModels(), MULTICHANNEL_TOOL::copyRuleAreaContents(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportCmpFile(), BOARD_EDITOR_CONTROL::ExportHyperlynx(), BOARD_EDITOR_CONTROL::ExportIDF(), BOARD_EDITOR_CONTROL::ExportNetlist(), BOARD_EDITOR_CONTROL::ExportSTEP(), BOARD_EDITOR_CONTROL::ExportVRML(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), MULTICHANNEL_TOOL::findComponentsInRuleArea(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), MULTICHANNEL_TOOL::fixupNet(), footprint(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), GENERATOR_TOOL::GenEditAction(), MULTICHANNEL_TOOL::GeneratePotentialRuleAreas(), GENERATOR_TOOL::GENERATOR_TOOL(), BOARD_EDITOR_CONTROL::GenFootprintsReport(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), EDIT_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PAD_TOOL::OnUndoRedo(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_CONTROL::pruneItemLayers(), MULTICHANNEL_TOOL::queryBoardItemsInGroup(), MULTICHANNEL_TOOL::queryComponentsInComponentClass(), MULTICHANNEL_TOOL::queryComponentsInGroup(), MULTICHANNEL_TOOL::queryComponentsInSheet(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), PCB_CONTROL::RehatchShapes(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), MULTICHANNEL_TOOL::RepeatLayout(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PCB_CONTROL::Reset(), PNS::TOOL_BASE::Reset(), BOARD_INSPECTION_TOOL::showBoardComparison(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), 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(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
|
private |
Definition at line 472 of file multichannel_tool.cpp.
References BuildConvexHull(), KIGEOM::CollectBoxCorners(), BOX2< Vec >::GetInflated(), PCB_FOOTPRINT_T, and KIGEOM::RectifyPolygon().
|
private |
Definition at line 452 of file multichannel_tool.cpp.
References BuildConvexHull(), KIGEOM::CollectBoxCorners(), and KIGEOM::RectifyPolygon().
Referenced by AutogenerateRuleAreas().
|
protectedinherited |
Definition at line 349 of file pcb_tool_base.cpp.
References 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(), POSITION_RELATIVE_TOOL::InteractiveOffset(), 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(), 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 MULTICHANNEL_TOOL::CheckRACompatibility | ( | ZONE * | aRefZone | ) |
Definition at line 694 of file multichannel_tool.cpp.
References _, PCB_TOOL_BASE::frame(), GetKiCadThreadPool(), m_areas, TMATCH::ISOMORPHISM_PARAMS::m_cancelled, TMATCH::ISOMORPHISM_PARAMS::m_matchedComponents, TMATCH::ISOMORPHISM_PARAMS::m_totalComponents, RULE_AREA::m_zone, Pgm(), PR_CAN_ABORT, reporter, resolveConnectionTopology(), and tp.
Referenced by BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and repeatLayout().
|
inlineprotectedinherited |
Definition at line 167 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawZone(), ROUTER_TOOL::finishInteractive(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::HighlightNetChain(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), 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(), PCB_POINT_EDITOR::setEditedPoint(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
|
private |
Definition at line 1192 of file multichannel_tool.cpp.
References COMMIT::Add(), SHAPE_POLY_SET::AddOutline(), ZONE::AddPolygon(), EDA_GROUP::AsEdaItem(), PCB_TOOL_BASE::board(), SHAPE_POLY_SET::CacheTriangulation(), EDA_ITEM::ClearFlags(), LSET::Contains(), LSET::ContainsAll(), copied, SHAPE_POLY_SET::COutline(), DESIGN_BLOCK, findOtherItemsInRuleArea(), findRoutingInRuleArea(), fixupNet(), EDA_TEXT::GetAttributes(), BOARD::GetConnectivity(), EDA_GROUP::GetItems(), BOARD_ITEM::GetLayer(), ZONE::GetLayerSet(), FOOTPRINT::GetOrientationDegrees(), EDA_ITEM::GetParentGroup(), FOOTPRINT::GetPosition(), PCB_TEXT::GetPosition(), FOOTPRINT::GetReference(), COMMIT::GetStatus(), EDA_TEXT::GetText(), GROUP_PLACEMENT, ZONE::HatchBorder(), BOARD_ITEM::IsKnockout(), EDA_TEXT::IsVisible(), RULE_AREA_COMPAT_DATA::m_affectedItems, REPEAT_LAYOUT_OPTIONS::m_anchorFp, RULE_AREA::m_center, RULE_AREA::m_components, REPEAT_LAYOUT_OPTIONS::m_connectedRoutingOnly, REPEAT_LAYOUT_OPTIONS::m_copyOtherItems, REPEAT_LAYOUT_OPTIONS::m_copyPlacement, REPEAT_LAYOUT_OPTIONS::m_copyRouting, RULE_AREA::m_designBlockItems, RULE_AREA::m_group, RULE_AREA_COMPAT_DATA::m_groupableItems, REPEAT_LAYOUT_OPTIONS::m_groupItems, REPEAT_LAYOUT_OPTIONS::m_includeLockedItems, RULE_AREA_COMPAT_DATA::m_matchingComponents, RULE_AREA::m_sourceType, RULE_AREA::m_zone, COMMIT::Modify(), PCB_GENERATOR::Move(), PCB_GROUP::Move(), PCB_TEXT::Move(), SHAPE_LINE_CHAIN::Move(), ZONE::Outline(), pad, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_PAD_T, PCB_TEXT_T, PCB_ZONE_T, RECURSE, COMMIT::Remove(), ZONE::RemoveAllContours(), FOOTPRINT::Rotate(), PCB_GENERATOR::Rotate(), PCB_GROUP::Rotate(), PCB_TEXT::Rotate(), SHAPE_LINE_CHAIN::Rotate(), PCB_GROUP::RunOnChildren(), EDA_TEXT::SetAttributes(), BOARD_ITEM::SetIsKnockout(), BOARD_ITEM::SetLayer(), BOARD_ITEM::SetLayerSet(), EDA_ITEM::SetParentGroup(), PCB_TEXT::SetPosition(), EDA_TEXT::SetVisible(), traceMultichannelTool, EDA_ITEM::Type(), and ZONE::UnHatchBorder().
Referenced by RepeatLayout(), and RepeatLayout().
|
protectedinherited |
Definition at line 344 of file pcb_tool_base.cpp.
References frame().
Referenced by PCB_CONTROL::AppendBoard(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), 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 39 of file pcb_tool_base.cpp.
References TOOL_INTERACTIVE::Activate(), KIGFX::PCB_VIEW::Add(), KIGFX::VIEW_GROUP::Add(), SELECTION::Add(), PCB_ACTIONS::angleSnapModeChanged, ARROW, board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), controls(), INTERACTIVE_PLACER_BASE::CreateItem(), DIRECT, PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), frame(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, GetAppSettings(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), KIGFX::VIEW_CONTROLS::GetMousePosition(), TOOL_BASE::getView(), grid, IPO_FLIP, IPO_REPEAT, IPO_ROTATE, IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), PCB_VIEWERS_SETTINGS_BASE::VIEWERS_DISPLAY_OPTIONS::m_AngleSnapMode, INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, PCB_VIEWERS_SETTINGS_BASE::m_ViewersDisplay, NO_RECURSE, PENCIL, PLACE, INTERACTIVE_PLACER_BASE::PlaceItem(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, selection(), 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(), view(), and TOOL_INTERACTIVE::Wait().
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DRAWING_TOOL::DrawVia(), PAD_TOOL::PlacePad(), and DRAWING_TOOL::PlacePoint().
|
private |
Definition at line 165 of file multichannel_tool.cpp.
References LIBEVAL::VALUE::AsDouble(), PCB_TOOL_BASE::board(), LIBEVAL::COMPILER::Compile(), COMPONENT_CLASS, DESIGN_BLOCK, ZONE::GetPlacementAreaSource(), ZONE::GetPlacementAreaSourceType(), ZONE::GetZoneName(), GROUP_PLACEMENT, RULE_AREA::m_designBlockItems, RULE_AREA::m_sourceType, RULE_AREA::m_zone, PCB_FOOTPRINT_T, LIBEVAL::UCODE::Run(), LIBEVAL::COMPILER::SetErrorCallback(), LIBEVAL::CONTEXT::SetErrorCallback(), PCBEXPR_CONTEXT::SetItems(), SHEETNAME, traceMultichannelTool, and EDA_ITEM::Type().
Referenced by AutogenerateRuleAreas(), and FindExistingRuleAreas().
| void MULTICHANNEL_TOOL::FindExistingRuleAreas | ( | ) |
Definition at line 568 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), findComponentsInRuleArea(), m_areas, RULE_AREA::m_center, RULE_AREA::m_components, RULE_AREA::m_existsAlready, RULE_AREA::m_ruleName, RULE_AREA::m_zone, and traceMultichannelTool.
Referenced by BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and repeatLayout().
|
private |
Definition at line 245 of file multichannel_tool.cpp.
References KIID::AsString(), PCB_TOOL_BASE::board(), LIBEVAL::COMPILER::Compile(), DESIGN_BLOCK, group, GROUP_PLACEMENT, RULE_AREA::m_components, RULE_AREA::m_designBlockItems, RULE_AREA::m_group, RULE_AREA::m_sourceType, EDA_ITEM::m_Uuid, RULE_AREA::m_zone, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, PCB_TABLECELL_T, PCB_ZONE_T, LIBEVAL::UCODE::Run(), LIBEVAL::COMPILER::SetErrorCallback(), LIBEVAL::CONTEXT::SetErrorCallback(), PCBEXPR_CONTEXT::SetItems(), traceMultichannelTool, and EDA_ITEM::Type().
Referenced by copyRuleAreaContents().
|
private |
Definition at line 599 of file multichannel_tool.cpp.
References m_areas, and RULE_AREA::m_ruleName.
|
private |
Definition at line 1010 of file multichannel_tool.cpp.
References LIBEVAL::VALUE::AsDouble(), KIID::AsString(), PCB_TOOL_BASE::board(), SHAPE_POLY_SET::BooleanSubtract(), LIBEVAL::COMPILER::Compile(), DESIGN_BLOCK, ERROR_OUTSIDE, BOARD::GetDesignSettings(), ZONE::GetLayerSet(), GROUP_PLACEMENT, SHAPE_POLY_SET::IsEmpty(), RULE_AREA::m_designBlockItems, BOARD_DESIGN_SETTINGS::m_MaxError, RULE_AREA::m_sourceType, EDA_ITEM::m_Uuid, RULE_AREA::m_zone, SHAPE_POLY_SET::Outline(), ZONE::Outline(), PCB_GENERATOR_T, PCB_PAD_T, PCB_ZONE_T, LIBEVAL::UCODE::Run(), LIBEVAL::COMPILER::SetErrorCallback(), LIBEVAL::CONTEXT::SetErrorCallback(), PCBEXPR_CONTEXT::SetItems(), traceMultichannelTool, and EDA_ITEM::Type().
Referenced by copyRuleAreaContents().
|
private |
Attempts to make sure copied items are assigned the right net.
Definition at line 1762 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), BOARD::GetConnectivity(), BOARD_CONNECTED_ITEM::GetNetCode(), CONNECTIVITY_DATA::GetNetItems(), PAD::GetNumber(), FOOTPRINT::GetPads(), BOARD_ITEM::GetParentFootprint(), PCB_PAD_T, and BOARD_CONNECTED_ITEM::SetNetCode().
Referenced by copyRuleAreaContents().
|
inlineprotectedinherited |
Definition at line 180 of file pcb_tool_base.h.
References board(), and BOARD::GetFirstFootprint().
Referenced by AUTOPLACE_TOOL::autoplaceOffboard(), AUTOPLACE_TOOL::autoplaceSelected(), MICROWAVE_TOOL::createBaseFootprint(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawVia(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDITOR_CONTROL::EditLibraryFootprint(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportNetlist(), DRC_TOOL::FixDRCError(), BOARD_EDITOR_CONTROL::GenBOMFileFromBoard(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_INSPECTION_TOOL::makeDRCEngine(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), FOOTPRINT_EDITOR_CONTROL::Properties(), PAD_TOOL::pushPadSettings(), PCB_CONTROL::RehatchShapes(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), BOARD_INSPECTION_TOOL::reportClearance(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), DRAWING_TOOL::SetAnchor(), and FOOTPRINT_EDITOR_CONTROL::ShowDatasheet().
Definition at line 173 of file pcb_tool_base.h.
References TOOL_BASE::getEditFrame(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::BooleanPolygons(), canvas(), PCB_POINT_EDITOR::chamferCorner(), EDIT_TOOL::ChangeTrackLayer(), ZONE_FILLER_TOOL::CheckAllZones(), MULTICHANNEL_TOOL::CheckRACompatibility(), PNS::TOOL_BASE::checkSnap(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), 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(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), ROUTER_TOOL::finishInteractive(), DRC_TOOL::FixDRCErrorMenuText(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetAngleSnapMode(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), EDIT_TOOL::Init(), PCB_PICKER_TOOL::Init(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), CONVERT_TOOL::OutsetItems(), PAD_TOOL::PadTable(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlacePoint(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), PCB_POINT_EDITOR::removeCorner(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::repeatLayout(), DIFF_PHASE_SKEW_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PNS::TOOL_BASE::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_POINT_EDITOR::setEditedPoint(), ROUTER_TOOL::SettingsDialog(), FOOTPRINT_EDITOR_CONTROL::ShowDatasheet(), BOARD_EDITOR_CONTROL::ShowEeschema(), GENERATOR_TOOL::ShowGeneratorsManager(), MULTICHANNEL_TOOL::ShowMismatchDetails(), EDIT_TOOL::SimplifyPolygons(), GLOBAL_EDIT_TOOL::swapBoardItem(), EDIT_TOOL::SwapGateNets(), GLOBAL_EDIT_TOOL::SwapLayers(), EDIT_TOOL::SwapPadNets(), ROUTER_TOOL::switchLayerOnViaPlacement(), EDIT_TOOL::ToggleFootprintAttribute(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), DIFF_PHASE_SKEW_TOOL::updateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
| void MULTICHANNEL_TOOL::GeneratePotentialRuleAreas | ( | ) |
Definition at line 497 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), COMPONENT_CLASS, COMPONENT_CLASS::GetConstituentClasses(), GROUP_PLACEMENT, m_areas, RULE_AREA::m_componentClass, RULE_AREA::m_components, RULE_AREA::m_generateEnabled, RULE_AREA::m_groupName, RULE_AREA::m_sheetName, RULE_AREA::m_sheetPath, RULE_AREA::m_sourceType, queryComponentsInComponentClass(), queryComponentsInGroup(), queryComponentsInSheet(), SHEETNAME, and traceMultichannelTool.
Referenced by AutogenerateRuleAreas(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and BOOST_FIXTURE_TEST_CASE().
|
inherited |
Get the current angle snapping mode.
Definition at line 381 of file pcb_tool_base.cpp.
References frame(), FRAME_PCB_EDITOR, and GetAppSettings().
Referenced by EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), Is45Limited(), Is90Limited(), and DRAWING_TOOL::UpdateStatusBar().
|
inline |
Definition at line 115 of file multichannel_tool.h.
References m_areas.
Referenced by BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and findRuleAreaByPlacementGroup().
Return the application window object, casted to requested user type.
Definition at line 182 of file tool_base.h.
References getToolHolderInternal(), and T.
Referenced by PCB_POINT_EDITOR::addCorner(), BOARD_EDITOR_CONTROL::BoardSetup(), PCB_POINT_EDITOR::chamferCorner(), PCB_POINT_EDITOR::changeArcEditMode(), ZONE_FILLER_TOOL::CheckAllZones(), FOOTPRINT_EDITOR_CONTROL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupGraphics(), GLOBAL_EDIT_TOOL::CleanupTracksAndVias(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createBaseFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), MICROWAVE_TOOL::createMicrowaveInductor(), MICROWAVE_TOOL::createPolygonShape(), CONVERT_TOOL::CreatePolys(), FOOTPRINT_EDITOR_CONTROL::DefaultPadProperties(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), MICROWAVE_TOOL::drawMicrowaveInductor(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PCB_SELECTION_TOOL::editFrame(), GLOBAL_EDIT_TOOL::EditTeardrops(), FOOTPRINT_EDITOR_CONTROL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTextAndGraphics(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), EDIT_TOOL::EditVertices(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), FOOTPRINT_WIZARD_TOOLS::frame(), PCB_SELECTION_TOOL::frame(), PCB_TEST_SELECTION_TOOL::frame(), PCB_TOOL_BASE::frame(), PCB_VIEWER_TOOLS::frame(), BOARD_EDITOR_CONTROL::GenerateDrillFiles(), BOARD_EDITOR_CONTROL::GeneratePosFile(), GLOBAL_EDIT_TOOL::GlobalDeletions(), PCB_CONTROL::GridPlaceOrigin(), BOARD_EDITOR_CONTROL::ImportNetlist(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), CONVERT_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), GERBVIEW_SELECTION_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_EDITOR_CONTROL::Init(), PL_POINT_EDITOR::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GLOBAL_EDIT_TOOL::Migrate3DModels(), PCB_POINT_EDITOR::movePoint(), BOARD_EDITOR_CONTROL::OnAngleSnapModeChanged(), FOOTPRINT_EDITOR_CONTROL::OnAngleSnapModeChanged(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelative(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), FOOTPRINT_EDITOR_CONTROL::Properties(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), BITMAP2CMP_CONTROL::Reset(), BOARD_EDITOR_CONTROL::Reset(), BOARD_INSPECTION_TOOL::Reset(), BOARD_REANNOTATE_TOOL::Reset(), COMMON_CONTROL::Reset(), COMMON_TOOLS::Reset(), CVPCB_ASSOCIATION_TOOL::Reset(), CVPCB_CONTROL::Reset(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Reset(), DESIGN_BLOCK_CONTROL::Reset(), DRAWING_TOOL::Reset(), DRC_RULE_EDITOR_TOOL::Reset(), DRC_TOOL::Reset(), EDIT_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Reset(), GERBVIEW_CONTROL::Reset(), GERBVIEW_INSPECTION_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), GROUP_TOOL::Reset(), KICAD_MANAGER_CONTROL::Reset(), LIBRARY_EDITOR_CONTROL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_DRAWING_TOOLS::Reset(), PL_EDIT_TOOL::Reset(), PL_EDITOR_CONTROL::Reset(), PL_POINT_EDITOR::Reset(), PL_SELECTION_TOOL::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), SIMULATOR_CONTROL::Reset(), ZOOM_TOOL::Reset(), FOOTPRINT_EDITOR_CONTROL::Revert(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), CONVERT_TOOL::SegmentToArc(), GERBVIEW_SELECTION_TOOL::selectable(), BOARD_EDITOR_CONTROL::ToggleLayersManager(), BOARD_EDITOR_CONTROL::ToggleLibraryTree(), BOARD_EDITOR_CONTROL::ToggleNetInspector(), BOARD_EDITOR_CONTROL::ToggleProperties(), BOARD_EDITOR_CONTROL::ToggleSearch(), PROPERTIES_TOOL::UpdateProperties(), ZONE_FILLER_TOOL::ZoneFillDirty(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 119 of file tool_base.h.
References m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 142 of file tool_base.h.
References m_toolMgr, and TOOL_MANAGER.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditCancel(), PCB_TUNING_PATTERN::EditFinish(), PCB_TUNING_PATTERN::EditStart(), makeShapeModificationMenu(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
Return the model object if it matches the requested type.
Definition at line 195 of file tool_base.h.
References getModelInternal(), and T.
Referenced by BOARD_EDITOR_CONTROL::AutoTrackWidth(), PCB_SELECTION_TOOL::board(), PCB_TEST_SELECTION_TOOL::board(), PCB_TOOL_BASE::board(), PCB_VIEWER_TOOLS::board(), COMMON_TOOLS::doCenter(), PCB_SELECTION_TOOL::filterSelection(), PCB_GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::HideLocalRatsnest(), EMBED_TOOL::Init(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::pushPadSettings(), BOARD_EDITOR_CONTROL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), EMBED_TOOL::Reset(), GERBVIEW_SELECTION_TOOL::selectPoint(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
privateinherited |
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 132 of file tool_base.h.
References m_toolName.
Referenced by PCB_CONTROL::AppendBoard(), TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), SCH_TOOL_BASE< SCH_EDIT_FRAME >::SetContextMenu(), and TOOL_MANAGER::ShutdownTool().
|
privateinherited |
|
inherited |
Definition at line 108 of file tool_interactive.cpp.
References m_menu.
Referenced by BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), GENERATOR_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), and SYMBOL_EDITOR_EDIT_TOOL::Init().
|
inlineinherited |
Return the type of the tool.
Definition at line 107 of file tool_base.h.
References m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), TOOL_MANAGER::ShutdownTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 34 of file tool_base.cpp.
References m_toolMgr.
Referenced by ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::CollectHits(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), SCH_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), SCH_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PCB_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), SCH_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PL_POINT_EDITOR::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_EDITOR_CONTROL::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_POINT_EDITOR::Reset(), PCB_SELECTION_TOOL::Reset(), PL_POINT_EDITOR::Reset(), PNS::TOOL_BASE::Reset(), SCH_SELECTION_TOOL::Reset(), SCH_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectConnection(), PCB_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectionContains(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), SCH_SELECTION_TOOL::SyncSelection(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), SCH_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), SCH_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TEST_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), SCH_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL(), and SCH_SELECTION_TOOL::~SCH_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 40 of file tool_base.cpp.
References m_toolMgr.
Referenced by PCB_POINT_EDITOR::addCorner(), SCH_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TEST_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), EDIT_TOOL::copyToClipboard(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), COMMON_TOOLS::doZoomToPreset(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_TOOL_BASE< T >::Increment(), EDIT_TOOL::Init(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_PICKER_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceTuningPattern(), EDIT_TOOL::Properties(), PL_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), DIFF_PHASE_SKEW_TOOL::Reset(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), PCB_SELECTION_TOOL::selectCursor(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::SelectNode(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PCB_PICKER_TOOL::setControls(), PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), PCB_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 143 of file tool_interactive.h.
References goInternal(), and T.
Referenced by ALIGN_DISTRIBUTE_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), CONVERT_TOOL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), DESIGN_BLOCK_CONTROL::setTransitions(), DIFF_PHASE_SKEW_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_RULE_EDITOR_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDA_3D_CONTROLLER::setTransitions(), EDIT_TOOL::setTransitions(), EMBED_TOOL::setTransitions(), FOOTPRINT_CHOOSER_SELECTION_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), FOOTPRINT_WIZARD_TOOLS::setTransitions(), GENERATOR_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), MICROWAVE_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_DESIGN_BLOCK_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_TEST_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_SELECTION_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and ZOOM_TOOL::setTransitions().
|
privateinherited |
Definition at line 80 of file tool_interactive.cpp.
Referenced by Go().
|
overridevirtualinherited |
Init() is called once upon a registration of the tool.
Reimplemented from TOOL_BASE.
Reimplemented in ARRAY_TOOL, BOARD_EDITOR_CONTROL, BOARD_INSPECTION_TOOL, BOARD_REANNOTATE_TOOL, CONVERT_TOOL, DIFF_PHASE_SKEW_TOOL, DRAWING_TOOL, EDIT_TOOL, FOOTPRINT_EDITOR_CONTROL, GENERATOR_TOOL, GLOBAL_EDIT_TOOL, PAD_TOOL, PCB_EDIT_TABLE_TOOL, PCB_PICKER_TOOL, PCB_POINT_EDITOR, POSITION_RELATIVE_TOOL, and ROUTER_TOOL.
Definition at line 318 of file pcb_tool_base.cpp.
References CONDITIONAL_MENU::AddItem(), CONDITIONAL_MENU::AddSeparator(), ACTIONS::cancelInteractive, TOOL_BASE::getEditFrame(), TOOL_INTERACTIVE::m_menu, and SELECTION_CONDITIONS::ShowAlways().
Referenced by PCB_EDIT_TABLE_TOOL::Init().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 371 of file pcb_tool_base.cpp.
References DIRECT, and GetAngleSnapMode().
Referenced by PCB_POINT_EDITOR::OnSelectionChange().
|
virtualinherited |
Should the tool limit drawing to horizontal and vertical only?
Definition at line 376 of file pcb_tool_base.cpp.
References DEG90, and GetAngleSnapMode().
Referenced by PCB_POINT_EDITOR::OnSelectionChange(), and PCB_POINT_EDITOR::setAltConstraint().
|
inlineinherited |
Definition at line 106 of file pcb_tool_base.h.
References m_isBoardEditor.
|
inlineinherited |
Definition at line 103 of file pcb_tool_base.h.
References m_isFootprintEditor.
Referenced by EDIT_TOOL::DeleteItems(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), CONVERT_TOOL::OutsetItems(), and PCB_GRID_HELPER::queryVisible().
|
static |
Remap auto-generated nets (Net-(...), unconnected-...) of a design block that was appended for layout matching onto fresh private nets, so they cannot fuse by name with same-named nets that belong to different parts on the board (issue 24767).
Returns the created nets so the caller can remove them after the temporary block is reverted.
Definition at line 1801 of file multichannel_tool.cpp.
References BOARD::Add(), BOARD::FindNet(), NETINFO_ITEM::GetNetname(), name, and pad.
Referenced by PCB_CONTROL::ApplyDesignBlockLayout(), and BOOST_FIXTURE_TEST_CASE().
|
inherited |
Definition at line 28 of file tool_base.cpp.
References m_toolId, and m_toolMgr.
Referenced by EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
|
private |
Definition at line 2057 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), group, COMMIT::Modify(), and COMMIT::Remove().
Referenced by AutogenerateRuleAreas(), and RepeatLayout().
|
private |
Definition at line 432 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), and group.
Referenced by AutogenerateRuleAreas().
|
private |
Definition at line 398 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board().
Referenced by GeneratePotentialRuleAreas().
|
private |
Definition at line 412 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board(), group, and PCB_FOOTPRINT_T.
Referenced by GeneratePotentialRuleAreas().
|
private |
Definition at line 373 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::board().
Referenced by GeneratePotentialRuleAreas().
| int MULTICHANNEL_TOOL::RepeatLayout | ( | const TOOL_EVENT & | aEvent, |
| RULE_AREA & | aRefArea, | ||
| RULE_AREA & | aTargetArea, | ||
| REPEAT_LAYOUT_OPTIONS & | aOptions, | ||
| BOARD_COMMIT * | aExternalCommit = nullptr, | ||
| wxString * | aErrorOut = nullptr ) |
Definition at line 824 of file multichannel_tool.cpp.
References _, copyRuleAreaContents(), PCB_TOOL_BASE::frame(), TOOL_BASE::GetManager(), ZONE::GetZoneName(), group, GROUP_PLACEMENT, REPEAT_LAYOUT_OPTIONS::m_anchorFp, RULE_AREA::m_components, RULE_AREA_COMPAT_DATA::m_errorMsg, RULE_AREA::m_group, RULE_AREA_COMPAT_DATA::m_groupableItems, RULE_AREA_COMPAT_DATA::m_matchingComponents, RULE_AREA_COMPAT_DATA::m_mismatchReasons, RULE_AREA::m_sourceType, RULE_AREA::m_zone, COMMIT::Modify(), NO_RECURSE, Pgm(), BOARD_COMMIT::Push(), resolveConnectionTopology(), BOARD_COMMIT::Revert(), and ShowTopologyMismatchReasons().
| int MULTICHANNEL_TOOL::RepeatLayout | ( | const TOOL_EVENT & | aEvent, |
| ZONE * | aRefZone ) |
Definition at line 920 of file multichannel_tool.cpp.
References _, COMMIT::Add(), PCB_TOOL_BASE::board(), copyRuleAreaContents(), PCB_TOOL_BASE::frame(), TOOL_BASE::GetManager(), group, m_areas, COMMIT::Modify(), Pgm(), pruneExistingGroups(), BOARD_COMMIT::Push(), BOARD_COMMIT::Revert(), and traceMultichannelTool.
Referenced by PCB_CONTROL::ApplyDesignBlockLayout(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), and repeatLayout().
|
private |
Definition at line 617 of file multichannel_tool.cpp.
References _, CheckRACompatibility(), FindExistingRuleAreas(), PCB_TOOL_BASE::frame(), ZONE::GetIsRuleArea(), ZONE::GetPlacementAreaEnabled(), group, m_areas, TOOL_BASE::m_toolMgr, PCB_GROUP_T, PCB_ZONE_T, RepeatLayout(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectItemInteractively, and DIALOG_SHIM::ShowModal().
Referenced by setTransitions().
|
overridevirtualinherited |
Bring the tool to a known, initial state.
If the tool claimed anything from the model or the view, it must release it when its reset.
| aReason | contains information about the reason of tool reset. |
Implements TOOL_BASE.
Reimplemented in ARRAY_TOOL, BOARD_EDITOR_CONTROL, BOARD_INSPECTION_TOOL, BOARD_REANNOTATE_TOOL, CONVERT_TOOL, DIFF_PHASE_SKEW_TOOL, DRAWING_TOOL, DRC_RULE_EDITOR_TOOL, DRC_TOOL, EDIT_TOOL, FOOTPRINT_EDITOR_CONTROL, GENERATOR_TOOL, GENERATOR_TOOL_PNS_PROXY, GLOBAL_EDIT_TOOL, MICROWAVE_TOOL, PAD_TOOL, PCB_CONTROL, PCB_POINT_EDITOR, PNS::TOOL_BASE, POSITION_RELATIVE_TOOL, ROUTER_TOOL, and ZONE_FILLER_TOOL.
Definition at line 334 of file pcb_tool_base.cpp.
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 73 of file tool_interactive.cpp.
|
private |
Definition at line 1924 of file multichannel_tool.cpp.
References _, TMATCH::CONNECTION_GRAPH::BuildFromFootprintSet(), DESIGN_BLOCK, FormatComponentList(), TMATCH::ISOMORPHISM_PARAMS::m_cancelled, RULE_AREA::m_components, RULE_AREA_COMPAT_DATA::m_errorMsg, RULE_AREA_COMPAT_DATA::m_isOk, RULE_AREA_COMPAT_DATA::m_matchingComponents, RULE_AREA_COMPAT_DATA::m_mismatchReasons, RULE_AREA::m_sourceType, matchBySymbolInstancePath(), PROF_TIMER::Stop(), PROF_TIMER::to_string(), and traceMultichannelTool.
Referenced by CheckRACompatibility(), and RepeatLayout().
|
inherited |
Call a function using the main stack.
| aFunc | is the function to be calls. |
Definition at line 102 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawTable(), KICAD_MANAGER_CONTROL::NewProject(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), BOARD_EDITOR_CONTROL::ShowEeschema(), and BOARD_EDITOR_CONTROL::UpdatePCBFromSchematic().
|
protectedinherited |
Definition at line 363 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 355 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), and TOOL_BASE::m_toolMgr.
Referenced by PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::copyToClipboardAsText(), ARRAY_TOOL::CreateArray(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), EDIT_TOOL::EditVertices(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), DRAWING_TOOL::getSourceZoneForAction(), EDIT_TOOL::HealShapes(), BOARD_INSPECTION_TOOL::highlightNet(), EDIT_TOOL::Increment(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::JustifyText(), PCB_CONTROL::LayerPresetFeedback(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), PCB_CONTROL::SaveToLinkedDesignBlock(), CONVERT_TOOL::SegmentToArc(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), and BOARD_EDITOR_CONTROL::ZonePriorityRaise().
|
inherited |
Assign a context menu and tells when it should be activated.
| aMenu | is the menu to be assigned. |
| aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 91 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), and DRAWING_TOOL::DrawVia().
|
inlineinherited |
Definition at line 105 of file pcb_tool_base.h.
References 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 102 of file pcb_tool_base.h.
References m_isFootprintEditor.
|
overrideprivatevirtual |
This method is meant to be overridden in order to specify handlers for events.
It is called every time tool is reset or finished.
Reimplemented from PCB_TOOL_BASE.
Definition at line 158 of file multichannel_tool.cpp.
References AutogenerateRuleAreas(), PCB_ACTIONS::generatePlacementRuleAreas, TOOL_INTERACTIVE::Go(), repeatLayout(), and PCB_ACTIONS::repeatLayout.
| void MULTICHANNEL_TOOL::ShowMismatchDetails | ( | wxWindow * | aParent, |
| const wxString & | aSummary, | ||
| const std::vector< wxString > & | aReasons ) const |
Definition at line 150 of file multichannel_tool.cpp.
References PCB_TOOL_BASE::frame(), and ShowTopologyMismatchReasons().
|
private |
Definition at line 986 of file multichannel_tool.cpp.
|
overridevirtual |
Implements PCB_PICKER_TOOL::RECEIVER.
Definition at line 611 of file multichannel_tool.cpp.
References TOOL_BASE::m_toolMgr, and PCB_ACTIONS::repeatLayout.
|
inlineoverridevirtual |
Implements PCB_PICKER_TOOL::RECEIVER.
Definition at line 109 of file multichannel_tool.h.
|
inlineprotectedinherited |
Definition at line 162 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), BOARD_INSPECTION_TOOL::CompareBoardWithHistory(), doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawVia(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::performDragging(), PCB_CONTROL::RehatchShapes(), PCB_POINT_EDITOR::Reset(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), BOARD_INSPECTION_TOOL::showBoardComparison(), PCB_CONTROL::TrackDisplayMode(), PCB_POINT_EDITOR::updateItem(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 67 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), POSITION_RELATIVE_TOOL::InteractiveOffset(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), SCH_SELECTION_TOOL::selectLasso(), PL_SELECTION_TOOL::selectMultiple(), SCH_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::SelectPolyArea(), PCB_SELECTION_TOOL::SelectRectArea(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), and DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew().
|
private |
Definition at line 163 of file multichannel_tool.h.
Referenced by AutogenerateRuleAreas(), CheckRACompatibility(), FindExistingRuleAreas(), findRAByName(), GeneratePotentialRuleAreas(), GetData(), RepeatLayout(), and repeatLayout().
|
protectedinherited |
Definition at line 195 of file pcb_tool_base.h.
Referenced by IsBoardEditor(), PCB_TOOL_BASE(), PCB_TOOL_BASE(), PCB_CONTROL::placeBoardItems(), SetIsBoardEditor(), and PCB_CONTROL::UpdateMessagePanel().
|
protectedinherited |
Definition at line 194 of file pcb_tool_base.h.
Referenced by EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBezier(), 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(), EDIT_TOOL::Increment(), EDIT_TOOL::Init(), PAD_TOOL::Init(), PCB_CONTROL::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), IsFootprintEditor(), PCB_POINT_EDITOR::makePoints(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), PAD_TOOL::PadTable(), PCB_CONTROL::Paste(), PCB_TOOL_BASE(), PCB_TOOL_BASE(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlacePoint(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), PCB_CONTROL::Print(), PCB_CONTROL::pruneItemLayers(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Rotate(), DRAWING_TOOL::runSimpleShapeDraw(), DRAWING_TOOL::SetAnchor(), SetIsFootprintEditor(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), 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 121 of file tool_interactive.h.
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawOneBezier(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), GetToolMenu(), BOARD_EDITOR_CONTROL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), DRAWING_TOOL::Init(), EDA_3D_CONTROLLER::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GERBVIEW_SELECTION_TOOL::Init(), PAD_TOOL::Init(), PCB_DESIGN_BLOCK_CONTROL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), PICKER_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_SELECTION_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ZOOM_TOOL::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ZOOM_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE(), and TOOL_INTERACTIVE().
|
private |
Definition at line 162 of file multichannel_tool.h.
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), GetId(), IsToolActive(), and TOOL_BASE().
|
protectedinherited |
Definition at line 220 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), GROUP_TOOL::AddToGroup(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), attachManager(), SCH_SELECTION_TOOL::autostartEvent(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), BOARD_EDITOR_CONTROL::ChangeLineMode(), FOOTPRINT_EDITOR_CONTROL::ChangeLineMode(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PCB_SELECTION_TOOL::EnterGroup(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), KICAD_MANAGER_CONTROL::Execute(), PCB_SELECTION_TOOL::ExitGroup(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), EDA_3D_CONTROLLER::ExportImage(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), BOARD_EDITOR_CONTROL::GenerateODBPPFiles(), EDIT_TOOL::GetAndPlace(), GetManager(), getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), getToolHolderInternal(), PCB_EDIT_TABLE_TOOL::getToolMgr(), getView(), getViewControls(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), PCB_GROUP_TOOL::Group(), SCH_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_VIEWER_TOOLS::NextLineMode(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), PCB_SELECTION_TOOL::selectNetChain(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), PCB_SELECTION_TOOL::SetSelectPoly(), SCH_SELECTION_TOOL::SetSelectPoly(), PCB_SELECTION_TOOL::SetSelectRect(), SCH_SELECTION_TOOL::SetSelectRect(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDIT_TOOL::ToggleFootprintAttribute(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), PCB_SELECTION_TOOL::toggleTableCellSelection(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 219 of file tool_base.h.
Referenced by GetName(), and TOOL_BASE().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by GetType(), and TOOL_BASE().