|
KiCad PCB EDA Suite
|
Handle actions that are shared between different frames in PcbNew. More...
#include <pcb_control.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_CONTROL () | |
| ~PCB_CONTROL () | |
| void | Reset (RESET_REASON aReason) override |
| Bring the tool to a known, initial state. | |
| int | AddLibrary (const TOOL_EVENT &aEvent) |
| int | Print (const TOOL_EVENT &aEvent) |
| int | Quit (const TOOL_EVENT &aEvent) |
| int | LoadFpFromBoard (const TOOL_EVENT &aEvent) |
| int | SaveFpToBoard (const TOOL_EVENT &aEvent) |
| int | IterateFootprint (const TOOL_EVENT &aEvent) |
| int | ToggleRatsnest (const TOOL_EVENT &aEvent) |
| int | ZoneDisplayMode (const TOOL_EVENT &aEvent) |
| int | TrackDisplayMode (const TOOL_EVENT &aEvent) |
| int | ViaDisplayMode (const TOOL_EVENT &aEvent) |
| int | HighContrastMode (const TOOL_EVENT &aEvent) |
| int | ContrastModeFeedback (const TOOL_EVENT &aEvent) |
| int | HighContrastModeCycle (const TOOL_EVENT &aEvent) |
| int | NetColorModeCycle (const TOOL_EVENT &aEvent) |
| int | RatsnestModeCycle (const TOOL_EVENT &aEvent) |
| int | LayerSwitch (const TOOL_EVENT &aEvent) |
| int | LayerNext (const TOOL_EVENT &aEvent) |
| int | LayerPrev (const TOOL_EVENT &aEvent) |
| int | LayerToggle (const TOOL_EVENT &aEvent) |
| int | LayerAlphaInc (const TOOL_EVENT &aEvent) |
| int | LayerAlphaDec (const TOOL_EVENT &aEvent) |
| int | CycleLayerPresets (const TOOL_EVENT &aEvent) |
| int | LayerPresetFeedback (const TOOL_EVENT &aEvent) |
| int | GridPlaceOrigin (const TOOL_EVENT &aEvent) |
| int | GridResetOrigin (const TOOL_EVENT &aEvent) |
| int | Undo (const TOOL_EVENT &aEvent) |
| int | Redo (const TOOL_EVENT &aEvent) |
| int | SnapMode (const TOOL_EVENT &aEvent) |
| int | SnapModeFeedback (const TOOL_EVENT &aEvent) |
| int | InteractiveDelete (const TOOL_EVENT &aEvent) |
| int | Paste (const TOOL_EVENT &aEvent) |
| int | AppendBoardFromFile (const TOOL_EVENT &aEvent) |
| int | AppendDesignBlock (const TOOL_EVENT &aEvent) |
| int | ApplyDesignBlockLayout (const TOOL_EVENT &aEvent) |
| int | PlaceLinkedDesignBlock (const TOOL_EVENT &aEvent) |
| int | SaveToLinkedDesignBlock (const TOOL_EVENT &aEvent) |
| int | AppendBoard (PCB_IO &pi, const wxString &fileName, DESIGN_BLOCK *aDesignBlock=nullptr, BOARD_COMMIT *aCommit=nullptr, bool aSkipMove=false) |
| int | UpdateMessagePanel (const TOOL_EVENT &aEvent) |
| int | PlaceCharacteristics (const TOOL_EVENT &aEvent) |
| int | PlaceStackup (const TOOL_EVENT &aEvent) |
| int | CollectAndEmbed3DModels (const TOOL_EVENT &aEvent) |
| int | FlipPcbView (const TOOL_EVENT &aEvent) |
| int | RehatchShapes (const TOOL_EVENT &aEvent) |
| int | DdAppendBoard (const TOOL_EVENT &aEvent) |
| int | DdAddLibrary (const TOOL_EVENT &aEvent) |
| int | DdImportFootprint (const TOOL_EVENT &aEvent) |
| virtual bool | Init () override |
| Init() is called once upon a registration of the tool. | |
| 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 void | DoSetGridOrigin (KIGFX::VIEW *aView, PCB_BASE_FRAME *aFrame, EDA_ITEM *originViewItem, const VECTOR2D &aPoint) |
| static void | rehatchBoardItem (KIGFX::VIEW *aView, BOARD_ITEM *aItem) |
| Regenerate and redraw an item's hatching, skipping non-hatched shapes. Static for testing. | |
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 |
| < Sets up handlers for various events. | |
| void | unfilledZoneCheck () |
| We have bug reports indicating that some new users confuse zone filling/unfilling with the display modes. | |
| void | pruneItemLayers (std::vector< BOARD_ITEM * > &aItems) |
| Helper for pasting. | |
| bool | placeBoardItems (BOARD_COMMIT *aCommit, std::vector< BOARD_ITEM * > &aItems, bool aIsNew, bool aAnchorAtOrigin, bool aReannotateDuplicates, bool aSkipMove) |
| Add and select or just select for move/place command a list of board items. | |
| bool | placeBoardItems (BOARD_COMMIT *aCommit, BOARD *aBoard, bool aAnchorAtOrigin, bool aReannotateDuplicates, bool aSkipMove) |
| void | resetTransitions () |
| Clear the current transition map and restores the default one created by setTransitions(). | |
| void | goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions) |
| EDA_ITEM * | getModelInternal () const |
| TOOLS_HOLDER * | getToolHolderInternal () const |
Private Attributes | |
| PCB_BASE_FRAME * | m_frame |
| std::unique_ptr< KIGFX::ORIGIN_VIEWITEM > | m_gridOrigin |
| BOARD_ITEM * | m_pickerItem |
| std::unique_ptr< STATUS_TEXT_POPUP > | m_statusPopup |
Handle actions that are shared between different frames in PcbNew.
Definition at line 42 of file pcb_control.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.
| PCB_CONTROL::PCB_CONTROL | ( | ) |
Definition at line 108 of file pcb_control.cpp.
References m_frame, m_gridOrigin, m_pickerItem, and PCB_TOOL_BASE::PCB_TOOL_BASE().
| PCB_CONTROL::~PCB_CONTROL | ( | ) |
Definition at line 117 of file pcb_control.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().
| int PCB_CONTROL::AddLibrary | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 146 of file pcb_control.cpp.
References _, AddLibrary(), ACTIONS::addLibrary, FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, TOOL_EVENT::IsAction(), m_frame, and ACTIONS::newLibrary.
Referenced by AddLibrary(), DdAddLibrary(), and setTransitions().
| int PCB_CONTROL::AppendBoard | ( | PCB_IO & | pi, |
| const wxString & | fileName, | ||
| DESIGN_BLOCK * | aDesignBlock = nullptr, | ||
| BOARD_COMMIT * | aCommit = nullptr, | ||
| bool | aSkipMove = false ) |
Definition at line 2059 of file pcb_control.cpp.
References _, COMMIT::Add(), PCB_IO_LOAD_PROPERTIES::APPEND_PRESERVE_DESTINATION_STACKUP, PCB_TOOL_BASE::board(), BOARD::BuildConnectivity(), BOARD::BuildListOfNets(), PCB_SELECTION_TOOL::ClearSelection(), EDA_BASE_FRAME::config(), DisplayErrorMessage(), PCB_TOOL_BASE::displayOptions(), KIDIALOG::DoNotShowCheckbox(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetBoard(), BOARD::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), EDA_BASE_FRAME::GetInfoBar(), BOARD::GetItemSet(), DESIGN_BLOCK::GetLibId(), LIB_ID::GetLibItemName(), TOOL_BASE::GetName(), BOARD::GetPageSettings(), PCB_BASE_FRAME::GetPageSizeIU(), BOARD_ITEM::GetParentFootprint(), BOARD::GetProperties(), PCB_SELECTION_TOOL::GetSelection(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), BOARD::GetTitleBlock(), group, PCB_IO::LoadBoard(), m_frame, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_ShowGlobalRatsnest, TOOL_BASE::m_toolMgr, COMMIT::Modify(), APPEARANCE_CONTROLS::OnBoardChanged(), pad, PCB_FOOTPRINT_T, placeBoardItems(), PR_CAN_ABORT, BOARD_COMMIT::Push(), BOARD_COMMIT::Revert(), DIALOG_MAP_LAYERS::RunModal(), PCB_SELECTION_TOOL::select(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), BOARD::SetCopperLayerCount(), BOARD::SetEnabledLayers(), BOARD::SetPageSettings(), IO_BASE::SetProgressReporter(), BOARD::SetProperties(), PCB_IO::SetQueryUserCallback(), BOARD::SetTitleBlock(), BOARD::SetVisibleLayers(), WX_INFOBAR::ShowMessageFor(), KIDIALOG::ShowModal(), SKIP_STRUCT, BOARD::SynchronizeNetsAndNetClasses(), BOARD_STACKUP::SynchronizeWithBoard(), IO_ERROR::What(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by AppendBoardFromFile(), AppendDesignBlock(), ApplyDesignBlockLayout(), DdAppendBoard(), and PlaceLinkedDesignBlock().
| int PCB_CONTROL::AppendBoardFromFile | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1386 of file pcb_control.cpp.
References AppendBoard(), AskLoadBoardFileName(), PCB_IO_MGR::FindPlugin(), PCB_IO_MGR::FindPluginTypeFromBoardPath(), KICTL_KICAD_ONLY, and m_frame.
Referenced by setTransitions().
| int PCB_CONTROL::AppendDesignBlock | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1409 of file pcb_control.cpp.
References _, AppendBoard(), EDA_BASE_FRAME::config(), PCB_IO_MGR::FindPlugin(), DESIGN_BLOCK_PANE::GetDesignBlock(), PCB_EDIT_FRAME::GetDesignBlockPane(), DESIGN_BLOCK_PANE::GetSelectedLibId(), LIB_ID::GetUniStringLibId(), LIB_ID::IsValid(), PCB_IO_MGR::KICAD_SEXP, m_frame, and EDA_BASE_FRAME::ShowInfoBarError().
Referenced by setTransitions().
| int PCB_CONTROL::ApplyDesignBlockLayout | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1458 of file pcb_control.cpp.
References _, HTML_MESSAGE_BOX::AddHTML_Text(), ZONE::AddPolygon(), GENERAL_COLLECTOR::AllBoardItems, LSET::AllCuMask(), AppendBoard(), PCB_TOOL_BASE::board(), BuildConvexHull(), SHAPE::Centre(), EDA_ITEM::ClearFlags(), KIGEOM::CollectBoxCorners(), CONTINUE, SHAPE_POLY_SET::COutline(), DESIGN_BLOCK, PCB_IO_MGR::FindPlugin(), DESIGN_BLOCK_PANE::GetDesignBlock(), PCB_EDIT_FRAME::GetDesignBlockPane(), EDA_DRAW_FRAME::GetOverrideLocks(), PCB_SELECTION_TOOL::GetSelection(), group, GROUP_PLACEMENT, EDA_GROUP::HasDesignBlockLink(), EDA_ITEM::HasFlag(), BOARD_ITEM::IsConnected(), FOOTPRINT::IsLocked(), PCB_IO_MGR::KICAD_SEXP, RULE_AREA::m_center, RULE_AREA::m_components, RULE_AREA::m_designBlockItems, m_frame, RULE_AREA::m_generateEnabled, RULE_AREA::m_group, RULE_AREA::m_sourceType, TOOL_BASE::m_toolMgr, RULE_AREA::m_zone, MCT_SKIP_STRUCT, name, NO_HATCH, ZONE::Outline(), PCB_FOOTPRINT_T, PCB_GROUP_T, Pgm(), PR_CAN_ABORT, KIGEOM::RectifyPolygon(), MULTICHANNEL_TOOL::RepeatLayout(), result, BOARD_COMMIT::Revert(), PCB_TOOL_BASE::selection(), HTML_MESSAGE_BOX::SetDialogSizeInDU(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), ZONE::SetDoNotAllowVias(), ZONE::SetDoNotAllowZoneFills(), EDA_ITEM::SetFlags(), ZONE::SetHatchStyle(), ZONE::SetIsRuleArea(), ZONE::SetLayerSet(), ZONE::SetPlacementAreaEnabled(), ZONE::SetPlacementAreaSource(), ZONE::SetPlacementAreaSourceType(), ZONE::SetZoneName(), DIALOG_SHIM::ShowModal(), EDA_ITEM::Type(), and BOARD::Visit().
Referenced by setTransitions().
|
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().
|
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().
|
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 PCB_CONTROL::CollectAndEmbed3DModels | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2980 of file pcb_control.cpp.
References _, EMBEDDED_FILES::AddFile(), PCB_TOOL_BASE::board(), BOARD::Footprints(), PROJECT_PCB::Get3DCacheManager(), BOARD::GetEmbeddedFiles(), PROJECT::GetProjectPath(), S3D_CACHE::GetResolver(), FILEEXT::KiCadUriPrefix, m_frame, model, COMMIT::Modify(), BOARD_COMMIT::Push(), and resolver.
Referenced by setTransitions().
| int PCB_CONTROL::ContrastModeFeedback | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 398 of file pcb_control.cpp.
References _, PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, Pgm(), and HOTKEY_CYCLE_POPUP::Popup().
Referenced by setTransitions().
|
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().
| int PCB_CONTROL::CycleLayerPresets | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 677 of file pcb_control.cpp.
References LAYER_PAIR_SETTINGS::GetEnabledLayerPairs(), PCB_EVENTS::LayerPairPresetChangedByKeyEvent(), m_frame, TOOL_BASE::m_toolMgr, and LAYER_PAIR_SETTINGS::SetCurrentLayerPair().
Referenced by setTransitions().
| int PCB_CONTROL::DdAddLibrary | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 180 of file pcb_control.cpp.
References _, AddLibrary(), m_frame, TOOL_EVENT::Parameter(), and PROJECT.
Referenced by setTransitions().
| int PCB_CONTROL::DdAppendBoard | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2879 of file pcb_control.cpp.
References AppendBoard(), PCB_IO_MGR::FindPlugin(), PCB_IO_MGR::FindPluginTypeFromBoardPath(), m_frame, and TOOL_EVENT::Parameter().
Referenced by setTransitions().
| int PCB_CONTROL::DdImportFootprint | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 189 of file pcb_control.cpp.
References m_frame, and TOOL_EVENT::Parameter().
Referenced by setTransitions().
|
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().
|
static |
Definition at line 754 of file pcb_control.cpp.
References PCB_BASE_FRAME::GetDesignSettings(), KIGFX::VIEW::GetGAL(), KIGFX::VIEW::MarkDirty(), PCB_BASE_FRAME::OnModify(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), KIGFX::GAL::SetGridOrigin(), and EDA_ITEM::SetPosition().
Referenced by GridPlaceOrigin(), GridResetOrigin(), and PCB_BASE_EDIT_FRAME::PutDataInPreviousState().
| int PCB_CONTROL::FlipPcbView | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2938 of file pcb_control.cpp.
References PCB_DISPLAY_OPTIONS::m_FlipBoardView, and m_frame.
Referenced by setTransitions().
|
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().
|
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().
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().
| int PCB_CONTROL::GridPlaceOrigin | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 765 of file pcb_control.cpp.
References TOOL_INTERACTIVE::Activate(), PICKER_TOOL_BASE::ClearHandlers(), DoSetGridOrigin(), TOOL_BASE::getEditFrame(), TOOL_BASE::getView(), GRIDORIGIN, m_frame, m_gridOrigin, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), ACTIONS::pickerTool, PLACE, PICKER_TOOL_BASE::SetClickHandler(), and PICKER_TOOL_BASE::SetCursor().
Referenced by setTransitions().
| int PCB_CONTROL::GridResetOrigin | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 806 of file pcb_control.cpp.
References DoSetGridOrigin(), TOOL_BASE::getView(), GRIDORIGIN, m_frame, and m_gridOrigin.
Referenced by setTransitions().
| int PCB_CONTROL::HighContrastMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 368 of file pcb_control.cpp.
References DIMMED, PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, and NORMAL.
Referenced by setTransitions().
| int PCB_CONTROL::HighContrastModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 380 of file pcb_control.cpp.
References EVENTS::ContrastModeChangedByKeyEvent, DIMMED, HIDDEN, PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, TOOL_BASE::m_toolMgr, and NORMAL.
Referenced by setTransitions().
|
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().
| int PCB_CONTROL::InteractiveDelete | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 817 of file pcb_control.cpp.
References _, TOOL_INTERACTIVE::Activate(), SELECTION::Add(), ARROW, PCB_TOOL_BASE::board(), GENERAL_COLLECTOR::BoardLevelItems, SELECTION_TOOL::BrightenItem(), PICKER_TOOL_BASE::ClearHandlers(), GENERAL_COLLECTOR::Collect(), EDIT_TOOL::DeleteItems(), PCB_SELECTION_TOOL::FilterCollectedItems(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), GENERAL_COLLECTOR::FootprintItems, COLLECTOR::GetCount(), KIPLATFORM::UI::GetMousePosition(), TOOL_BASE::getView(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), HITTEST_THRESHOLD_PIXELS, KiROUND(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, m_pickerItem, m_statusPopup, COLLECTOR::m_Threshold, TOOL_BASE::m_toolMgr, ACTIONS::pickerTool, REMOVE, COLLECTOR::Remove(), PCB_SELECTION_TOOL::Selectable(), ACTIONS::selectionClear, PICKER_TOOL_BASE::SetClickHandler(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), PICKER_TOOL_BASE::SetSnapping(), and SELECTION_TOOL::UnbrightenItem().
Referenced by setTransitions().
|
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().
|
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().
| int PCB_CONTROL::IterateFootprint | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 198 of file pcb_control.cpp.
References FRAME_FOOTPRINT_VIEWER, m_frame, and TOOL_EVENT::Parameter().
Referenced by setTransitions().
| int PCB_CONTROL::LayerAlphaDec | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 647 of file pcb_control.cpp.
References KIGFX::COLOR4D::a, ALPHA_MIN, ALPHA_STEP, COLOR_SETTINGS::GetColor(), GetNetnameLayer(), IsCopperLayer(), m_frame, COLOR_SETTINGS::SetColor(), PCB_TOOL_BASE::view(), and ZONE_LAYER_FOR.
Referenced by setTransitions().
| int PCB_CONTROL::LayerAlphaInc | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 617 of file pcb_control.cpp.
References KIGFX::COLOR4D::a, ALPHA_MAX, ALPHA_STEP, COLOR_SETTINGS::GetColor(), GetNetnameLayer(), IsCopperLayer(), m_frame, COLOR_SETTINGS::SetColor(), PCB_TOOL_BASE::view(), and ZONE_LAYER_FOR.
Referenced by setTransitions().
| int PCB_CONTROL::LayerNext | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 478 of file pcb_control.cpp.
References LSET::AllCuMask(), B_Cu, PCB_TOOL_BASE::board(), BOARD::GetCopperLayerCount(), IsCopperLayer(), BOARD::IsLayerVisible(), m_frame, and LSET::UIOrder().
Referenced by setTransitions().
| int PCB_CONTROL::LayerPresetFeedback | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 710 of file pcb_control.cpp.
References _, LAYER_PAIR_SETTINGS::GetEnabledLayerPairs(), PCB_LAYER_PRESENTATION::getLayerPairName(), m_frame, Pgm(), HOTKEY_CYCLE_POPUP::Popup(), and PCB_TOOL_BASE::selection().
Referenced by setTransitions().
| int PCB_CONTROL::LayerPrev | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 537 of file pcb_control.cpp.
References LSET::AllCuMask(), PCB_TOOL_BASE::board(), F_Cu, BOARD::GetCopperLayerCount(), IsCopperLayer(), BOARD::IsLayerVisible(), m_frame, and LSET::UIOrder().
Referenced by setTransitions().
| int PCB_CONTROL::LayerSwitch | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 470 of file pcb_control.cpp.
References m_frame, and TOOL_EVENT::Parameter().
Referenced by setTransitions().
| int PCB_CONTROL::LayerToggle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 596 of file pcb_control.cpp.
References m_frame, PCB_SCREEN::m_Route_Layer_BOTTOM, and PCB_SCREEN::m_Route_Layer_TOP.
Referenced by setTransitions().
| int PCB_CONTROL::LoadFpFromBoard | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 160 of file pcb_control.cpp.
References FRAME_FOOTPRINT_EDITOR, and m_frame.
Referenced by setTransitions().
| int PCB_CONTROL::NetColorModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 424 of file pcb_control.cpp.
References ALL, m_frame, PCB_DISPLAY_OPTIONS::m_NetColorMode, OFF, and RATSNEST.
Referenced by setTransitions().
| int PCB_CONTROL::Paste | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1074 of file pcb_control.cpp.
References _, GENERAL_COLLECTOR::AllBoardItems, BOARD::AllConnectedItems(), PCB_TOOL_BASE::board(), FOOTPRINT::ClearTransientComponentClassNames(), CONTINUE, DisplayError(), BOARD::Drawings(), PCB_TOOL_BASE::footprint(), BOARD::Footprints(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, ADVANCED_CFG::GetCfg(), DIALOG_PASTE_SPECIAL::GetClearNets(), GetClipboardUTF8(), BOARD::GetFirstFootprint(), GetImageFromClipboard(), EDA_ITEM::GetParentGroup(), PCB_SELECTION_TOOL::GetSelection(), FOOTPRINT::GetTransientComponentClassNames(), group, BOARD::Groups(), DIALOG_PASTE_SPECIAL::HideClearNets(), TOOL_EVENT::IsAction(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), IsOK(), KEEP_ANNOTATIONS, m_frame, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, BOARD::MapNets(), NETINFO_LIST::OrphanedItem(), CLIPBOARD_IO::Parse(), EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::pasteCellsIntoSelection(), pasteFootprintItemsToFootprintEditor(), ACTIONS::pasteSpecial, PCB_BARCODE_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_SHAPE_T, PCB_T, PCB_TABLE_T, PCB_TABLECELL_T, PCB_TEXT_T, PCB_TEXTBOX_T, placeBoardItems(), pruneItemLayers(), BOARD_COMMIT::Push(), REMOVE_ANNOTATIONS, BOARD::RemoveAll(), EDA_GROUP::RemoveItem(), FOOTPRINT::ResolveComponentClassNames(), result, BOARD_COMMIT::Revert(), PCB_TOOL_BASE::selection(), EDA_ITEM::SetParent(), FOOTPRINT::SetReference(), DIALOG_SHIM::ShowModal(), EDA_ITEM::Type(), UNIQUE_ANNOTATIONS, EDIT_TABLE_TOOL_BASE< T_TABLE, T_TABLECELL, T_COMMIT >::validatePasteIntoSelection(), and BOARD::Visit().
Referenced by setTransitions().
|
private |
Definition at line 1915 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), BOARD::GetItemSet(), IS_NEW, PCB_MARKER_T, placeBoardItems(), pruneItemLayers(), BOARD::RemoveAll(), and SKIP_STRUCT.
|
private |
Add and select or just select for move/place command a list of board items.
| aItems | is the list of items |
| aIsNew | = true to add items to the current board, false to just select if items are already managed by the current board |
| aAnchorAtOrigin | = true if the items are translated so that the anchor is {0, 0} (if false, the top-left item's origin will be used) |
| aReannotateDuplicates | = true to reannotate any footprints with a designator that already exist in the board. |
Definition at line 1954 of file pcb_control.cpp.
References COMMIT::Add(), COMMIT::Added(), BaseType(), PCB_TOOL_BASE::board(), alg::contains(), PCB_TOOL_BASE::footprint(), PCB_SELECTION_TOOL::GetEnteredGroup(), PCB_SELECTION_TOOL::GetSelection(), TOOL_BASE::getViewControls(), PCB_TOOL_BASE::m_isBoardEditor, TOOL_BASE::m_toolMgr, COMMIT::Modify(), PCB_ACTIONS::move, NO_RECURSE, PCB_DIMENSION_T, PCB_FOOTPRINT_T, RECURSE, BOARD_ITEM::ResetUuid(), EVENTS::SelectedEvent, PCB_TOOL_BASE::selection(), ACTIONS::selectionClear, ACTIONS::selectItems, and KIGFX::VIEW_CONTROLS::SetCursorPosition().
Referenced by AppendBoard(), Paste(), placeBoardItems(), PlaceCharacteristics(), and PlaceStackup().
| int PCB_CONTROL::PlaceCharacteristics | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2899 of file pcb_control.cpp.
References _, Build_Board_Characteristics_Table(), m_frame, placeBoardItems(), BOARD_COMMIT::Push(), and table.
Referenced by setTransitions().
| int PCB_CONTROL::PlaceLinkedDesignBlock | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1821 of file pcb_control.cpp.
References _, AppendBoard(), TOOL_EVENT::Commit(), PCB_IO_MGR::FindPlugin(), DESIGN_BLOCK_PANE::GetDesignBlock(), PCB_EDIT_FRAME::GetDesignBlockPane(), PCB_SELECTION_TOOL::GetSelection(), group, PCB_IO_MGR::KICAD_SEXP, m_frame, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), PCB_GROUP_T, and PCB_TOOL_BASE::selection().
Referenced by setTransitions().
| int PCB_CONTROL::PlaceStackup | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2918 of file pcb_control.cpp.
References _, Build_Board_Stackup_Table(), m_frame, placeBoardItems(), BOARD_COMMIT::Push(), and table.
Referenced by setTransitions().
| int PCB_CONTROL::Print | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 458 of file dialog_print_pcbnew.cpp.
References DIALOG_PRINT_GENERIC::ForcePrintBorder(), PCBNEW_PRINTOUT_SETTINGS::Load(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, ACTIONS::selectionClear, and DIALOG_SHIM::ShowModal().
Referenced by setTransitions().
|
private |
Helper for pasting.
Remove non-enabled layers from the items in aItems. If an item exists only on non-enabled layers, it will be removed entirely.
Definition at line 1007 of file pcb_control.cpp.
References _, PCB_TOOL_BASE::board(), DisplayError(), FRAME_FOOTPRINT_EDITOR, BOARD::GetEnabledLayers(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GROUP_T, and PCB_VIA_T.
Referenced by Paste(), and placeBoardItems().
| int PCB_CONTROL::Quit | ( | const TOOL_EVENT & | aEvent | ) |
| int PCB_CONTROL::RatsnestModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 440 of file pcb_control.cpp.
References ALL, PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), LAYER_RATSNEST, m_frame, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_RatsnestMode, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_ShowGlobalRatsnest, PCB_DRAW_PANEL_GAL::RedrawRatsnest(), EDA_DRAW_PANEL_GAL::Refresh(), and VISIBLE.
Referenced by setTransitions().
| int PCB_CONTROL::Redo | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2315 of file pcb_control.cpp.
References dummy, m_frame, and PCB_BASE_EDIT_FRAME::RestoreCopyFromRedoList().
Referenced by setTransitions().
|
static |
Regenerate and redraw an item's hatching, skipping non-hatched shapes. Static for testing.
Definition at line 2948 of file pcb_control.cpp.
References EDA_SHAPE::IsHatchedFill(), PCB_SHAPE_T, EDA_ITEM::Type(), KIGFX::VIEW::Update(), and PCB_SHAPE::UpdateHatching().
Referenced by BOOST_AUTO_TEST_CASE(), and RehatchShapes().
| int PCB_CONTROL::RehatchShapes | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2966 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::footprint(), NO_RECURSE, rehatchBoardItem(), and PCB_TOOL_BASE::view().
Referenced by setTransitions().
|
overridevirtual |
Bring the tool to a known, initial state.
If the tool claimed anything from the model or the view, it must release it when its reset.
| aReason | contains information about the reason of tool reset. |
Reimplemented from PCB_TOOL_BASE.
Definition at line 122 of file pcb_control.cpp.
References KIGFX::VIEW::Add(), PCB_TOOL_BASE::board(), KIGFX::COLOR4D::Brighten(), KIGFX::COLOR4D::Darken(), TOOL_BASE::GAL_SWITCH, TOOL_BASE::getEditFrame(), TOOL_BASE::getView(), m_frame, m_gridOrigin, TOOL_BASE::MODEL_RELOAD, TOOL_BASE::REDRAW, and KIGFX::VIEW::Remove().
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 73 of file tool_interactive.cpp.
|
inherited |
Call a function using the main stack.
| aFunc | is the function to be calls. |
Definition at line 102 of file tool_interactive.cpp.
Referenced by DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawTable(), KICAD_MANAGER_CONTROL::NewProject(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), BOARD_EDITOR_CONTROL::ShowEeschema(), and BOARD_EDITOR_CONTROL::UpdatePCBFromSchematic().
| int PCB_CONTROL::SaveFpToBoard | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 169 of file pcb_control.cpp.
References FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_VIEWER, and m_frame.
Referenced by setTransitions().
| int PCB_CONTROL::SaveToLinkedDesignBlock | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1877 of file pcb_control.cpp.
References _, DESIGN_BLOCK_PANE::GetDesignBlock(), PCB_EDIT_FRAME::GetDesignBlockPane(), PCB_SELECTION_TOOL::GetSelection(), group, m_frame, TOOL_BASE::m_toolMgr, PCB_GROUP_T, PCB_TOOL_BASE::selection(), DESIGN_BLOCK_PANE::SelectLibId(), and PCB_ACTIONS::updateDesignBlockFromSelection.
Referenced by setTransitions().
|
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 |
< Sets up handlers for various events.
Reimplemented from PCB_TOOL_BASE.
Definition at line 3071 of file pcb_control.cpp.
References AddLibrary(), ACTIONS::addLibrary, PCB_ACTIONS::appendBoard, AppendBoardFromFile(), AppendDesignBlock(), ApplyDesignBlockLayout(), PCB_ACTIONS::applyDesignBlockLayout, EVENTS::ClearedEvent, PCB_ACTIONS::collect3DModels, CollectAndEmbed3DModels(), EVENTS::ConnectivityChangedEvent, EVENTS::ContrastModeChangedByKeyEvent, ContrastModeFeedback(), CycleLayerPresets(), DdAddLibrary(), ACTIONS::ddAddLibrary, DdAppendBoard(), PCB_ACTIONS::ddAppendBoard, DdImportFootprint(), PCB_ACTIONS::ddImportFootprint, ACTIONS::deleteTool, PCB_ACTIONS::flipBoard, FlipPcbView(), TOOL_INTERACTIVE::Go(), GridPlaceOrigin(), GridResetOrigin(), ACTIONS::gridResetOrigin, ACTIONS::gridSetOrigin, HighContrastMode(), ACTIONS::highContrastMode, HighContrastModeCycle(), ACTIONS::highContrastModeCycle, InteractiveDelete(), IterateFootprint(), LayerAlphaDec(), PCB_ACTIONS::layerAlphaDec, LayerAlphaInc(), PCB_ACTIONS::layerAlphaInc, PCB_ACTIONS::layerBottom, PCB_ACTIONS::layerInner1, PCB_ACTIONS::layerInner10, PCB_ACTIONS::layerInner11, PCB_ACTIONS::layerInner12, PCB_ACTIONS::layerInner13, PCB_ACTIONS::layerInner14, PCB_ACTIONS::layerInner15, PCB_ACTIONS::layerInner16, PCB_ACTIONS::layerInner17, PCB_ACTIONS::layerInner18, PCB_ACTIONS::layerInner19, PCB_ACTIONS::layerInner2, PCB_ACTIONS::layerInner20, PCB_ACTIONS::layerInner21, PCB_ACTIONS::layerInner22, PCB_ACTIONS::layerInner23, PCB_ACTIONS::layerInner24, PCB_ACTIONS::layerInner25, PCB_ACTIONS::layerInner26, PCB_ACTIONS::layerInner27, PCB_ACTIONS::layerInner28, PCB_ACTIONS::layerInner29, PCB_ACTIONS::layerInner3, PCB_ACTIONS::layerInner30, PCB_ACTIONS::layerInner4, PCB_ACTIONS::layerInner5, PCB_ACTIONS::layerInner6, PCB_ACTIONS::layerInner7, PCB_ACTIONS::layerInner8, PCB_ACTIONS::layerInner9, LayerNext(), PCB_ACTIONS::layerNext, PCB_EVENTS::LayerPairPresetChangedByKeyEvent(), PCB_ACTIONS::layerPairPresetsCycle, LayerPresetFeedback(), LayerPrev(), PCB_ACTIONS::layerPrev, LayerSwitch(), LayerToggle(), PCB_ACTIONS::layerToggle, PCB_ACTIONS::layerTop, LoadFpFromBoard(), PCB_ACTIONS::loadFpFromBoard, PCB_ACTIONS::magneticSnapActiveLayer, PCB_ACTIONS::magneticSnapAllLayers, PCB_ACTIONS::magneticSnapToggle, NetColorModeCycle(), PCB_ACTIONS::netColorModeCycle, ACTIONS::newLibrary, PCB_ACTIONS::nextFootprint, Paste(), ACTIONS::paste, ACTIONS::pasteSpecial, PlaceCharacteristics(), PCB_ACTIONS::placeCharacteristics, PCB_ACTIONS::placeDesignBlock, PlaceLinkedDesignBlock(), PCB_ACTIONS::placeLinkedDesignBlock, PlaceStackup(), PCB_ACTIONS::placeStackup, EVENTS::PointSelectedEvent, PCB_ACTIONS::previousFootprint, Print(), ACTIONS::print, PCB_ACTIONS::ratsnestLineMode, RatsnestModeCycle(), PCB_ACTIONS::ratsnestModeCycle, Redo(), ACTIONS::redo, RehatchShapes(), PCB_ACTIONS::rehatchShapes, SaveFpToBoard(), PCB_ACTIONS::saveFpToBoard, SaveToLinkedDesignBlock(), PCB_ACTIONS::saveToLinkedDesignBlock, EVENTS::SelectedEvent, EVENTS::SelectedItemsModified, PCB_ACTIONS::showRatsnest, SnapMode(), SnapModeFeedback(), PCB_EVENTS::SnappingModeChangedByKeyEvent(), ToggleRatsnest(), TrackDisplayMode(), PCB_ACTIONS::trackDisplayMode, Undo(), ACTIONS::undo, EVENTS::UnselectedEvent, UpdateMessagePanel(), ViaDisplayMode(), PCB_ACTIONS::viaDisplayMode, PCB_ACTIONS::zoneDisplayFilled, PCB_ACTIONS::zoneDisplayFractured, ZoneDisplayMode(), PCB_ACTIONS::zoneDisplayOutline, PCB_ACTIONS::zoneDisplayToggle, and PCB_ACTIONS::zoneDisplayTriangulated.
| int PCB_CONTROL::SnapMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2327 of file pcb_control.cpp.
References MAGNETIC_SETTINGS::allLayers, TOOL_EVENT::IsAction(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, PCB_ACTIONS::magneticSnapActiveLayer, PCB_ACTIONS::magneticSnapAllLayers, and PCB_EVENTS::SnappingModeChangedByKeyEvent().
Referenced by setTransitions().
| int PCB_CONTROL::SnapModeFeedback | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2346 of file pcb_control.cpp.
References _, MAGNETIC_SETTINGS::allLayers, m_frame, PCB_TOOL_BASE::m_isFootprintEditor, Pgm(), and HOTKEY_CYCLE_POPUP::Popup().
Referenced by setTransitions().
| int PCB_CONTROL::ToggleRatsnest | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 236 of file pcb_control.cpp.
References PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), Flip(), TOOL_EVENT::IsAction(), LAYER_RATSNEST, m_frame, PCB_ACTIONS::ratsnestLineMode, PCB_DRAW_PANEL_GAL::RedrawRatsnest(), EDA_DRAW_PANEL_GAL::Refresh(), and PCB_ACTIONS::showRatsnest.
Referenced by setTransitions().
| int PCB_CONTROL::TrackDisplayMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 214 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), Flip(), BOARD_ITEM::IsOnCopperLayer(), PCB_ARC_T, PCB_SHAPE_T, PCB_TRACE_T, EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::REPAINT, KIGFX::PCB_VIEW::Update(), and PCB_TOOL_BASE::view().
Referenced by setTransitions().
| int PCB_CONTROL::Undo | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2303 of file pcb_control.cpp.
References dummy, m_frame, and PCB_BASE_EDIT_FRAME::RestoreCopyFromUndoList().
Referenced by setTransitions().
|
private |
We have bug reports indicating that some new users confuse zone filling/unfilling with the display modes.
This will put up a warning if they show zone fills when one or more zones are unfilled.
Definition at line 281 of file pcb_control.cpp.
References _, WX_INFOBAR::AddButton(), PCB_TOOL_BASE::board(), PGM_BASE::GetCommonSettings(), KeyNameFromKeyCode(), COMMON_SETTINGS::m_DoNotShowAgain, m_frame, Pgm(), WX_INFOBAR::RemoveAllButtons(), WX_INFOBAR::ShowMessageFor(), COMMON_SETTINGS::DO_NOT_SHOW_AGAIN::zone_fill_warning, and PCB_ACTIONS::zoneFillAll.
Referenced by ZoneDisplayMode().
| int PCB_CONTROL::UpdateMessagePanel | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2370 of file pcb_control.cpp.
References _, actual, PADSTACK::ALL_LAYERS, LSET::AllCuMask(), ARC, ARC_LOW_DEF, AREA, BEZIER, center, CLEARANCE_CONSTRAINT, LSET::Contains(), LSET::CuStack(), DIFF_PAIR_GAP_CONSTRAINT, VECTOR2< int32_t >::ECOORD_MAX, EDGE_CLEARANCE_CONSTRAINT, Edge_Cuts, ERROR_INSIDE, ERROR_OUTSIDE, BOARD_ITEM::GetEffectiveHoleShape(), BOARD_ITEM::GetEffectiveShape(), PCB_TRACK::GetEnd(), EDA_ITEM::GetItemDescription(), BOARD_CONNECTED_ITEM::GetLayer(), BOARD_ITEM::GetLayer(), BOARD_ITEM::GetLayerSet(), EDA_SHAPE::GetLength(), GetMsgPanelDisplayUuid(), EDA_ITEM::GetMsgPanelInfo(), FOOTPRINT::GetMsgPanelInfo(), DRC_CONSTRAINT::GetName(), BOARD_CONNECTED_ITEM::GetNet(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_SELECTION_TOOL::GetSelection(), EDA_SHAPE::GetShape(), PCB_TRACK::GetStart(), group, BOARD_ITEM::HasHole(), PAD::HasHole(), MINOPTMAX< T >::HasMax(), HOLE_CLEARANCE_CONSTRAINT, IsCopperLayer(), BOARD_ITEM::IsOnCopperLayer(), BOARD_ITEM::IsOnLayer(), m_frame, PCB_TOOL_BASE::m_isBoardEditor, TOOL_BASE::m_toolMgr, EDA_ITEM::m_Uuid, DRC_CONSTRAINT::m_Value, Margin, MINOPTMAX< T >::Max(), MAX_UNCOUPLED_CONSTRAINT, MINOPTMAX< T >::Min(), NO_RECURSE, NOT_USED, pad, PCB_ARC_T, PCB_FOOTPRINT_T, PCB_MARKER_T, PCB_PAD_T, PCB_SHAPE_T, PCB_TRACE_T, PCB_VIA_T, RECURSE, SEGMENT, PCB_TOOL_BASE::selection(), PAD::ShowPadShape(), SEG::SquaredDistance(), TransformCircleToPolygon(), EDA_ITEM::Type(), NETINFO_LIST::UNCONNECTED, UNDEFINED_LAYER, UnescapeString(), PCB_BASE_EDIT_FRAME::UpdateVertexEditorSelection(), DRC_CONSTRAINT::Value(), via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
| int PCB_CONTROL::ViaDisplayMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 261 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), Flip(), PCB_VIA_T, EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::REPAINT, KIGFX::PCB_VIEW::Update(), and PCB_TOOL_BASE::view().
Referenced by setTransitions().
|
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().
| int PCB_CONTROL::ZoneDisplayMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 322 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::canvas(), TOOL_EVENT::IsAction(), m_frame, PCB_DISPLAY_OPTIONS::m_ZoneDisplayMode, EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::REPAINT, SHOW_FILLED, SHOW_FRACTURE_BORDERS, SHOW_TRIANGULATION, SHOW_ZONE_OUTLINE, unfilledZoneCheck(), KIGFX::PCB_VIEW::Update(), PCB_TOOL_BASE::view(), PCB_ACTIONS::zoneDisplayFilled, PCB_ACTIONS::zoneDisplayFractured, PCB_ACTIONS::zoneDisplayOutline, PCB_ACTIONS::zoneDisplayToggle, and PCB_ACTIONS::zoneDisplayTriangulated.
Referenced by setTransitions().
|
private |
Definition at line 163 of file pcb_control.h.
Referenced by AddLibrary(), AppendBoard(), AppendBoardFromFile(), AppendDesignBlock(), ApplyDesignBlockLayout(), CollectAndEmbed3DModels(), ContrastModeFeedback(), CycleLayerPresets(), DdAddLibrary(), DdAppendBoard(), DdImportFootprint(), FlipPcbView(), GridPlaceOrigin(), GridResetOrigin(), HighContrastMode(), HighContrastModeCycle(), InteractiveDelete(), IterateFootprint(), LayerAlphaDec(), LayerAlphaInc(), LayerNext(), LayerPresetFeedback(), LayerPrev(), LayerSwitch(), LayerToggle(), LoadFpFromBoard(), NetColorModeCycle(), Paste(), PCB_CONTROL(), PlaceCharacteristics(), PlaceLinkedDesignBlock(), PlaceStackup(), Print(), pruneItemLayers(), RatsnestModeCycle(), Redo(), Reset(), SaveFpToBoard(), SaveToLinkedDesignBlock(), SnapMode(), SnapModeFeedback(), ToggleRatsnest(), Undo(), unfilledZoneCheck(), UpdateMessagePanel(), and ZoneDisplayMode().
|
private |
Definition at line 165 of file pcb_control.h.
Referenced by GridPlaceOrigin(), GridResetOrigin(), PCB_CONTROL(), and Reset().
|
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 167 of file pcb_control.h.
Referenced by InteractiveDelete(), and PCB_CONTROL().
|
private |
Definition at line 169 of file pcb_control.h.
Referenced by InteractiveDelete().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), GetId(), IsToolActive(), and TOOL_BASE().
|
protectedinherited |
Definition at line 220 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), GROUP_TOOL::AddToGroup(), PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), attachManager(), SCH_SELECTION_TOOL::autostartEvent(), EDIT_TOOL::BooleanPolygons(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), BOARD_EDITOR_CONTROL::ChangeLineMode(), FOOTPRINT_EDITOR_CONTROL::ChangeLineMode(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), GERBVIEW_CONTROL::ClearAllLayers(), BOARD_INSPECTION_TOOL::ClearHighlight(), PCB_SELECTION_TOOL::ClearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_SELECTION_TOOL::ClearSelection(), GERBVIEW_SELECTION_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), PCB_GROUP_TOOL::createCommit(), SCH_GROUP_TOOL::createCommit(), MICROWAVE_TOOL::createInductorBetween(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::Cursor45Crosshairs(), COMMON_TOOLS::CursorControl(), COMMON_TOOLS::CursorFullCrosshairs(), COMMON_TOOLS::CursorSmallCrosshairs(), PCB_CONTROL::CycleLayerPresets(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), PCB_SELECTION_TOOL::doSyncSelection(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawOneBezier(), DRAWING_TOOL::DrawRectangle(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), EDIT_TOOL::Duplicate(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PCB_SELECTION_TOOL::EnterGroup(), SCH_SELECTION_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), KICAD_MANAGER_CONTROL::Execute(), PCB_SELECTION_TOOL::ExitGroup(), SCH_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), EDA_3D_CONTROLLER::ExportImage(), PCB_EDIT_TABLE_TOOL::ExportTableToCSV(), PCB_SELECTION_TOOL::extendTableCellSelectionTo(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), DRC_TOOL::FixDRCError(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), GetManager(), getModelInternal(), DRAWING_TOOL::getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), getToolHolderInternal(), PCB_EDIT_TABLE_TOOL::getToolMgr(), getView(), getViewControls(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFast1(), COMMON_TOOLS::GridFast2(), COMMON_TOOLS::GridFastCycle(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), PCB_GROUP_TOOL::Group(), SCH_GROUP_TOOL::Group(), EDIT_TOOL::HealShapes(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), BOARD_INSPECTION_TOOL::HighlightNetChain(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), ALIGN_DISTRIBUTE_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), FOOTPRINT_CHOOSER_SELECTION_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::Init(), SCH_TOOL_BASE< T >::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), PCB_CONTROL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), SCH_TOOL_BASE< T >::InteractiveDelete(), POSITION_RELATIVE_TOOL::InteractiveOffset(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), IsToolActive(), EDIT_TOOL::JustifyText(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EDA_3D_CONTROLLER::Main(), GERBVIEW_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), SCH_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_VIEWER_TOOLS::NextLineMode(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performRouting(), BOARD_INSPECTION_TOOL::pickItemForInspection(), PCB_GROUP_TOOL::PickNewMember(), SCH_GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PCB_CONTROL::PlaceLinkedDesignBlock(), DRAWING_TOOL::PlaceReferenceImage(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), SCH_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDA_3D_CONTROLLER::ReloadBoard(), EDIT_TOOL::Remove(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), SCH_SELECTION_TOOL::RequestSelection(), COMMON_TOOLS::Reset(), DIFF_PHASE_SKEW_TOOL::Reset(), EDA_3D_CONTROLLER::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PNS::TOOL_BASE::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::restoreSelection(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::runSimpleShapeDraw(), DRC_TOOL::RunTests(), PCB_CONTROL::SaveToLinkedDesignBlock(), SCH_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::SelectAll(), SCH_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectColumns(), SCH_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), SCH_SELECTION_TOOL::selectLasso(), PCB_SELECTION_TOOL::SelectMultiple(), SCH_SELECTION_TOOL::SelectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), PCB_SELECTION_TOOL::selectNetChain(), SCH_SELECTION_TOOL::SelectNext(), PL_SELECTION_TOOL::SelectPoint(), SCH_SELECTION_TOOL::SelectPoint(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), SCH_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_SELECTION_TOOL::SelectPolyArea(), SCH_SELECTION_TOOL::SelectPrevious(), PCB_SELECTION_TOOL::SelectRectArea(), PCB_SELECTION_TOOL::SelectRows(), SCH_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), PCB_SELECTION_TOOL::SelectTable(), SCH_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), SCH_SELECTION_TOOL::selectTableCells(), DRAWING_TOOL::SetAnchor(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), PCB_SELECTION_TOOL::SetSelectPoly(), SCH_SELECTION_TOOL::SetSelectPoly(), PCB_SELECTION_TOOL::SetSelectRect(), SCH_SELECTION_TOOL::SetSelectRect(), DRC_TOOL::ShowDesignRuleEditorDialog(), DIFF_PHASE_SKEW_TOOL::ShowDiffPhaseSkew(), DRC_TOOL::ShowDRCDialog(), DRC_RULE_EDITOR_TOOL::ShowDRCRuleEditorDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::SimplifyPolygons(), PCB_CONTROL::SnapMode(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_SELECTION_TOOL::SyncSelection(), COMMON_TOOLS::ToggleCursor(), EDIT_TOOL::ToggleFootprintAttribute(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleRaytracing(), PCB_SELECTION_TOOL::toggleTableCellSelection(), EDA_3D_CONTROLLER::ToggleVisibility(), TOOL_BASE(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_SELECTION_TOOL::UnselectAll(), SCH_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), GERBVIEW_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 219 of file tool_base.h.
Referenced by GetName(), and TOOL_BASE().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by GetType(), and TOOL_BASE().