KiCad PCB EDA Suite
|
Represent a single user action. More...
#include <tool_action.h>
Public Member Functions | |
TOOL_ACTION (const TOOL_ACTION_ARGS &aArgs) | |
TOOL_ACTION (const std::string &aName, TOOL_ACTION_SCOPE aScope=AS_CONTEXT, int aDefaultHotKey=0, const std::string &aLegacyHotKeyName="", const wxString &aMenuText=wxEmptyString, const wxString &aTooltip=wxEmptyString, BITMAPS aIcon=static_cast< BITMAPS >(0), TOOL_ACTION_FLAGS aFlags=AF_NONE) | |
~TOOL_ACTION () | |
TOOL_ACTION (const TOOL_ACTION &)=delete | |
TOOL_ACTION & | operator= (const TOOL_ACTION &)=delete |
bool | operator== (const TOOL_ACTION &aRhs) const |
bool | operator!= (const TOOL_ACTION &aRhs) const |
const std::string & | GetName () const |
Return name of the action. More... | |
int | GetDefaultHotKey () const |
Return the default hotkey (if any) for the action. More... | |
int | GetDefaultHotKeyAlt () const |
int | GetHotKey () const |
Return the hotkey keycode which initiates the action. More... | |
int | GetHotKeyAlt () const |
void | SetHotKey (int aKeycode, int aKeycodeAlt=0) |
int | GetId () const |
Return the unique id of the TOOL_ACTION object. More... | |
bool | HasCustomUIId () const |
Return true if this action has a custom UI ID set. More... | |
int | GetUIId () const |
TOOL_EVENT | MakeEvent () const |
Return the event associated with the action (i.e. More... | |
wxString | GetLabel () const |
Return the translated label for the action. More... | |
wxString | GetMenuItem () const |
wxString | GetTooltip (bool aIncludeHotkey=true) const |
wxString | GetDescription () const |
TOOL_ACTION_SCOPE | GetScope () const |
template<typename T > | |
T | GetParam () const |
Return a non-standard parameter assigned to the action. More... | |
std::string | GetToolName () const |
Return name of the tool associated with the action. More... | |
bool | IsActivation () const |
Return true if the action is intended to activate a tool. More... | |
bool | IsNotification () const |
Return true if the action is a notification. More... | |
BITMAPS | GetIcon () const |
Return an icon associated with the action. More... | |
Static Public Member Functions | |
static int | GetBaseUIId () |
Protected Member Functions | |
TOOL_ACTION () | |
Protected Attributes | |
std::string | m_name |
TOOL_ACTION_SCOPE | m_scope |
const int | m_defaultHotKey |
const int | m_defaultHotKeyAlt |
int | m_hotKey |
int | m_hotKeyAlt |
const std::string | m_legacyName |
wxString | m_label |
wxString | m_tooltip |
std::optional< wxString > | m_description |
BITMAPS | m_icon |
int | m_id |
std::optional< int > | m_uiid |
TOOL_ACTION_FLAGS | m_flags |
std::any | m_param |
Static Protected Attributes | |
static constexpr int | ACTION_BASE_UI_ID = 20000 |
Name of the action (convention is "app.tool.actionName") More... | |
Friends | |
class | ACTION_MANAGER |
Base ID to use inside the user interface system to offset the action IDs. More... | |
Represent a single user action.
For instance:
Action class groups all necessary properties of an action, including explanation, icons, hotkeys, menu items, etc.
Definition at line 218 of file tool_action.h.
TOOL_ACTION::TOOL_ACTION | ( | const TOOL_ACTION_ARGS & | aArgs | ) |
Definition at line 70 of file tool_action.cpp.
References ACTION_MANAGER::GetActionList(), TOOL_ACTION_ARGS::m_description, m_description, m_name, TOOL_ACTION_ARGS::m_param, m_param, TOOL_ACTION_ARGS::m_uiid, m_uiid, and TowxString().
TOOL_ACTION::TOOL_ACTION | ( | const std::string & | aName, |
TOOL_ACTION_SCOPE | aScope = AS_CONTEXT , |
||
int | aDefaultHotKey = 0 , |
||
const std::string & | aLegacyHotKeyName = "" , |
||
const wxString & | aMenuText = wxEmptyString , |
||
const wxString & | aTooltip = wxEmptyString , |
||
BITMAPS | aIcon = static_cast<BITMAPS>( 0 ) , |
||
TOOL_ACTION_FLAGS | aFlags = AF_NONE |
||
) |
Definition at line 38 of file tool_action.cpp.
References ACTION_MANAGER::GetActionList(), and SetHotKey().
TOOL_ACTION::~TOOL_ACTION | ( | ) |
Definition at line 101 of file tool_action.cpp.
References ACTION_MANAGER::GetActionList().
|
delete |
|
protected |
Definition at line 58 of file tool_action.cpp.
References SetHotKey().
|
inlinestatic |
Definition at line 294 of file tool_action.h.
References ACTION_BASE_UI_ID.
Referenced by ACTION_GROUP::GetUIId(), ACTION_MANAGER::IsActionUIId(), and ACTION_TOOLBAR::onToolEvent().
|
inline |
Return the default hotkey (if any) for the action.
Definition at line 257 of file tool_action.h.
References m_defaultHotKey.
|
inline |
Definition at line 258 of file tool_action.h.
References m_defaultHotKeyAlt.
wxString TOOL_ACTION::GetDescription | ( | ) | const |
Definition at line 142 of file tool_action.cpp.
References GetTooltip(), and m_description.
Referenced by NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages(), NL_SCHEMATIC_PLUGIN_IMPL::exportCommandsAndImages(), and NL_PCBNEW_PLUGIN_IMPL::exportCommandsAndImages().
|
inline |
Return the hotkey keycode which initiates the action.
Definition at line 263 of file tool_action.h.
References m_hotKey.
Referenced by APPEARANCE_CONTROLS::createControls(), PAD_TOOL::enterPadEditMode(), GetTooltip(), PANEL_GRID_SETTINGS::PANEL_GRID_SETTINGS(), APPEARANCE_CONTROLS::rebuildLayers(), APPEARANCE_CONTROLS::rebuildNets(), PCB_LAYER_BOX_SELECTOR::Resync(), and ACTION_MANAGER::UpdateHotKeys().
|
inline |
Definition at line 264 of file tool_action.h.
References m_hotKeyAlt.
Referenced by ACTION_MANAGER::UpdateHotKeys().
|
inline |
Return an icon associated with the action.
It is used in context menu.
Definition at line 365 of file tool_action.h.
References m_icon.
Referenced by ACTION_MENU::Add(), ACTION_TOOLBAR::Add(), ACTION_TOOLBAR_PALETTE::AddAction(), ACTION_TOOLBAR::AddButton(), ACTION_TOOLBAR::AddGroup(), ACTION_TOOLBAR::doSelectAction(), NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages(), NL_SCHEMATIC_PLUGIN_IMPL::exportCommandsAndImages(), and NL_PCBNEW_PLUGIN_IMPL::exportCommandsAndImages().
|
inline |
Return the unique id of the TOOL_ACTION object.
It is valid only after registering the TOOL_ACTION by ACTION_MANAGER.
Definition at line 274 of file tool_action.h.
References m_id.
Referenced by CONDITIONAL_MENU::AddCheckItem(), CONDITIONAL_MENU::AddItem(), ACTION_MANAGER::GetCondition(), ACTION_MANAGER::GetHotKey(), APPEARANCE_CONTROLS::onNetclassContextMenu(), ACTION_MANAGER::SetConditions(), and ACTION_MANAGER::UpdateHotKeys().
wxString TOOL_ACTION::GetLabel | ( | ) | const |
Return the translated label for the action.
Definition at line 125 of file tool_action.cpp.
References m_label.
Referenced by PANEL_KICAD_LAUNCHER::CreateLaunchers(), NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages(), NL_SCHEMATIC_PLUGIN_IMPL::exportCommandsAndImages(), NL_PCBNEW_PLUGIN_IMPL::exportCommandsAndImages(), TOOLS_HOLDER::PushTool(), WIDGET_HOTKEY_LIST::resolveKeyConflicts(), and TOOLS_HOLDER::ShowChangedLanguage().
wxString TOOL_ACTION::GetMenuItem | ( | ) | const |
Definition at line 134 of file tool_action.cpp.
References AddHotkeyName(), IS_HOTKEY, m_hotKey, and m_label.
Referenced by ACTION_MENU::Add().
|
inline |
Return name of the action.
It is the same one that is contained in TOOL_EVENT that is sent by activating the TOOL_ACTION. Convention is "app.tool.actionName".
Definition at line 252 of file tool_action.h.
References m_name.
Referenced by TOOLS_HOLDER::CurrentToolName(), ACTION_TOOLBAR::doSelectAction(), NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages(), NL_SCHEMATIC_PLUGIN_IMPL::exportCommandsAndImages(), NL_PCBNEW_PLUGIN_IMPL::exportCommandsAndImages(), HOTKEY_STORE::GetAppName(), TOOLS_HOLDER::IsCurrentTool(), ACTION_MANAGER::RegisterAction(), ACTION_MANAGER::RunHotKey(), NL_3D_VIEWER_PLUGIN_IMPL::SetActiveCommand(), NL_SCHEMATIC_PLUGIN_IMPL::SetActiveCommand(), NL_PCBNEW_PLUGIN_IMPL::SetActiveCommand(), and ACTION_MANAGER::SetConditions().
|
inline |
Return a non-standard parameter assigned to the action.
Definition at line 316 of file tool_action.h.
|
inline |
Definition at line 310 of file tool_action.h.
References m_scope.
Referenced by HOTKEY_STORE::CheckKeyConflicts().
std::string TOOL_ACTION::GetToolName | ( | ) | const |
Return name of the tool associated with the action.
It is basically the action name stripped of the last part (e.g. for "pcbnew.InteractiveDrawing.drawCircle" it is "pcbnew.InteractiveDrawing").
Definition at line 170 of file tool_action.cpp.
References m_name.
Referenced by HOTKEY_STORE::CheckKeyConflicts(), NL_3D_VIEWER_PLUGIN_IMPL::exportCommandsAndImages(), NL_SCHEMATIC_PLUGIN_IMPL::exportCommandsAndImages(), and NL_PCBNEW_PLUGIN_IMPL::exportCommandsAndImages().
wxString TOOL_ACTION::GetTooltip | ( | bool | aIncludeHotkey = true | ) | const |
Definition at line 152 of file tool_action.cpp.
References GetHotKey(), KeyNameFromKeyCode(), and m_tooltip.
Referenced by ACTION_MENU::Add(), ACTION_TOOLBAR::Add(), ACTION_TOOLBAR_PALETTE::AddAction(), ACTION_TOOLBAR::AddButton(), PANEL_KICAD_LAUNCHER::CreateLaunchers(), ACTION_TOOLBAR::doSelectAction(), and GetDescription().
|
inline |
Definition at line 289 of file tool_action.h.
References ACTION_BASE_UI_ID, m_id, and m_uiid.
Referenced by ACTION_MENU::Add(), ACTION_TOOLBAR::Add(), ACTION_TOOLBAR_PALETTE::AddAction(), ACTION_TOOLBAR::AddButton(), ACTION_TOOLBAR::AddToolContextMenu(), ACTION_TOOLBAR_PALETTE::CheckAction(), ACTION_TOOLBAR_PALETTE::EnableAction(), EDA_BASE_FRAME::HandleUpdateUIEvent(), ACTION_TOOLBAR::popupPalette(), ACTION_MANAGER::RegisterAction(), TOOLS_HOLDER::RegisterUIUpdateHandler(), ACTION_TOOLBAR::SetToolBitmap(), ACTION_TOOLBAR::Toggle(), and TOOLS_HOLDER::UnregisterUIUpdateHandler().
|
inline |
Return true if this action has a custom UI ID set.
Definition at line 279 of file tool_action.h.
References m_uiid.
Referenced by ACTION_MANAGER::RegisterAction().
|
inline |
Return true if the action is intended to activate a tool.
Definition at line 347 of file tool_action.h.
References AF_ACTIVATE, and m_flags.
Referenced by MakeEvent().
|
inline |
Return true if the action is a notification.
Definition at line 355 of file tool_action.h.
References AF_NOTIFY, and m_flags.
Referenced by MakeEvent().
TOOL_EVENT TOOL_ACTION::MakeEvent | ( | ) | const |
Return the event associated with the action (i.e.
the event that will be sent after activating the action).
Definition at line 107 of file tool_action.cpp.
References IsActivation(), IsNotification(), m_name, m_param, m_scope, TOOL_EVENT::SetParameter(), TA_ACTION, TA_ACTIVATE, TA_NONE, TC_COMMAND, and TC_MESSAGE.
Referenced by EE_SELECTION_TOOL::autostartEvent(), PCB_POINT_EDITOR::changeArcEditMode(), PANEL_KICAD_LAUNCHER::CreateLaunchers(), TOOL_MANAGER::doRunAction(), TOOL_EVENT::IsAction(), EE_SELECTION_TOOL::Main(), ACTION_TOOLBAR::onPaletteEvent(), TOOLS_HOLDER::PopTool(), ROUTER_TOOL::setTransitions(), and BOARD_EDITOR_CONTROL::setTransitions().
|
inline |
Definition at line 239 of file tool_action.h.
References m_id.
|
delete |
|
inline |
Definition at line 234 of file tool_action.h.
References m_id.
void TOOL_ACTION::SetHotKey | ( | int | aKeycode, |
int | aKeycodeAlt = 0 |
||
) |
Definition at line 163 of file tool_action.cpp.
References m_hotKey, and m_hotKeyAlt.
Referenced by ACTION_MANAGER::processHotKey(), HOTKEY_STORE::SaveAllHotkeys(), and TOOL_ACTION().
|
friend |
Base ID to use inside the user interface system to offset the action IDs.
Definition at line 373 of file tool_action.h.
|
staticconstexprprotected |
Name of the action (convention is "app.tool.actionName")
Definition at line 376 of file tool_action.h.
Referenced by GetBaseUIId(), and GetUIId().
|
protected |
Definition at line 382 of file tool_action.h.
Referenced by GetDefaultHotKey(), and ACTION_MANAGER::processHotKey().
|
protected |
Definition at line 383 of file tool_action.h.
Referenced by GetDefaultHotKeyAlt().
|
protected |
Definition at line 390 of file tool_action.h.
Referenced by GetDescription(), and TOOL_ACTION().
|
protected |
Definition at line 397 of file tool_action.h.
Referenced by IsActivation(), and IsNotification().
|
protected |
Definition at line 384 of file tool_action.h.
Referenced by GetHotKey(), GetMenuItem(), ACTION_MANAGER::processHotKey(), PSEUDO_ACTION::PSEUDO_ACTION(), and SetHotKey().
|
protected |
Definition at line 385 of file tool_action.h.
Referenced by GetHotKeyAlt(), and SetHotKey().
|
protected |
Definition at line 392 of file tool_action.h.
Referenced by GetIcon().
|
protected |
Definition at line 394 of file tool_action.h.
Referenced by GetId(), GetUIId(), operator!=(), and operator==().
|
protected |
Definition at line 388 of file tool_action.h.
Referenced by GetLabel(), GetMenuItem(), and PSEUDO_ACTION::PSEUDO_ACTION().
|
protected |
Definition at line 386 of file tool_action.h.
Referenced by ACTION_MANAGER::processHotKey().
|
protected |
Definition at line 379 of file tool_action.h.
Referenced by GetName(), GetToolName(), MakeEvent(), ACTION_MANAGER::processHotKey(), ACTION_MANAGER::RegisterAction(), and TOOL_ACTION().
|
protected |
Definition at line 398 of file tool_action.h.
Referenced by GetParam(), MakeEvent(), and TOOL_ACTION().
|
protected |
Definition at line 380 of file tool_action.h.
Referenced by GetScope(), and MakeEvent().
|
protected |
Definition at line 389 of file tool_action.h.
Referenced by GetTooltip().
|
protected |
Definition at line 395 of file tool_action.h.
Referenced by GetUIId(), HasCustomUIId(), and TOOL_ACTION().