28#ifndef __TOOL_MANAGER_H
29#define __TOOL_MANAGER_H
99 bool InvokeTool(
const std::string& aToolName );
144 template<
typename T, std::enable_if_t<!std::is_convertible_v<T*, COMMIT*>>* =
nullptr>
145 bool RunAction(
const std::string& aActionName, T aParam )
148 std::any a(
static_cast<T
>( aParam ) );
150 return doRunAction( aActionName,
true, a,
nullptr );
158 return doRunAction( aActionName,
true, a,
nullptr );
172 template<
typename T, std::enable_if_t<!std::is_convertible_v<T, COMMIT*>>* =
nullptr>
176 std::any a(
static_cast<T
>( aParam ) );
195 std::any a(
static_cast<T
>( aParam ) );
233 std::any a(
static_cast<T
>( aParam ) );
235 return doRunAction( aActionName,
false, a,
nullptr );
243 return doRunAction( aActionName,
false, a,
nullptr );
260 std::any a(
static_cast<T
>( aParam ) );
313 std::map<const char*, TOOL_BASE*>::iterator tool =
m_toolTypes.find(
typeid( T ).
name() );
316 return static_cast<T*
>( tool->second );
541 typedef std::pair<TOOL_EVENT_LIST, TOOL_STATE_FUNC>
TRANSITION;
547 bool doRunAction(
const std::string& aActionName,
bool aNow,
const std::any& aParam,
COMMIT* aCommit );
Manage TOOL_ACTION objects.
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
Represent a set of changes (additions, deletions or modifications) of a data model (e....
A base class for most all the KiCad significant classes used in schematics and boards.
An interface for classes handling user events controlling the view behavior such as zooming,...
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
Structure to keep VIEW_CONTROLS settings for easy store/restore operations.