![]() |
KiCad PCB EDA Suite
|
Generic, UI-independent tool event. More...
#include <tool_event.h>
Public Member Functions | |
const std::string | Format () const |
Return information about event in form of a human-readable string. More... | |
TOOL_EVENT (TOOL_EVENT_CATEGORY aCategory=TC_NONE, TOOL_ACTIONS aAction=TA_NONE, TOOL_ACTION_SCOPE aScope=AS_GLOBAL, void *aParameter=nullptr) | |
TOOL_EVENT (TOOL_EVENT_CATEGORY aCategory, TOOL_ACTIONS aAction, int aExtraParam, TOOL_ACTION_SCOPE aScope=AS_GLOBAL, void *aParameter=nullptr) | |
TOOL_EVENT (TOOL_EVENT_CATEGORY aCategory, TOOL_ACTIONS aAction, const std::string &aExtraParam, TOOL_ACTION_SCOPE aScope=AS_GLOBAL, void *aParameter=nullptr) | |
Returns the category (eg. mouse/keyboard/action) of an event.. More... | |
TOOL_EVENT_CATEGORY | Category () const |
Returns more specific information about the type of an event. More... | |
TOOL_ACTIONS | Action () const |
These give a tool a method of informing the TOOL_MANAGER that a particular event should be passed on to subsequent tools on the stack. More... | |
bool | PassEvent () const |
void | SetPassEvent (bool aPass=true) |
Returns if it this event has a valid position (true for mouse events and context-menu or hotkey-based command events) More... | |
bool | HasPosition () const |
void | SetHasPosition (bool aHasPosition) |
Returns if the action associated with this event should be treated as immediate regardless of the current immediate action settings. More... | |
bool | ForceImmediate () const |
void | SetForceImmediate (bool aForceImmediate=true) |
TOOL_BASE * | FirstResponder () const |
void | SetFirstResponder (TOOL_BASE *aTool) |
Controls whether the tool is first being pushed to the stack or being reactivated after a pause. More... | |
bool | IsReactivate () const |
void | SetReactivate (bool aReactivate=true) |
Returns information about difference between current mouse cursor position and the place where dragging has started. More... | |
const VECTOR2D | Delta () const |
Returns mouse cursor position in world coordinates. More... | |
const VECTOR2D | Position () const |
Returns the point where dragging has started. More... | |
const VECTOR2D | DragOrigin () const |
Returns information about mouse buttons state. More... | |
int | Buttons () const |
bool | IsClick (int aButtonMask=BUT_ANY) const |
bool | IsDblClick (int aButtonMask=BUT_ANY) const |
bool | IsDrag (int aButtonMask=BUT_ANY) const |
bool | IsMouseUp (int aButtonMask=BUT_ANY) const |
bool | IsMotion () const |
bool | IsMouseAction () const |
bool | IsCancel () const |
bool | IsActivate () const |
bool | IsUndoRedo () const |
bool | IsChoiceMenu () const |
bool | IsPrime () const |
Returns information about key modifiers state (Ctrl, Alt, etc.) More... | |
int | Modifier (int aMask=MD_MODIFIER_MASK) const |
int | KeyCode () const |
bool | IsKeyPressed () const |
bool | Matches (const TOOL_EVENT &aEvent) const |
Test whether two events match in terms of category & action or command. More... | |
bool | IsAction (const TOOL_ACTION *aAction) const |
Test if the event contains an action issued upon activation of the given TOOL_ACTION. More... | |
bool | IsCancelInteractive () const |
Indicate the event should restart/end an ongoing interactive tool's event loop (eg esc key, click cancel, start different tool). More... | |
bool | IsSelectionEvent () const |
Indicate an selection-changed notification event. More... | |
bool | IsPointEditor () const |
Indicate if the event is from one of the point editors. More... | |
bool | IsMoveTool () const |
Indicate if the event is from one of the move tools. More... | |
bool | IsSimulator () const |
Indicate if the event is from the simulator. More... | |
template<typename T > | |
T | Parameter () const |
Return a non-standard parameter assigned to the event. More... | |
template<typename T > | |
void | SetParameter (T aParam) |
Set a non-standard parameter assigned to the event. More... | |
OPT< int > | GetCommandId () const |
OPT< std::string > | GetCommandStr () const |
void | SetMousePosition (const VECTOR2D &aP) |
Private Member Functions | |
void | init () |
void | setMouseDragOrigin (const VECTOR2D &aP) |
void | setMouseDelta (const VECTOR2D &aP) |
void | setMouseButtons (int aButtons) |
void | setModifiers (int aMods) |
VECTOR2D | returnCheckedPosition (const VECTOR2D &aPos) const |
Ensure that the event is a type that has a position before returning a position, otherwise return a null-constructed position. More... | |
Private Attributes | |
TOOL_EVENT_CATEGORY | m_category |
TOOL_ACTIONS | m_actions |
TOOL_ACTION_SCOPE | m_scope |
bool | m_passEvent |
bool | m_hasPosition |
bool | m_forceImmediate |
True when the tool is being re-activated from the stack. More... | |
bool | m_reactivate |
Difference between mouse cursor position and the point where dragging event has started. More... | |
VECTOR2D | m_mouseDelta |
Current mouse cursor position. More... | |
VECTOR2D | m_mousePos |
Point where dragging has started. More... | |
VECTOR2D | m_mouseDragOrigin |
State of mouse buttons. More... | |
int | m_mouseButtons |
Stores code of pressed/released key. More... | |
int | m_keyCode |
State of key modifiers (Ctrl/Alt/etc.) More... | |
int | m_modifiers |
Generic parameter used for passing non-standard data. More... | |
void * | m_param |
The first tool to receive the event. More... | |
TOOL_BASE * | m_firstResponder |
OPT< int > | m_commandId |
OPT< std::string > | m_commandStr |
Friends | |
class | TOOL_DISPATCHER |
Generic, UI-independent tool event.
Definition at line 173 of file tool_event.h.
|
inline |
Definition at line 183 of file tool_event.h.
References init().
|
inline |
Definition at line 197 of file tool_event.h.
References BUT_BUTTON_MASK, init(), m_commandId, m_keyCode, m_modifiers, MD_MODIFIER_MASK, setMouseButtons(), TC_COMMAND, TC_KEYBOARD, and TC_MOUSE.
|
inline |
Returns the category (eg. mouse/keyboard/action) of an event..
Definition at line 229 of file tool_event.h.
References init(), m_commandStr, TC_COMMAND, and TC_MESSAGE.
|
inline |
These give a tool a method of informing the TOOL_MANAGER that a particular event should be passed on to subsequent tools on the stack.
Defaults to true for TC_MESSAGES; false for everything else.
Definition at line 251 of file tool_event.h.
References m_actions.
Referenced by EDIT_TOOL::cutToClipboard(), TOOL_MANAGER::DispatchHotKey(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
|
inline |
Definition at line 296 of file tool_event.h.
References m_category, m_mouseButtons, and TC_MOUSE.
|
inline |
Returns more specific information about the type of an event.
Definition at line 248 of file tool_event.h.
References m_category.
Referenced by EDIT_TOOL::cutToClipboard(), TOOL_MANAGER::dispatchInternal(), ROUTER_TOOL::handleCommonEvents(), PL_EDIT_TOOL::Main(), and SYMBOL_EDITOR_MOVE_TOOL::Main().
|
inline |
Returns mouse cursor position in world coordinates.
Definition at line 278 of file tool_event.h.
References m_mouseDelta, and returnCheckedPosition().
|
inline |
Returns information about mouse buttons state.
Definition at line 290 of file tool_event.h.
References m_mouseDragOrigin, and returnCheckedPosition().
Referenced by EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), and PCB_POINT_EDITOR::updateEditedPoint().
|
inline |
Definition at line 269 of file tool_event.h.
References m_firstResponder.
Referenced by TOOL_MANAGER::dispatchInternal().
|
inline |
Definition at line 266 of file tool_event.h.
References m_forceImmediate.
Referenced by TOOL_MANAGER::processEvent().
const std::string TOOL_EVENT::Format | ( | ) | const |
Return information about event in form of a human-readable string.
Definition at line 76 of file tool_event.cpp.
References BUT_LEFT, BUT_MIDDLE, BUT_NONE, BUT_RIGHT, flag2string(), m_actions, m_category, m_commandId, m_commandStr, m_keyCode, m_modifiers, m_mouseButtons, MD_ALT, MD_CTRL, MD_SHIFT, TA_ACTION, TA_ACTIVATE, TA_CANCEL_TOOL, TA_CHANGE_LAYER, TA_CHOICE_MENU_CHOICE, TA_CHOICE_MENU_UPDATE, TA_KEY_PRESSED, TA_KEYBOARD, TA_MOUSE, TA_MOUSE_CLICK, TA_MOUSE_DBLCLICK, TA_MOUSE_DOWN, TA_MOUSE_DRAG, TA_MOUSE_MOTION, TA_MOUSE_UP, TA_MOUSE_WHEEL, TA_UNDO_REDO_POST, TA_UNDO_REDO_PRE, TA_VIEW_DIRTY, TA_VIEW_PAN, TA_VIEW_REFRESH, TA_VIEW_ZOOM, TC_COMMAND, TC_KEYBOARD, TC_MESSAGE, TC_MOUSE, and TC_VIEW.
Referenced by TOOL_MANAGER::dispatchActivation(), TOOL_MANAGER::dispatchInternal(), and TOOL_MANAGER::processEvent().
|
inline |
Definition at line 466 of file tool_event.h.
References m_commandId.
Referenced by SCH_MOVE_TOOL::Main().
|
inline |
Definition at line 471 of file tool_event.h.
References m_commandStr.
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), SYMBOL_EDITOR_EDIT_TOOL::DeleteItemCursor(), PL_EDIT_TOOL::DeleteItemCursor(), SCH_EDIT_TOOL::DeleteItemCursor(), PCB_CONTROL::DeleteItemCursor(), TOOL_MANAGER::dispatchActivation(), EDIT_TOOL::doMoveSelection(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DRAWING_TOOL::DrawRectangle(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawVia(), DRAWING_TOOL::DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridSetOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), BOARD_INSPECTION_TOOL::HighlightNetTool(), IsMoveTool(), IsPointEditor(), IsSimulator(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), ROUTER_TOOL::MainLoop(), LENGTH_TUNER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), SCH_DRAWING_TOOLS::PlaceComponent(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PAD_TOOL::PlacePad(), BOARD_EDITOR_CONTROL::PlaceTarget(), DRAWING_TOOL::PlaceText(), TOOL_MANAGER::processEvent(), DRAWING_TOOL::SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
inline |
Definition at line 261 of file tool_event.h.
References m_hasPosition.
Referenced by DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawZone(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), ROUTER_TOOL::MainLoop(), PL_DRAWING_TOOLS::PlaceItem(), returnCheckedPosition(), SCH_DRAWING_TOOLS::SingleClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_DRAWING_TOOLS::TwoClickPlace().
|
private |
Definition at line 54 of file tool_event.cpp.
References IsActivate(), IsCancel(), IsCancelInteractive(), m_category, m_forceImmediate, m_hasPosition, m_passEvent, m_reactivate, TC_COMMAND, TC_MESSAGE, and TC_MOUSE.
Referenced by TOOL_EVENT().
bool TOOL_EVENT::IsAction | ( | const TOOL_ACTION * | aAction | ) | const |
Test if the event contains an action issued upon activation of the given TOOL_ACTION.
aAction | is the TOOL_ACTION to be checked against. |
Definition at line 70 of file tool_event.cpp.
References TOOL_ACTION::MakeEvent(), and Matches().
Referenced by SYMBOL_EDITOR_CONTROL::AddLibrary(), PCB_CONTROL::AddLibrary(), SYMBOL_EDITOR_CONTROL::AddSymbol(), SCH_EDIT_TOOL::ChangeSymbols(), SCH_EDIT_TOOL::ConvertDeMorgan(), EDIT_TOOL::copyToClipboard(), SYMBOL_EDITOR_CONTROL::CutCopyDelete(), FOOTPRINT_EDITOR_CONTROL::CutCopyFootprint(), GERBVIEW_CONTROL::DisplayControl(), EDIT_TOOL::Drag(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawZone(), EDIT_TOOL::Duplicate(), SYMBOL_EDITOR_CONTROL::DuplicateSymbol(), SCH_EDIT_TOOL::EditField(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), KICAD_MANAGER_CONTROL::Execute(), SCH_EDITOR_CONTROL::FindAndReplace(), SCH_EDITOR_CONTROL::FindNext(), BOARD_EDITOR_CONTROL::GenerateFabFiles(), getTargetLayerFromEvent(), ROUTER_TOOL::handleLayerSwitch(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNetTool(), TOOL_EVT_UTILS::IsRotateToolEvt(), CONVERT_TOOL::LinesToPoly(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceComponent(), PL_DRAWING_TOOLS::PlaceItem(), CONVERT_TOOL::PolyToLines(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), SYMBOL_EDITOR_PIN_TOOL::PushPinProperties(), SYMBOL_EDITOR_CONTROL::Save(), PCB_SELECTION_TOOL::selectNet(), COMMON_CONTROL::ShowHelp(), COMMON_CONTROL::ShowLibraryTable(), PL_EDITOR_CONTROL::TitleBlockDisplayMode(), PCB_CONTROL::ToggleRatsnest(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::UpdateFind(), PCB_CONTROL::ZoneDisplayMode(), COMMON_TOOLS::ZoomInOut(), EDA_3D_CONTROLLER::ZoomInOut(), COMMON_TOOLS::ZoomInOutCenter(), and EDA_3D_CONTROLLER::ZoomInOutCenter().
|
inline |
Definition at line 331 of file tool_event.h.
References m_actions, and TA_ACTIVATE.
Referenced by TOOL_MANAGER::dispatchActivation(), init(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
|
inline |
Definition at line 326 of file tool_event.h.
References m_actions, and TA_CANCEL_TOOL.
Referenced by init().
bool TOOL_EVENT::IsCancelInteractive | ( | ) | const |
Indicate the event should restart/end an ongoing interactive tool's event loop (eg esc key, click cancel, start different tool).
Definition at line 193 of file tool_event.cpp.
References ACTIONS::cancelInteractive, TOOL_ACTION::GetId(), TOOL_ACTION::GetName(), m_actions, m_commandId, m_commandStr, and TA_CANCEL_TOOL.
Referenced by init(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
|
inline |
Definition at line 341 of file tool_event.h.
References m_actions, and TA_CHOICE_MENU.
Referenced by TOOL_MANAGER::dispatchInternal().
bool TOOL_EVENT::IsClick | ( | int | aButtonMask = BUT_ANY | ) | const |
Definition at line 181 of file tool_event.cpp.
References m_actions, m_mouseButtons, and TA_MOUSE_CLICK.
Referenced by TOOL_MANAGER::DispatchContextMenu(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), and PNS::TOOL_BASE::updateStartItem().
bool TOOL_EVENT::IsDblClick | ( | int | aButtonMask = BUT_ANY | ) | const |
Definition at line 187 of file tool_event.cpp.
References m_actions, m_mouseButtons, and TA_MOUSE_DBLCLICK.
Referenced by SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
|
inline |
Definition at line 306 of file tool_event.h.
References m_actions, m_mouseButtons, and TA_MOUSE_DRAG.
Referenced by PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), and PCB_POINT_EDITOR::updateEditedPoint().
|
inline |
Definition at line 362 of file tool_event.h.
References m_actions, and TA_KEY_PRESSED.
Referenced by ROUTER_TOOL::handleCommonEvents().
|
inline |
Definition at line 316 of file tool_event.h.
References m_actions, and TA_MOUSE_MOTION.
Referenced by PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), SCH_MOVE_TOOL::Main(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), and PNS::TOOL_BASE::updateStartItem().
|
inline |
Definition at line 321 of file tool_event.h.
|
inline |
Definition at line 311 of file tool_event.h.
References m_actions, m_mouseButtons, and TA_MOUSE_UP.
Referenced by PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
bool TOOL_EVENT::IsMoveTool | ( | ) | const |
Indicate if the event is from one of the move tools.
Usually used to allow move to be done without de-activating the current drawing tool.
Definition at line 220 of file tool_event.cpp.
References GetCommandStr(), and m_commandStr.
bool TOOL_EVENT::IsPointEditor | ( | ) | const |
Indicate if the event is from one of the point editors.
Usually used to allow the point editor to activate itself without de-activating the current drawing tool.
Definition at line 211 of file tool_event.cpp.
References ACTIONS::activatePointEditor, GetCommandStr(), TOOL_ACTION::GetId(), m_commandId, and m_commandStr.
|
inline |
Returns information about key modifiers state (Ctrl, Alt, etc.)
Definition at line 346 of file tool_event.h.
|
inline |
Definition at line 273 of file tool_event.h.
References m_reactivate.
Referenced by SCH_DRAWING_TOOLS::PlaceComponent(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), DRAWING_TOOL::PlaceText(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_DRAWING_TOOLS::TwoClickPlace().
bool TOOL_EVENT::IsSelectionEvent | ( | ) | const |
Indicate an selection-changed notification event.
Definition at line 203 of file tool_event.cpp.
References EVENTS::ClearedEvent, Matches(), EVENTS::SelectedEvent, and EVENTS::UnselectedEvent.
bool TOOL_EVENT::IsSimulator | ( | ) | const |
Indicate if the event is from the simulator.
Definition at line 227 of file tool_event.cpp.
References GetCommandStr(), and m_commandStr.
Referenced by TOOL_MANAGER::PostEvent().
|
inline |
Definition at line 336 of file tool_event.h.
References m_actions, TA_UNDO_REDO_POST, and TA_UNDO_REDO_PRE.
|
inline |
Definition at line 357 of file tool_event.h.
References m_keyCode.
Referenced by TOOL_MANAGER::DispatchHotKey(), and ROUTER_TOOL::handleCommonEvents().
|
inline |
Test whether two events match in terms of category & action or command.
aEvent | is the event to test against. |
Definition at line 373 of file tool_event.h.
References m_actions, m_category, m_commandId, m_commandStr, TA_ANY, TA_NONE, TC_COMMAND, and TC_MESSAGE.
Referenced by IsAction(), IsSelectionEvent(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), PCB_POINT_EDITOR::OnSelectionChange(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), and SCH_EDITOR_CONTROL::UpdateFind().
|
inline |
Definition at line 352 of file tool_event.h.
References m_modifiers.
Referenced by EE_POINT_EDITOR::addCorner(), SCH_EDITOR_CONTROL::AssignNetclass(), SCH_EDIT_TOOL::BreakWire(), TOOL_MANAGER::DispatchHotKey(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_EDITOR_CONTROL::HighlightNet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), SCH_MOVE_TOOL::Main(), EE_SELECTION_TOOL::SelectNode(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
|
inline |
Return a non-standard parameter assigned to the event.
Its meaning depends on the target tool.
Definition at line 443 of file tool_event.h.
References m_param.
Referenced by PL_SELECTION_TOOL::AddItemsToSel(), EE_SELECTION_TOOL::AddItemsToSel(), PL_SELECTION_TOOL::AddItemToSel(), EE_SELECTION_TOOL::AddItemToSel(), SCH_LINE_WIRE_BUS_TOOL::AddJunctionsIfNeeded(), MICROWAVE_TOOL::addMicrowaveFootprint(), CVPCB_CONTROL::ChangeFocus(), ROUTER_TOOL::ChangeRouterMode(), SCH_EDIT_TOOL::ChangeTextType(), COMMON_TOOLS::CursorControl(), PCB_SELECTION_TOOL::CursorSelection(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), DRAWING_TOOL::DrawZone(), KICAD_MANAGER_CONTROL::Execute(), TOOL_EVT_UTILS::GetEventRotationAngle(), COMMON_TOOLS::GridPreset(), PCB_CONTROL::GridSetOrigin(), GROUP_TOOL::GroupProperties(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::HideNet(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::HighlightNet(), SCH_NAVIGATE_TOOL::HypertextCommand(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::LayerSwitch(), PCB_PICKER_TOOL::Main(), EE_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), LENGTH_TUNER_TOOL::MainLoop(), EDA_3D_CONTROLLER::On3DGridSelection(), COMMON_TOOLS::PanControl(), EDA_3D_CONTROLLER::PanControl(), SCH_DRAWING_TOOLS::PlaceComponent(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), EDIT_TOOL::Remove(), PL_SELECTION_TOOL::RemoveItemFromSel(), EE_SELECTION_TOOL::RemoveItemFromSel(), PL_SELECTION_TOOL::RemoveItemsFromSel(), EE_SELECTION_TOOL::RemoveItemsFromSel(), EDA_3D_CONTROLLER::RotateView(), PL_SELECTION_TOOL::SelectionMenu(), PCB_SELECTION_TOOL::SelectionMenu(), EE_SELECTION_TOOL::SelectionMenu(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_SELECTION_TOOL::SelectItem(), GERBVIEW_SELECTION_TOOL::SelectItems(), PCB_SELECTION_TOOL::SelectItems(), PCB_SELECTION_TOOL::selectNet(), PCB_SELECTION_TOOL::selectSheetContents(), EDA_3D_CONTROLLER::SetMaterial(), BOARD_INSPECTION_TOOL::ShowNet(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_DRAWING_TOOLS::SingleClickPlace(), COMMON_TOOLS::SwitchUnits(), CVPCB_CONTROL::ToggleFootprintFilter(), EDA_3D_CONTROLLER::ToggleVisibility(), CVPCB_CONTROL::ToNA(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_LINE_WIRE_BUS_TOOL::UnfoldBus(), GERBVIEW_SELECTION_TOOL::UnselectItem(), PCB_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), PCB_SELECTION_TOOL::UnselectItems(), PL_SELECTION_TOOL::UpdateMenu(), KICAD_MANAGER_CONTROL::UpdateMenu(), GERBVIEW_SELECTION_TOOL::UpdateMenu(), EDA_3D_CONTROLLER::UpdateMenu(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::UpdateMenu(), EE_SELECTION_TOOL::UpdateMenu(), CVPCB_CONTROL::UpdateMenu(), PCB_SELECTION_TOOL::UpdateMenu(), BOARD_INSPECTION_TOOL::UpdateSelectionRatsnest(), EDA_3D_CONTROLLER::ViewControl(), ZONE_FILLER_TOOL::ZoneFill(), and COMMON_TOOLS::ZoomPreset().
|
inline |
Definition at line 256 of file tool_event.h.
References m_passEvent.
Referenced by TOOL_MANAGER::dispatchInternal().
|
inline |
Returns the point where dragging has started.
Definition at line 284 of file tool_event.h.
References m_mousePos, and returnCheckedPosition().
Referenced by DRAWING_TOOL::DrawDimension(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), DRAWING_TOOL::DrawZone(), SCH_DRAWING_TOOLS::SingleClickPlace(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), and PNS::TOOL_BASE::updateStartItem().
Ensure that the event is a type that has a position before returning a position, otherwise return a null-constructed position.
Used to defend the position accessors from runtime access when the event does not have a valid position.
aPos | the position to return if the event is valid |
Definition at line 518 of file tool_event.h.
References HasPosition().
Referenced by Delta(), DragOrigin(), and Position().
|
inline |
Controls whether the tool is first being pushed to the stack or being reactivated after a pause.
Definition at line 270 of file tool_event.h.
References m_firstResponder.
|
inline |
Definition at line 267 of file tool_event.h.
References m_forceImmediate.
|
inline |
Returns if the action associated with this event should be treated as immediate regardless of the current immediate action settings.
Definition at line 262 of file tool_event.h.
References m_hasPosition.
Referenced by PANEL_KICAD_LAUNCHER::CreateLaunchers(), TOOL_MANAGER::DispatchContextMenu(), ACTION_TOOLBAR::onPaletteEvent(), TOOLS_HOLDER::PopTool(), TOOL_MANAGER::processEvent(), and PCB_EDIT_FRAME::ShowBoardSetupDialog().
|
inlineprivate |
Definition at line 502 of file tool_event.h.
References m_modifiers, and MD_MODIFIER_MASK.
|
inlineprivate |
Definition at line 496 of file tool_event.h.
References BUT_BUTTON_MASK, and m_mouseButtons.
Referenced by TOOL_EVENT().
|
inlineprivate |
Definition at line 491 of file tool_event.h.
References m_mouseDelta.
|
inlineprivate |
Definition at line 486 of file tool_event.h.
References m_mouseDragOrigin.
|
inline |
Definition at line 476 of file tool_event.h.
References m_mousePos.
Referenced by COMMON_TOOLS::CursorControl(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::PrimeTool(), and TOOL_MANAGER::RunAction().
|
inline |
Set a non-standard parameter assigned to the event.
Its meaning depends on the target tool.
aParam | is the new parameter. |
Definition at line 461 of file tool_event.h.
References m_param.
Referenced by EDIT_TOOL::cutToClipboard(), and TOOL_MANAGER::DispatchContextMenu().
|
inline |
Returns if it this event has a valid position (true for mouse events and context-menu or hotkey-based command events)
Definition at line 257 of file tool_event.h.
References m_passEvent.
Referenced by ROUTER_TOOL::handleCommonEvents(), PL_EDIT_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), and SCH_MOVE_TOOL::Main().
|
inline |
Returns information about difference between current mouse cursor position and the place where dragging has started.
Definition at line 274 of file tool_event.h.
References m_reactivate.
Referenced by TOOLS_HOLDER::PopTool().
|
friend |
Definition at line 482 of file tool_event.h.
|
private |
Definition at line 531 of file tool_event.h.
Referenced by Action(), Format(), IsActivate(), IsCancel(), IsCancelInteractive(), IsChoiceMenu(), IsClick(), IsDblClick(), IsDrag(), IsKeyPressed(), IsMotion(), IsMouseAction(), IsMouseUp(), IsPrime(), IsUndoRedo(), and Matches().
|
private |
Definition at line 530 of file tool_event.h.
Referenced by Buttons(), Category(), Format(), init(), and Matches().
|
private |
Definition at line 565 of file tool_event.h.
Referenced by Format(), GetCommandId(), IsCancelInteractive(), IsPointEditor(), Matches(), and TOOL_EVENT().
|
private |
Definition at line 566 of file tool_event.h.
Referenced by Format(), GetCommandStr(), IsCancelInteractive(), IsMoveTool(), IsPointEditor(), IsSimulator(), Matches(), and TOOL_EVENT().
|
private |
Definition at line 563 of file tool_event.h.
Referenced by FirstResponder(), and SetFirstResponder().
|
private |
True when the tool is being re-activated from the stack.
Definition at line 535 of file tool_event.h.
Referenced by ForceImmediate(), init(), and SetForceImmediate().
|
private |
Definition at line 534 of file tool_event.h.
Referenced by HasPosition(), init(), and SetHasPosition().
|
private |
State of key modifiers (Ctrl/Alt/etc.)
Definition at line 554 of file tool_event.h.
Referenced by Format(), KeyCode(), and TOOL_EVENT().
|
private |
Generic parameter used for passing non-standard data.
Definition at line 557 of file tool_event.h.
Referenced by Format(), Modifier(), setModifiers(), and TOOL_EVENT().
|
private |
Stores code of pressed/released key.
Definition at line 551 of file tool_event.h.
Referenced by Buttons(), Format(), IsClick(), IsDblClick(), IsDrag(), IsMouseUp(), and setMouseButtons().
|
private |
Current mouse cursor position.
Definition at line 542 of file tool_event.h.
Referenced by Delta(), and setMouseDelta().
|
private |
State of mouse buttons.
Definition at line 548 of file tool_event.h.
Referenced by DragOrigin(), and setMouseDragOrigin().
|
private |
Point where dragging has started.
Definition at line 545 of file tool_event.h.
Referenced by Position(), and SetMousePosition().
|
private |
The first tool to receive the event.
Definition at line 560 of file tool_event.h.
Referenced by Parameter(), and SetParameter().
|
private |
Definition at line 533 of file tool_event.h.
Referenced by init(), PassEvent(), and SetPassEvent().
|
private |
Difference between mouse cursor position and the point where dragging event has started.
Definition at line 538 of file tool_event.h.
Referenced by init(), IsReactivate(), and SetReactivate().
|
private |
Definition at line 532 of file tool_event.h.