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 } |
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. More... | |
int | AddLibrary (const TOOL_EVENT &aEvent) |
int | Print (const TOOL_EVENT &aEvent) |
int | Quit (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 | 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 | DeleteItemCursor (const TOOL_EVENT &aEvent) |
int | Paste (const TOOL_EVENT &aEvent) |
int | AppendBoardFromFile (const TOOL_EVENT &aEvent) |
int | AppendBoard (PLUGIN &pi, wxString &fileName) |
int | UpdateMessagePanel (const TOOL_EVENT &aEvent) |
int | FlipPcbView (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. More... | |
void | SetIsFootprintEditor (bool aEnabled) |
Function SetIsFootprintEditor() More... | |
bool | IsFootprintEditor () const |
void | SetIsBoardEditor (bool aEnabled) |
bool | IsBoardEditor () const |
virtual bool | Is45Limited () const |
Should the tool use its 45° mode option? More... | |
void | Activate () |
Run the tool. More... | |
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. More... | |
void | RunMainStack (std::function< void()> aFunc) |
Call a function using the main stack. More... | |
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). More... | |
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. More... | |
TOOL_TYPE | GetType () const |
Return the type of the tool. More... | |
TOOL_ID | GetId () const |
Return the unique identifier of the tool. More... | |
const std::string & | GetName () const |
Return the name of the tool. More... | |
TOOL_MANAGER * | GetManager () const |
Return the instance of TOOL_MANAGER that takes care of the tool. More... | |
bool | IsToolActive () const |
Static Public Member Functions | |
static void | DoSetGridOrigin (KIGFX::VIEW *aView, PCB_BASE_FRAME *aFrame, EDA_ITEM *originViewItem, const VECTOR2D &aPoint) |
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. More... | |
KIGFX::PCB_VIEW * | view () const |
KIGFX::VIEW_CONTROLS * | controls () const |
PCB_BASE_EDIT_FRAME * | 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. More... | |
KIGFX::VIEW * | getView () const |
Returns the instance of #VIEW object used in the application. More... | |
KIGFX::VIEW_CONTROLS * | getViewControls () const |
Return the instance of VIEW_CONTROLS object used in the application. More... | |
template<typename T > | |
T * | getEditFrame () const |
Return the application window object, casted to requested user type. More... | |
template<typename T > | |
T * | getModel () const |
Return the model object if it matches the requested type. More... | |
Protected Attributes | |
bool | m_isFootprintEditor |
bool | m_isBoardEditor |
TOOL_MENU | m_menu |
The functions below are not yet implemented - their interface may change. More... | |
TOOL_TYPE | m_type |
Unique identifier for the tool, assigned by a TOOL_MANAGER instance. More... | |
TOOL_ID | m_toolId |
Name of the tool. More... | |
std::string | m_toolName |
TOOL_MANAGER * | m_toolMgr |
Private Member Functions | |
void | setTransitions () override |
< Sets up handlers for various events. More... | |
void | unfilledZoneCheck () |
We have bug reports indicating that some new users confuse zone filling/unfilling with the display modes. More... | |
void | pruneItemLayers (std::vector< BOARD_ITEM * > &aItems) |
Helper for pasting. More... | |
bool | placeBoardItems (BOARD_COMMIT *aCommit, std::vector< BOARD_ITEM * > &aItems, bool aIsNew, bool aAnchorAtOrigin, bool aReannotateDuplicates) |
Add and select or just select for move/place command a list of board items. More... | |
bool | placeBoardItems (BOARD_COMMIT *aCommit, BOARD *aBoard, bool aAnchorAtOrigin, bool aReannotateDuplicates) |
Pointer to the currently used edit frame. More... | |
void | resetTransitions () |
Clear the current transition map and restores the default one created by setTransitions(). More... | |
void | goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions) |
EDA_ITEM * | getModelInt () const |
TOOLS_HOLDER * | getToolHolderInt () const |
Private Attributes | |
PCB_BASE_FRAME * | m_frame |
Grid origin marker. More... | |
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 46 of file pcb_control.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 121 of file pcb_tool_base.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
PCB_CONTROL::PCB_CONTROL | ( | ) |
Definition at line 75 of file pcb_control.cpp.
References m_gridOrigin.
PCB_CONTROL::~PCB_CONTROL | ( | ) |
Definition at line 84 of file pcb_control.cpp.
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 51 of file tool_interactive.cpp.
References TOOL_MANAGER::InvokeTool(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), SCH_EDIT_TOOL::DeleteItemCursor(), SYMBOL_EDITOR_EDIT_TOOL::DeleteItemCursor(), PL_EDIT_TOOL::DeleteItemCursor(), DeleteItemCursor(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EE_POINT_EDITOR::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), GROUP_TOOL::PickNewMember(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), DRAWING_TOOL::SetAnchor(), DRC_TOOL::ShowDRCDialog(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
int PCB_CONTROL::AddLibrary | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 103 of file pcb_control.cpp.
References ACTIONS::addLibrary, PCB_BASE_EDIT_FRAME::AddLibrary(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, TOOL_EVENT::IsAction(), EDA_BASE_FRAME::IsType(), m_frame, and ACTIONS::newLibrary.
Referenced by DdAddLibrary(), and setTransitions().
int PCB_CONTROL::AppendBoard | ( | PLUGIN & | pi, |
wxString & | fileName | ||
) |
Definition at line 1212 of file pcb_control.cpp.
References _, PCB_TOOL_BASE::board(), BOARD::BuildConnectivity(), BOARD::BuildListOfNets(), DisplayError(), KIDIALOG::DoNotShowCheckbox(), BOARD::Drawings(), PCB_TOOL_BASE::footprint(), BOARD::Footprints(), BOARD::GetCopperLayerCount(), PCB_BASE_FRAME::GetDesignSettings(), BOARD::GetEnabledLayers(), BOARD::GetPageSettings(), PCB_BASE_FRAME::GetPageSizeIU(), BOARD::GetProperties(), BOARD::GetTitleBlock(), group, BOARD::Groups(), PLUGIN::LoadBoard(), m_frame, BOARD_DESIGN_SETTINGS::m_NetSettings, placeBoardItems(), BOARD_COMMIT::Push(), BOARD_COMMIT::Revert(), BOARD::SetCopperLayerCount(), BOARD::SetEnabledLayers(), EDA_ITEM::SetFlags(), BOARD::SetPageSettings(), BOARD::SetProperties(), PLUGIN::SetQueryUserCallback(), BOARD::SetTitleBlock(), BOARD::SetVisibleLayers(), KIDIALOG::ShowModal(), SKIP_STRUCT, BOARD::SynchronizeNetsAndNetClasses(), BOARD::Tracks(), IO_ERROR::What(), VECTOR2< T >::x, VECTOR2< T >::y, and BOARD::Zones().
Referenced by AppendBoardFromFile(), and DdAppendBoard().
int PCB_CONTROL::AppendBoardFromFile | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1010 of file pcb_control.cpp.
References AppendBoard(), AskLoadBoardFileName(), IO_MGR::FindPluginTypeFromBoardPath(), KICTL_KICAD_ONLY, m_frame, and IO_MGR::PluginFind().
Referenced by setTransitions().
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 60 of file tool_base.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotectedinherited |
Definition at line 170 of file pcb_tool_base.h.
Referenced by AppendBoard(), BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplace(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), ROUTER_TOOL::CustomTrackWidthDialog(), DeleteItemCursor(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawShape(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportNetlist(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), PCB_TOOL_BASE::footprint(), GROUP_TOOL::Group(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), LayerNext(), LayerPrev(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PAD_TOOL::OnUndoRedo(), Paste(), placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), pruneItemLayers(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), PNS::TOOL_BASE::Reset(), PAD_TOOL::Reset(), Reset(), TrackDisplayMode(), unfilledZoneCheck(), GROUP_TOOL::Ungroup(), ROUTER_TOOL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterLayerSwitch(), ViaDisplayMode(), ZoneDisplayMode(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
|
protectedinherited |
Definition at line 311 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame(), and PCB_BASE_FRAME::GetCanvas().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::exitPadEditMode(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), LENGTH_TUNER_TOOL::performTuning(), EDIT_TOOL::pickReferencePoint(), RatsnestModeCycle(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::refresh(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), ZONE_FILLER_TOOL::singleShotRefocus(), ToggleRatsnest(), TrackDisplayMode(), ViaDisplayMode(), ZoneDisplayMode(), and ZONE_FILLER_TOOL::ZoneFillDirty().
int PCB_CONTROL::ContrastModeFeedback | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 332 of file pcb_control.cpp.
References _, EDA_DRAW_FRAME::CreateHotkeyPopup(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetDisplayOptions(), EDA_DRAW_FRAME::GetHotkeyPopup(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, Pgm(), and HOTKEY_CYCLE_POPUP::Popup().
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 160 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawZone(), ROUTER_TOOL::finishInteractive(), ROUTER_TOOL::handleLayerSwitch(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), BOARD_EDITOR_CONTROL::PlaceFootprint(), ROUTER_TOOL::prepareInteractive(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
int PCB_CONTROL::DdAddLibrary | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 117 of file pcb_control.cpp.
References AddLibrary(), m_frame, and TOOL_EVENT::Parameter().
Referenced by setTransitions().
int PCB_CONTROL::DdAppendBoard | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1603 of file pcb_control.cpp.
References AppendBoard(), IO_MGR::FindPluginTypeFromBoardPath(), m_frame, TOOL_EVENT::Parameter(), and IO_MGR::PluginFind().
Referenced by setTransitions().
int PCB_CONTROL::DdImportFootprint | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 125 of file pcb_control.cpp.
References m_frame, TOOL_EVENT::Parameter(), and EDA_DRAW_FRAME::Zoom_Automatique().
Referenced by setTransitions().
int PCB_CONTROL::DeleteItemCursor | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 596 of file pcb_control.cpp.
References TOOL_INTERACTIVE::Activate(), SELECTION::Add(), PCB_TOOL_BASE::board(), GENERAL_COLLECTOR::BoardLevelItems, SELECTION_TOOL::BrightenItem(), GENERAL_COLLECTOR::Collect(), EDIT_TOOL::DeleteItems(), GENERAL_COLLECTOR::FootprintItems, PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::GetCollectorsGuide(), COLLECTOR::GetCount(), BOARD::GetFirstFootprint(), TOOL_MANAGER::GetTool(), TOOL_BASE::getView(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), HITTEST_THRESHOLD_PIXELS, BOARD_ITEM::IsLocked(), KiROUND(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, m_pickerItem, m_statusPopup, COLLECTOR::m_Threshold, TOOL_BASE::m_toolMgr, ACTIONS::pickerTool, EDA_DRAW_PANEL_GAL::Refresh(), COLLECTOR::Remove(), TOOL_MANAGER::RunAction(), PCB_SELECTION_TOOL::Selectable(), PCB_ACTIONS::selectionClear, PICKER_TOOL_BASE::SetClickHandler(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), PICKER_TOOL_BASE::SetCursor(), PICKER_TOOL_BASE::SetFinalizeHandler(), PICKER_TOOL_BASE::SetMotionHandler(), and SELECTION_TOOL::UnbrightenItem().
Referenced by setTransitions().
|
protectedinherited |
Definition at line 306 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetPcbNewSettings(), and PCBNEW_SETTINGS::m_Display.
Referenced by BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), RatsnestModeCycle(), ToggleRatsnest(), TrackDisplayMode(), and 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 42 of file pcb_tool_base.cpp.
References TOOL_INTERACTIVE::Activate(), SELECTION::Add(), KIGFX::VIEW_GROUP::Add(), KIGFX::PCB_VIEW::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), PCB_TOOL_BASE::controls(), INTERACTIVE_PLACER_BASE::CreateItem(), PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetCanvas(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), PCB_BASE_FRAME::GetModel(), TOOL_BASE::getView(), grid, PCB_TOOL_BASE::IPO_FLIP, PCB_TOOL_BASE::IPO_REPEAT, PCB_TOOL_BASE::IPO_ROTATE, PCB_TOOL_BASE::IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, PCB_BASE_EDIT_FRAME::OnEditItemRequest(), PCB_FOOTPRINT_T, INTERACTIVE_PLACER_BASE::PlaceItem(), TOOLS_HOLDER::PopTool(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), FOOTPRINT::RunOnChildren(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), EDA_ITEM::SetFlags(), TOOL_MENU::ShowContextMenu(), KIGFX::VIEW_CONTROLS::ShowCursor(), INTERACTIVE_PLACER_BASE::SnapItem(), TC_COMMAND, PCB_ACTIONS::trackViaSizeChanged, KIGFX::PCB_VIEW::Update(), PCB_TOOL_BASE::view(), and TOOL_INTERACTIVE::Wait().
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DRAWING_TOOL::DrawVia(), and PAD_TOOL::PlacePad().
|
static |
Definition at line 536 of file pcb_control.cpp.
References PCB_BASE_FRAME::GetDesignSettings(), KIGFX::VIEW::GetGAL(), KIGFX::VIEW::MarkDirty(), PCB_BASE_FRAME::OnModify(), KIGFX::GAL::SetGridOrigin(), BOARD_DESIGN_SETTINGS::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 1623 of file pcb_control.cpp.
References EDA_DRAW_PANEL_GAL::ForceRefresh(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::OnDisplayOptionsChanged(), KIGFX::VIEW::RecacheAllItems(), KIGFX::VIEW::SetMirror(), and PCB_TOOL_BASE::view().
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 172 of file pcb_tool_base.h.
References PCB_TOOL_BASE::board(), and BOARD::GetFirstFootprint().
Referenced by AppendBoard(), MICROWAVE_TOOL::createBaseFootprint(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawSpecificationStackup(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportNetlist(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_INSPECTION_TOOL::makeDRCEngine(), Paste(), placeBoardItems(), FOOTPRINT_EDITOR_CONTROL::Properties(), PAD_TOOL::pushPadSettings(), PAD_TOOL::RecombinePad(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), and DRAWING_TOOL::SetAnchor().
|
inlineprotectedinherited |
Definition at line 165 of file pcb_tool_base.h.
Referenced by PCB_POINT_EDITOR::addCorner(), AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::canvas(), ZONE_FILLER_TOOL::CheckAllZones(), PNS::TOOL_BASE::checkSnap(), ContrastModeFeedback(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), PCB_TOOL_BASE::displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EditPad(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::exitPadEditMode(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), ROUTER_TOOL::finishInteractive(), EDIT_TOOL::Flip(), FlipPcbView(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), HighContrastMode(), HighContrastModeCycle(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), SCRIPTING_TOOL::Init(), ROUTER_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::Is45Limited(), PCB_PICKER_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), LENGTH_TUNER_TOOL::meanderSettingsDialog(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::movePoint(), NetColorModeCycle(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), GROUP_TOOL::PickNewMember(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), pruneItemLayers(), PAD_TOOL::pushPadSettings(), RatsnestModeCycle(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), SCRIPTING_TOOL::reloadPlugins(), PCB_POINT_EDITOR::removeCorner(), PNS::TOOL_BASE::Reset(), PAD_TOOL::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::SelectCopperLayerPair(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), PCB_POINT_EDITOR::setEditedPoint(), ROUTER_TOOL::SettingsDialog(), GLOBAL_EDIT_TOOL::swapBoardItem(), GLOBAL_EDIT_TOOL::SwapLayers(), ROUTER_TOOL::switchLayerOnViaPlacement(), DRAWING_TOOL::ToggleHV45Mode(), ToggleRatsnest(), unfilledZoneCheck(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), ZoneDisplayMode(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
inlineprotectedinherited |
Return the application window object, casted to requested user type.
Definition at line 186 of file tool_base.h.
References TOOL_BASE::getToolHolderInt().
Referenced by ZONE_CREATE_HELPER::createNewZone(), and ZONE_CREATE_HELPER::setUniquePriority().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 122 of file tool_base.h.
References TOOL_BASE::m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 145 of file tool_base.h.
References TOOL_BASE::m_toolMgr.
Referenced by ZONE_CREATE_HELPER::commitZone(), ZONE_CREATE_HELPER::createNewZone(), PNS_KICAD_IFACE::DisplayItem(), PCB_TOOL_BASE::doInteractiveItemPlacement(), ACTION_MENU::getToolManager(), PNS_KICAD_IFACE::GetUnits(), makeShapeModificationMenu(), ZONE_CREATE_HELPER::OnFirstPoint(), ZONE_CREATE_HELPER::performZoneCutout(), and SCH_COMMIT::SCH_COMMIT().
|
inlineprotectedinherited |
Return the model object if it matches the requested type.
Store the type of the tool.
Definition at line 198 of file tool_base.h.
References TOOL_BASE::getModelInt().
Referenced by ZONE_CREATE_HELPER::commitZone(), and ZONE_CREATE_HELPER::createZoneFromExisting().
|
privateinherited |
Definition at line 54 of file tool_base.cpp.
References TOOL_MANAGER::GetModel(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getModel().
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 135 of file tool_base.h.
References TOOL_BASE::m_toolName.
Referenced by TOOL_MANAGER::dispatchInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
privateinherited |
Definition at line 48 of file tool_base.cpp.
References TOOL_MANAGER::GetToolHolder(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getEditFrame().
|
inlineinherited |
Definition at line 77 of file tool_interactive.h.
References TOOL_INTERACTIVE::m_menu.
Referenced by EE_INSPECTION_TOOL::Init(), EE_POINT_EDITOR::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), SYMBOL_EDITOR_MOVE_TOOL::Init(), SYMBOL_EDITOR_PIN_TOOL::Init(), PL_EDIT_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), CONVERT_TOOL::Init(), EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_POINT_EDITOR::Init(), and ALIGN_DISTRIBUTE_TOOL::Init().
|
inlineinherited |
Return the type of the tool.
Definition at line 110 of file tool_base.h.
References TOOL_BASE::m_type.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 36 of file tool_base.cpp.
References TOOL_MANAGER::GetView(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCornerCondition(), ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), COMMON_TOOLS::CenterContents(), EE_INSPECTION_TOOL::CheckSymbol(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::CollectHits(), SCH_LINE_WIRE_BUS_TOOL::computeBreakPoint(), COMMON_TOOLS::CursorControl(), SCH_EDIT_TOOL::DeleteItemCursor(), PL_EDIT_TOOL::DeleteItemCursor(), DeleteItemCursor(), EDIT_TOOL::DeleteItems(), PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), EE_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), GridPlaceOrigin(), GridResetOrigin(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), EE_SELECTION_TOOL::highlight(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), ROUTER_TOOL::prepareInteractive(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), EE_SELECTION_TOOL::Reset(), EE_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PNS::TOOL_BASE::Reset(), BOARD_EDITOR_CONTROL::Reset(), DRAWING_TOOL::Reset(), Reset(), PCB_SELECTION_TOOL::Reset(), SCH_EDIT_TOOL::Rotate(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectionContains(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), EE_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), DRAWING_TOOL::SetAnchor(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCExclusions(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), SCH_FIND_REPLACE_TOOL::UpdateFind(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), EE_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), EE_SELECTION_TOOL::~EE_SELECTION_TOOL(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), and PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 42 of file tool_base.cpp.
References TOOL_MANAGER::GetViewControls(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), PCB_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PAD_TOOL::EnumeratePads(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), PL_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), DRAWING_TOOL::Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), PCB_SELECTION_TOOL::selectCursor(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), EE_SELECTION_TOOL::SelectNode(), ZOOM_TOOL::selectRegion(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PICKER_TOOL::setControls(), PCB_PICKER_TOOL::setControls(), EE_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), PCB_POINT_EDITOR::setEditedPoint(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateItem(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 147 of file tool_interactive.h.
References TOOL_INTERACTIVE::goInternal().
Referenced by EDA_3D_CONTROLLER::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), EE_INSPECTION_TOOL::setTransitions(), EE_POINT_EDITOR::setTransitions(), EE_SELECTION_TOOL::setTransitions(), SCH_DRAWING_TOOLS::setTransitions(), SCH_EDIT_TOOL::setTransitions(), SCH_EDITOR_CONTROL::setTransitions(), SCH_FIND_REPLACE_TOOL::setTransitions(), SCH_LINE_WIRE_BUS_TOOL::setTransitions(), SCH_MOVE_TOOL::setTransitions(), SCH_NAVIGATE_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), SYMBOL_EDITOR_CONTROL::setTransitions(), SYMBOL_EDITOR_DRAWING_TOOLS::setTransitions(), SYMBOL_EDITOR_EDIT_TOOL::setTransitions(), SYMBOL_EDITOR_MOVE_TOOL::setTransitions(), SYMBOL_EDITOR_PIN_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), PICKER_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ZOOM_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_CALCULATOR_CONTROL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), MICROWAVE_TOOL::setTransitions(), SCRIPTING_TOOL::setTransitions(), LENGTH_TUNER_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), DRAWING_TOOL::setTransitions(), DRC_TOOL::setTransitions(), EDIT_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), PAD_TOOL::setTransitions(), setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), ALIGN_DISTRIBUTE_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), and ZONE_FILLER_TOOL::setTransitions().
|
privateinherited |
Definition at line 70 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::ScheduleNextState().
Referenced by TOOL_INTERACTIVE::Go().
int PCB_CONTROL::GridPlaceOrigin | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 547 of file pcb_control.cpp.
References TOOL_INTERACTIVE::Activate(), DoSetGridOrigin(), TOOL_MANAGER::GetTool(), TOOL_BASE::getView(), m_frame, m_gridOrigin, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, TOOL_EVENT::Parameter(), ACTIONS::pickerTool, TOOL_MANAGER::RunAction(), PCB_BASE_FRAME::SaveCopyInUndoList(), and PICKER_TOOL_BASE::SetClickHandler().
Referenced by setTransitions().
int PCB_CONTROL::GridResetOrigin | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 585 of file pcb_control.cpp.
References DoSetGridOrigin(), TOOL_BASE::getView(), m_frame, m_gridOrigin, and PCB_BASE_FRAME::SaveCopyInUndoList().
Referenced by setTransitions().
int PCB_CONTROL::HighContrastMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 301 of file pcb_control.cpp.
References PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetDisplayOptions(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, and PCB_BASE_FRAME::SetDisplayOptions().
Referenced by setTransitions().
int PCB_CONTROL::HighContrastModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 314 of file pcb_control.cpp.
References EVENTS::ContrastModeChangedByKeyEvent, PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetDisplayOptions(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, m_frame, TOOL_BASE::m_toolMgr, TOOL_MANAGER::PostEvent(), and PCB_BASE_FRAME::SetDisplayOptions().
Referenced by setTransitions().
|
overridevirtualinherited |
Init() is called once upon a registration of the tool.
Reimplemented from TOOL_BASE.
Reimplemented in SCRIPTING_TOOL, LENGTH_TUNER_TOOL, ROUTER_TOOL, BOARD_EDITOR_CONTROL, BOARD_INSPECTION_TOOL, BOARD_REANNOTATE_TOOL, DRAWING_TOOL, EDIT_TOOL, FOOTPRINT_EDITOR_CONTROL, GLOBAL_EDIT_TOOL, GROUP_TOOL, PAD_TOOL, PCB_POINT_EDITOR, and POSITION_RELATIVE_TOOL.
Definition at line 280 of file pcb_tool_base.cpp.
References CONDITIONAL_MENU::AddItem(), CONDITIONAL_MENU::AddSeparator(), ACTIONS::cancelInteractive, TOOL_MENU::GetMenu(), TOOL_INTERACTIVE::m_menu, and SELECTION_CONDITIONS::ShowAlways().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 333 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame(), FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), and Pgm().
Referenced by DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), and ZONE_CREATE_HELPER::OnFirstPoint().
|
inlineinherited |
Definition at line 109 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Definition at line 106 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
Referenced by EDIT_TOOL::DeleteItems(), EDIT_TOOL::Flip(), and PCB_GRID_HELPER::queryVisible().
|
inherited |
Definition at line 31 of file tool_base.cpp.
References TOOL_MANAGER::IsToolActive(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
int PCB_CONTROL::LayerAlphaDec | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 508 of file pcb_control.cpp.
References KIGFX::COLOR4D::a, ALPHA_MIN, ALPHA_STEP, PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetCanvas(), COLOR_SETTINGS::GetColor(), PCB_BASE_FRAME::GetColorSettings(), GetNetnameLayer(), PCB_DRAW_PANEL_GAL::GetView(), IsCopperLayer(), m_frame, COLOR_SETTINGS::SetColor(), PCB_DRAW_PANEL_GAL::UpdateColors(), KIGFX::VIEW::UpdateLayerColor(), PCB_TOOL_BASE::view(), and ZONE_LAYER_FOR.
Referenced by setTransitions().
int PCB_CONTROL::LayerAlphaInc | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 480 of file pcb_control.cpp.
References KIGFX::COLOR4D::a, ALPHA_MAX, ALPHA_STEP, PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetCanvas(), COLOR_SETTINGS::GetColor(), PCB_BASE_FRAME::GetColorSettings(), GetNetnameLayer(), PCB_DRAW_PANEL_GAL::GetView(), IsCopperLayer(), m_frame, COLOR_SETTINGS::SetColor(), PCB_DRAW_PANEL_GAL::UpdateColors(), KIGFX::VIEW::UpdateLayerColor(), PCB_TOOL_BASE::view(), and ZONE_LAYER_FOR.
Referenced by setTransitions().
int PCB_CONTROL::LayerNext | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 410 of file pcb_control.cpp.
References B_Cu, PCB_TOOL_BASE::board(), F_Cu, PCB_BASE_FRAME::GetActiveLayer(), IsCopperLayer(), BOARD::IsLayerVisible(), m_frame, PCB_BASE_FRAME::SwitchLayer(), and ToLAYER_ID().
Referenced by setTransitions().
int PCB_CONTROL::LayerPrev | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 433 of file pcb_control.cpp.
References B_Cu, PCB_TOOL_BASE::board(), F_Cu, PCB_BASE_FRAME::GetActiveLayer(), IsCopperLayer(), BOARD::IsLayerVisible(), m_frame, PCB_BASE_FRAME::SwitchLayer(), and ToLAYER_ID().
Referenced by setTransitions().
int PCB_CONTROL::LayerSwitch | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 402 of file pcb_control.cpp.
References m_frame, TOOL_EVENT::Parameter(), and PCB_BASE_FRAME::SwitchLayer().
Referenced by setTransitions().
int PCB_CONTROL::LayerToggle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 459 of file pcb_control.cpp.
References PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetScreen(), m_frame, PCB_SCREEN::m_Route_Layer_BOTTOM, PCB_SCREEN::m_Route_Layer_TOP, and PCB_BASE_FRAME::SwitchLayer().
Referenced by setTransitions().
int PCB_CONTROL::NetColorModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 359 of file pcb_control.cpp.
References PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetDisplayOptions(), m_frame, PCB_DISPLAY_OPTIONS::m_NetColorMode, and PCB_BASE_FRAME::SetDisplayOptions().
Referenced by setTransitions().
int PCB_CONTROL::Paste | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 840 of file pcb_control.cpp.
References _, GENERAL_COLLECTOR::AllBoardItems, PCB_TOOL_BASE::board(), EDA_DRAW_FRAME::DisplayToolMsg(), BOARD::Drawings(), PCB_TOOL_BASE::footprint(), BOARD::Footprints(), PCB_TOOL_BASE::frame(), FRAME_FOOTPRINT_EDITOR, FRAME_PCB_EDITOR, PCB_BASE_FRAME::GetBoard(), BOARD::GetFirstFootprint(), BOARD_ITEM::GetParentGroup(), group, BOARD::Groups(), TOOL_EVENT::IsAction(), EDA_BASE_FRAME::IsType(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, NETINFO_LIST::OrphanedItem(), CLIPBOARD_IO::Parse(), pasteFootprintItemsToFootprintEditor(), ACTIONS::pasteSpecial, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_FOOTPRINT_T, PCB_SHAPE_T, PCB_T, PCB_TEXT_T, PCB_TEXTBOX_T, placeBoardItems(), pruneItemLayers(), BOARD_COMMIT::Push(), PCB_GROUP::RemoveItem(), BOARD_COMMIT::Revert(), EDA_ITEM::SetParent(), FOOTPRINT::SetReference(), EDA_ITEM::Type(), and BOARD::Visit().
Referenced by setTransitions().
|
private |
Pointer to the currently used edit frame.
Definition at line 1096 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), BOARD::Drawings(), BOARD::Footprints(), BOARD::Groups(), moveUnflaggedItems(), placeBoardItems(), pruneItemLayers(), BOARD::Tracks(), and BOARD::Zones().
|
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 1121 of file pcb_control.cpp.
References COMMIT::Add(), COMMIT::Added(), PCB_GROUP::AddItem(), BaseType(), alg::contains(), PCB_TOOL_BASE::footprint(), PCB_SELECTION_TOOL::GetEnteredGroup(), BOARD_ITEM::GetParentGroup(), EDA_ITEM::GetPosition(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), PCB_SELECTION::GetTopLeftItem(), TOOL_BASE::getViewControls(), FOOTPRINT::GraphicalItems(), PCB_TOOL_BASE::m_isBoardEditor, TOOL_BASE::m_toolMgr, PCB_ACTIONS::move, PCB_DIMENSION_T, PCB_FOOTPRINT_T, TOOL_MANAGER::ProcessEvent(), TOOL_MANAGER::RunAction(), TOOL_MANAGER::RunSynchronousAction(), EVENTS::SelectedEvent, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItems, KIGFX::VIEW_CONTROLS::SetCursorPosition(), FOOTPRINT::SetPath(), SELECTION::SetReferencePoint(), and SELECTION::Size().
Referenced by AppendBoard(), Paste(), and placeBoardItems().
int PCB_CONTROL::Print | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 465 of file dialog_print_pcbnew.cpp.
References DIALOG_PRINT_GENERIC::ForcePrintBorder(), PCB_BASE_FRAME::GetPageSettings(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_BASE::m_toolMgr, TOOL_MANAGER::RunAction(), and PCB_ACTIONS::selectionClear.
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 753 of file pcb_control.cpp.
References _, B_Fab, B_SilkS, PCB_TOOL_BASE::board(), DisplayError(), F_Fab, F_SilkS, PCB_TOOL_BASE::frame(), FRAME_FOOTPRINT_EDITOR, BOARD::GetEnabledLayers(), BOARD_ITEM::GetLayer(), FOOTPRINT::GraphicalItems(), LSET::InternalCuMask(), FOOTPRINT::IsFlipped(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, FOOTPRINT::Pads(), PCB_FOOTPRINT_T, PCB_GROUP_T, FOOTPRINT::Reference(), FOOTPRINT::Remove(), BOARD_ITEM::SetLayer(), FOOTPRINT::Value(), and FOOTPRINT::Zones().
Referenced by Paste(), and placeBoardItems().
int PCB_CONTROL::Quit | ( | const TOOL_EVENT & | aEvent | ) |
int PCB_CONTROL::RatsnestModeCycle | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 375 of file pcb_control.cpp.
References PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), PCB_TOOL_BASE::frame(), LAYER_RATSNEST, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_RatsnestMode, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_ShowGlobalRatsnest, PCB_BASE_FRAME::OnDisplayOptionsChanged(), PCB_DRAW_PANEL_GAL::RedrawRatsnest(), and EDA_DRAW_PANEL_GAL::Refresh().
Referenced by setTransitions().
int PCB_CONTROL::Redo | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1338 of file pcb_control.cpp.
References dummy, m_frame, and PCB_BASE_EDIT_FRAME::RestoreCopyFromRedoList().
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 89 of file pcb_control.cpp.
References KIGFX::VIEW::Add(), PCB_TOOL_BASE::board(), TOOL_BASE::GAL_SWITCH, EDA_DRAW_FRAME::GetGridColor(), 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 63 of file tool_interactive.cpp.
References TOOL_MANAGER::ClearTransitions(), TOOL_BASE::m_toolMgr, and TOOL_INTERACTIVE::setTransitions().
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 87 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::RunMainStack().
Referenced by DRAWING_TOOL::PlaceText().
|
protectedinherited |
Definition at line 325 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 317 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), GROUP_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), EDIT_TOOL::FilletTracks(), DRAWING_TOOL::getSourceZoneForAction(), GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), DRAWING_TOOL::InteractivePlaceWithPreview(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), PCB_POINT_EDITOR::OnSelectionChange(), EDIT_TOOL::PackAndMoveFootprints(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceImportedGraphics(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), GROUP_TOOL::RemoveFromGroup(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), ROUTER_TOOL::RouteSelected(), DRAWING_TOOL::SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::Swap(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), and BOARD_EDITOR_CONTROL::ZoneMerge().
|
inherited |
Assign a context menu and tells when it should be activated.
aMenu | is the menu to be assigned. |
aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 76 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ScheduleContextMenu(), and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), DRAWING_TOOL::DrawVia(), TOOL_MENU::ShowContextMenu(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
inlineinherited |
Definition at line 108 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Function SetIsFootprintEditor()
Toggles edit footprint mode. When enabled, one may select parts of footprints individually (graphics, pads, etc.), so they can be modified.
aEnabled | decides if the mode should be enabled. |
Definition at line 105 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
|
overrideprivatevirtual |
< Sets up handlers for various events.
Reimplemented from PCB_TOOL_BASE.
Definition at line 1633 of file pcb_control.cpp.
References ACTIONS::addLibrary, AddLibrary(), PCB_ACTIONS::appendBoard, AppendBoardFromFile(), EVENTS::ClearedEvent, EVENTS::ConnectivityChangedEvent, EVENTS::ContrastModeChangedByKeyEvent, ContrastModeFeedback(), ACTIONS::ddAddLibrary, DdAddLibrary(), PCB_ACTIONS::ddAppendBoard, DdAppendBoard(), PCB_ACTIONS::ddImportFootprint, DdImportFootprint(), DeleteItemCursor(), ACTIONS::deleteTool, PCB_ACTIONS::flipBoard, FlipPcbView(), TOOL_INTERACTIVE::Go(), GridPlaceOrigin(), ACTIONS::gridResetOrigin, GridResetOrigin(), ACTIONS::gridSetOrigin, ACTIONS::highContrastMode, HighContrastMode(), ACTIONS::highContrastModeCycle, HighContrastModeCycle(), PCB_ACTIONS::layerAlphaDec, LayerAlphaDec(), PCB_ACTIONS::layerAlphaInc, 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, PCB_ACTIONS::layerNext, LayerNext(), PCB_ACTIONS::layerPrev, LayerPrev(), LayerSwitch(), PCB_ACTIONS::layerToggle, LayerToggle(), PCB_ACTIONS::layerTop, PCB_ACTIONS::magneticSnapActiveLayer, PCB_ACTIONS::magneticSnapAllLayers, PCB_ACTIONS::magneticSnapToggle, PCB_ACTIONS::netColorModeCycle, NetColorModeCycle(), ACTIONS::newLibrary, ACTIONS::paste, Paste(), ACTIONS::pasteSpecial, EVENTS::PointSelectedEvent, ACTIONS::print, Print(), ACTIONS::quit, Quit(), PCB_ACTIONS::ratsnestLineMode, PCB_ACTIONS::ratsnestModeCycle, RatsnestModeCycle(), ACTIONS::redo, Redo(), EVENTS::SelectedEvent, EVENTS::SelectedItemsModified, PCB_ACTIONS::showRatsnest, SnapMode(), SnapModeFeedback(), PCB_EVENTS::SnappingModeChangedByKeyEvent, ToggleRatsnest(), PCB_ACTIONS::trackDisplayMode, TrackDisplayMode(), ACTIONS::undo, Undo(), EVENTS::UnselectedEvent, UpdateMessagePanel(), PCB_ACTIONS::viaDisplayMode, 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 1350 of file pcb_control.cpp.
References MAGNETIC_SETTINGS::allLayers, PCB_BASE_FRAME::GetFootprintEditorSettings(), PCB_BASE_FRAME::GetPcbNewSettings(), TOOL_EVENT::IsAction(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, FOOTPRINT_EDITOR_SETTINGS::m_MagneticItems, PCBNEW_SETTINGS::m_MagneticItems, TOOL_BASE::m_toolMgr, PCB_ACTIONS::magneticSnapActiveLayer, PCB_ACTIONS::magneticSnapAllLayers, TOOL_MANAGER::PostEvent(), and PCB_EVENTS::SnappingModeChangedByKeyEvent.
Referenced by setTransitions().
int PCB_CONTROL::SnapModeFeedback | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1370 of file pcb_control.cpp.
References _, MAGNETIC_SETTINGS::allLayers, EDA_DRAW_FRAME::CreateHotkeyPopup(), PCB_BASE_FRAME::GetFootprintEditorSettings(), EDA_DRAW_FRAME::GetHotkeyPopup(), PCB_BASE_FRAME::GetPcbNewSettings(), m_frame, PCB_TOOL_BASE::m_isFootprintEditor, FOOTPRINT_EDITOR_SETTINGS::m_MagneticItems, PCBNEW_SETTINGS::m_MagneticItems, Pgm(), and HOTKEY_CYCLE_POPUP::Popup().
Referenced by setTransitions().
int PCB_CONTROL::ToggleRatsnest | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 169 of file pcb_control.cpp.
References PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::displayOptions(), Flip(), PCB_TOOL_BASE::frame(), TOOL_EVENT::IsAction(), LAYER_RATSNEST, PCB_BASE_FRAME::OnDisplayOptionsChanged(), 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 147 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 1326 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 213 of file pcb_control.cpp.
References _, WX_INFOBAR::AddButton(), PCB_TOOL_BASE::board(), WX_INFOBAR::Dismiss(), PCB_TOOL_BASE::frame(), EDA_BASE_FRAME::GetInfoBar(), KeyNameFromKeyCode(), Pgm(), WX_INFOBAR::RemoveAllButtons(), WX_INFOBAR::ShowMessageFor(), and PCB_ACTIONS::zoneFillAll.
Referenced by ZoneDisplayMode().
int PCB_CONTROL::UpdateMessagePanel | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1395 of file pcb_control.cpp.
References _, LSET::AllCuMask(), CLEARANCE_CONSTRAINT, LSET::CuStack(), EDGE_CLEARANCE_CONSTRAINT, Edge_Cuts, SELECTION::Empty(), SELECTION::Front(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), BOARD_ITEM::GetEffectiveHoleShape(), BOARD_ITEM::GetEffectiveShape(), EDA_ITEM::GetItemDescription(), BOARD_ITEM::GetLayer(), BOARD_ITEM::GetLayerSet(), PCB_BASE_FRAME::GetModel(), EDA_ITEM::GetMsgPanelInfo(), BOARD::GetMsgPanelInfo(), FOOTPRINT::GetMsgPanelInfo(), BOARD_CONNECTED_ITEM::GetNetCode(), PCB_SELECTION_TOOL::GetSelection(), SELECTION::GetSize(), TOOL_MANAGER::GetTool(), BOARD_ITEM::HasHole(), HOLE_CLEARANCE_CONSTRAINT, IsCopperLayer(), BOARD_ITEM::IsOnCopperLayer(), BOARD_ITEM::IsOnLayer(), BOARD_DESIGN_SETTINGS::m_DRCEngine, m_frame, TOOL_BASE::m_toolMgr, DRC_CONSTRAINT::m_Value, Margin, UNITS_PROVIDER::MessageTextFromValue(), MINOPTMAX< T >::Min(), PCB_FOOTPRINT_T, PCB_TOOL_BASE::selection(), EDA_DRAW_FRAME::SetMsgPanel(), EDA_ITEM::Type(), UNDEFINED_LAYER, and UnescapeString().
Referenced by setTransitions().
int PCB_CONTROL::ViaDisplayMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 193 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 155 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::doInteractiveItemPlacement(), MICROWAVE_TOOL::drawMicrowaveInductor(), PAD_TOOL::EditPad(), FlipPcbView(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), LayerAlphaDec(), LayerAlphaInc(), PAD_TOOL::OnUndoRedo(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), TrackDisplayMode(), PCB_POINT_EDITOR::updateItem(), ViaDisplayMode(), and ZoneDisplayMode().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 57 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::ScheduleWait().
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), ROUTER_TOOL::InlineDrag(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), ZOOM_TOOL::selectRegion(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
int PCB_CONTROL::ZoneDisplayMode | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 255 of file pcb_control.cpp.
References PCB_TOOL_BASE::board(), PCB_TOOL_BASE::canvas(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetDisplayOptions(), TOOL_EVENT::IsAction(), m_frame, PCB_DISPLAY_OPTIONS::m_ZoneDisplayMode, EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::REPAINT, PCB_BASE_FRAME::SetDisplayOptions(), 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 |
Grid origin marker.
Definition at line 147 of file pcb_control.h.
Referenced by AddLibrary(), AppendBoard(), AppendBoardFromFile(), ContrastModeFeedback(), DdAddLibrary(), DdAppendBoard(), DdImportFootprint(), DeleteItemCursor(), GridPlaceOrigin(), GridResetOrigin(), HighContrastMode(), HighContrastModeCycle(), LayerAlphaDec(), LayerAlphaInc(), LayerNext(), LayerPrev(), LayerSwitch(), LayerToggle(), NetColorModeCycle(), Paste(), Print(), pruneItemLayers(), Quit(), Redo(), Reset(), SnapMode(), SnapModeFeedback(), Undo(), UpdateMessagePanel(), and ZoneDisplayMode().
|
private |
Definition at line 150 of file pcb_control.h.
Referenced by GridPlaceOrigin(), GridResetOrigin(), PCB_CONTROL(), and Reset().
|
protectedinherited |
Definition at line 187 of file pcb_tool_base.h.
Referenced by PCB_TOOL_BASE::IsBoardEditor(), placeBoardItems(), and PCB_TOOL_BASE::SetIsBoardEditor().
|
protectedinherited |
Definition at line 186 of file pcb_tool_base.h.
Referenced by EDIT_TOOL::CreateArray(), ZONE_CREATE_HELPER::createNewZone(), DeleteItemCursor(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), GridPlaceOrigin(), GROUP_TOOL::Group(), EDIT_TOOL::Init(), PAD_TOOL::Init(), DRAWING_TOOL::InteractivePlaceWithPreview(), PCB_TOOL_BASE::IsFootprintEditor(), PCB_POINT_EDITOR::makePoints(), Paste(), DRAWING_TOOL::PlaceImportedGraphics(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), Print(), pruneItemLayers(), SCRIPTING_TOOL::reloadPlugins(), EDIT_TOOL::Rotate(), DRAWING_TOOL::SetAnchor(), PCB_TOOL_BASE::SetIsFootprintEditor(), SnapMode(), SnapModeFeedback(), and GROUP_TOOL::Ungroup().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 125 of file tool_interactive.h.
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), PAD_TOOL::EnumeratePads(), TOOL_INTERACTIVE::GetToolMenu(), EDA_3D_CONTROLLER::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), EE_SELECTION_TOOL::Init(), EE_TOOL_BASE< T >::Init(), SCH_DRAWING_TOOLS::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), GERBVIEW_SELECTION_TOOL::Init(), PICKER_TOOL::Init(), ZOOM_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), LENGTH_TUNER_TOOL::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), DRAWING_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), PAD_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), LENGTH_TUNER_TOOL::performTuning(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
private |
Definition at line 152 of file pcb_control.h.
Referenced by DeleteItemCursor().
|
private |
Definition at line 154 of file pcb_control.h.
Referenced by DeleteItemCursor().
|
protectedinherited |
Name of the tool.
Names are expected to obey the format application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 211 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), TOOL_BASE::GetId(), and TOOL_BASE::IsToolActive().
|
protectedinherited |
Definition at line 216 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), EE_POINT_EDITOR::addCorner(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), SCH_MOVE_TOOL::AlignElements(), SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_EDITOR_CONTROL::AssignNetclass(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), TOOL_BASE::attachManager(), SCH_EDIT_TOOL::AutoplaceFields(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), SCH_EDITOR_CONTROL::ChangeLineMode(), SCH_EDIT_TOOL::ChangeTextType(), EDIT_TOOL::ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_CONTROL::ClearAllLayers(), SCH_EDITOR_CONTROL::ClearHighlight(), BOARD_INSPECTION_TOOL::ClearHighlight(), GERBVIEW_SELECTION_TOOL::clearSelection(), PL_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::ClearSelection(), PCB_SELECTION_TOOL::ClearSelection(), SCH_EDIT_TOOL::ConvertDeMorgan(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), PL_EDIT_TOOL::Copy(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), EDIT_TOOL::CreateArray(), MICROWAVE_TOOL::createInductorBetween(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::CursorControl(), SCH_EDITOR_CONTROL::Cut(), SCH_EDIT_TOOL::DeleteItemCursor(), SYMBOL_EDITOR_EDIT_TOOL::DeleteItemCursor(), PL_EDIT_TOOL::DeleteItemCursor(), DeleteItemCursor(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_EDITOR_CONTROL::doCopy(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawRectangle(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PCB_SELECTION_TOOL::EnterGroup(), GROUP_TOOL::EnterGroup(), PAD_TOOL::enterPadEditMode(), SCH_NAVIGATE_TOOL::EnterSheet(), PAD_TOOL::EnumeratePads(), EE_INSPECTION_TOOL::ExcludeMarker(), PCB_SELECTION_TOOL::ExitGroup(), PAD_TOOL::exitPadEditMode(), PCB_SELECTION_TOOL::expandConnection(), PAD_TOOL::explodePad(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), TOOL_BASE::GetManager(), TOOL_BASE::getModelInt(), DRAWING_TOOL::getSourceZoneForAction(), TOOL_BASE::getToolHolderInt(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_INTERACTIVE::goInternal(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFastCycle(), SCH_EDITOR_CONTROL::GridFeedback(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), GROUP_TOOL::Group(), HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), EE_TOOL_BASE< T >::Init(), SCH_EDIT_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), DRAWING_TOOL::Init(), EDIT_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), DRAWING_TOOL::InteractivePlaceWithPreview(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), TOOL_BASE::IsToolActive(), GROUP_TOOL::LeaveGroup(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::MoveExact(), SCH_EDITOR_CONTROL::NextLineMode(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), GERBVIEW_CONTROL::Print(), Print(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), EE_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDITOR_CONTROL::Redo(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem(), PCB_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), EDA_3D_CONTROLLER::Reset(), COMMON_TOOLS::Reset(), PNS::TOOL_BASE::Reset(), PAD_TOOL::Reset(), COMMON_TOOLS::ResetLocalCoords(), TOOL_INTERACTIVE::resetTransitions(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), TOOL_INTERACTIVE::RunMainStack(), DRC_TOOL::RunTests(), EE_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), GERBVIEW_SELECTION_TOOL::SelectItems(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), GERBVIEW_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::selectPoint(), POSITION_RELATIVE_TOOL::SelectPositionRelativeItem(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), DRAWING_TOOL::SetAnchor(), SCH_EDIT_TOOL::SetAttribute(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), DRC_TOOL::ShowDRCDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SnapMode(), SCH_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), EE_SELECTION_TOOL::SyncSelection(), SCH_EDIT_TOOL::ToggleAttribute(), COMMON_TOOLS::ToggleCursor(), COMMON_TOOLS::ToggleCursorStyle(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleVisibility(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), SCH_MOVE_TOOL::trimDanglingLines(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SYMBOL_EDITOR_EDIT_TOOL::Undo(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSelected(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), SCH_EDIT_TOOL::UnsetAttribute(), PNS::TOOL_BASE::updateEndItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), EE_POINT_EDITOR::updateParentItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Definition at line 215 of file tool_base.h.
Referenced by TOOL_BASE::GetName().
|
protectedinherited |
Unique identifier for the tool, assigned by a TOOL_MANAGER instance.
Definition at line 208 of file tool_base.h.
Referenced by TOOL_BASE::GetType().