Gui::MacroCommand Class Reference

The script command class This is a special type of command class. More...

#include <Command.h>

Public Member Functions

 MacroCommand (const char *name, bool system=false)
 
virtual ~MacroCommand ()
 
Methods to set the properties of the Script Command
void setScriptName (const char *)
 Sets the script name. More...
 
- Public Member Functions inherited from Gui::Command
const char * beginCmdHelp (void)
 returns the begin of a online help page More...
 
const char * endCmdHelp (void)
 returns the end of a online help page More...
 
virtual const char * getHelpUrl (void) const
 Get the help URL. More...
 
bool hasActiveDocument (void) const
 true when there is a document More...
 
bool hasObject (const char *Name)
 true when there is a document and a Feature with Name More...
 
const char * getAppModuleName (void) const
 returns the name to which the command belongs More...
 
void setAppModuleName (const char *)
 
const char * getName () const
 Get the command name. More...
 
const char * getGroupName () const
 Get the name of the grouping of the command. More...
 
void setGroupName (const char *)
 
QString translatedGroupName () const
 
virtual bool isActive (void)
 Override this method if your Cmd is not always active. More...
 
void testActive (void)
 Get somtile called to check the state of the command. More...
 
void setEnabled (bool)
 Enables or disables the command. More...
 
void recreateTooltip (const char *context, Action *)
 (Re)Create the text for the tooltip (for example, when the shortcut is changed) More...
 
TriggerSource triggerSource () const
 Return the current command trigger source. More...
 
void invoke (int index, TriggerSource trigger=TriggerNone)
 Called to invoke the command. More...
 
void addTo (QWidget *)
 adds this command to arbitrary widgets More...
 
void addToGroup (ActionGroup *, bool checkable)
 
void addToGroup (ActionGroup *)
 
void adjustCameraPosition ()
 
Gui::DocumentgetActiveGuiDocument (void) const
 Get pointer to the active gui document. More...
 
App::DocumentgetDocument (const char *Name=nullptr) const
 Get pointer to the named or active App document Returns a pointer to the named document or the active document when no name is given. More...
 
bool isViewOfType (Base::Type t) const
 checks if the active view is of a special type or derived More...
 
App::DocumentObjectgetObject (const char *Name) const
 returns the named feature or the active one from the active document or NULL More...
 
std::string getUniqueObjectName (const char *BaseName, const App::DocumentObject *obj=nullptr) const
 Get unique Feature name from the active document. More...
 
void updateAction (int mode)
 Updates the QAction with respect to the passed mode. More...
 
void setupCheckable (int iMsg)
 Setup checkable actions based on current TriggerSource. More...
 
const std::string strToPython (const char *Str)
 translate a string to a python string literal (needed e.g. in file names for windows...) More...
 
const std::string strToPython (const std::string &Str)
 
- Public Member Functions inherited from Gui::CommandBase
ActiongetAction () const
 Returns the Action object of this command, or 0 if it doesn't exist. More...
 
virtual const char * getMenuText () const
 
virtual const char * getToolTipText () const
 
virtual const char * getStatusTip () const
 
virtual const char * getWhatsThis () const
 
virtual const char * getPixmap () const
 
virtual const char * getAccel () const
 
void setWhatsThis (const char *)
 
void setMenuText (const char *)
 
void setToolTipText (const char *)
 
void setStatusTip (const char *)
 
void setPixmap (const char *)
 
void setAccel (const char *)
 

Methods to load and save macro commands.

const char * sScriptName
 
bool systemMacro
 
static void load ()
 Loads all macros command from the preferences. More...
 
static void save ()
 Saves all macros command to the preferences. More...
 

methods reimplemented for Command Framework

const char * getScriptName () const
 Returns the script name. More...
 
void languageChange ()
 Ignore when language has changed. More...
 
const char * className () const
 The C++ class name is needed as context for the translation framework. More...
 
void activated (int iMsg)
 Method which get called when activated. More...
 
ActioncreateAction (void)
 Creates the used Action. More...
 

Additional Inherited Members

- Public Types inherited from Gui::Command
enum  TriggerSource { TriggerNone , TriggerAction , TriggerChildAction }
 Command trigger source. More...
 
enum  DoCmd_Type { Doc , App , Gui }
 types of application level actions for DoCommand() More...
 
- Static Public Member Functions inherited from Gui::Command
static void blockCommand (bool)
 Blocks all command objects. More...
 
static void printPyCaller ()
 Print to Python console the current Python calling source file and line number. More...
 
static void printCaller (const char *file, int line)
 Print to Python console the current calling source file and line number. More...
 
static void addModule (DoCmd_Type eType, const char *sModuleName)
 import an external (or own) module only once More...
 
static ApplicationgetGuiApplication (void)
 Get pointer to the Application Window. More...
 
static Gui::SelectionSingletongetSelection (void)
 Get a reference to the selection. More...
 
static std::string getObjectCmd (const char *Name, const App::Document *doc=nullptr, const char *prefix=nullptr, const char *postfix=nullptr, bool gui=false)
 returns a python command string to retrieve an object from a document More...
 
static std::string getObjectCmd (const App::DocumentObject *obj, const char *prefix=nullptr, const char *postfix=nullptr, bool gui=false)
 returns a python command string to retrieve the given object More...
 
static void openCommand (const char *sName=nullptr)
 Open a new Undo transaction on the active document. More...
 
static void commitCommand (void)
 Commit the Undo transaction on the active document. More...
 
static void abortCommand (void)
 Abort the Undo transaction on the active document. More...
 
static bool hasPendingCommand (void)
 Check if an Undo transaction is open on the active document. More...
 
static void updateActive (void)
 Updates the (active) document (propagate changes) More...
 
static void updateAll (std::list< Gui::Document * > cList)
 Updates the (all or listed) documents (propagate changes) More...
 
static bool isActiveObjectValid (void)
 Checks if the active object of the active document is valid. More...
 
static std::string getPythonTuple (const std::string &name, const std::vector< std::string > &subnames)
 Get Python tuple from object and sub-elements. More...
 
- Protected Types inherited from Gui::Command
enum  CmdType {
  AlterDoc = 1 , Alter3DView = 2 , AlterSelection = 4 , ForEdit = 8 ,
  NoTransaction = 16
}
 
- Protected Member Functions inherited from Gui::Command
 Command (const char *name)
 
virtual ~Command ()
 
void applyCommandData (const char *context, Action *)
 Applies the menu text, tool and status tip to the passed action object. More...
 
const char * keySequenceToAccel (int) const
 
void printConflictingAccelerators () const
 
- Protected Member Functions inherited from Gui::CommandBase
 CommandBase (const char *sMenu, const char *sToolTip=nullptr, const char *sWhat=nullptr, const char *sStatus=nullptr, const char *sPixmap=nullptr, const char *sAccel=nullptr)
 
virtual ~CommandBase ()
 
- Protected Attributes inherited from Gui::Command
const char * sAppModule
 
const char * sGroup
 
const char * sName
 
const char * sHelpUrl
 
int eType
 
bool bCanLog
 Indicate if the command shall log to MacroManager. More...
 
- Protected Attributes inherited from Gui::CommandBase
const char * sMenuText
 
const char * sToolTipText
 
const char * sWhatsThis
 
const char * sStatusTip
 
const char * sPixmap
 
const char * sAccel
 
std::string displayText
 

Detailed Description

The script command class This is a special type of command class.

Its used to bind a macro or Python script to the FreeCAD command framework. An object of this class gets a string to the place where the script is in the file system. Unlike the other commands the resources can be set by several methods.

See also
Command
CommandManager
Author
Werner Mayer

Constructor & Destructor Documentation

◆ MacroCommand()

MacroCommand::MacroCommand ( const char *  name,
bool  system = false 
)

References Gui::Command::eType, Gui::Command::sGroup, and sScriptName.

Referenced by load().

◆ ~MacroCommand()

MacroCommand::~MacroCommand ( )
virtual

Member Function Documentation

◆ activated()

◆ className()

const char * Gui::MacroCommand::className ( ) const
virtual

The C++ class name is needed as context for the translation framework.

Implements Gui::CommandBase.

◆ createAction()

◆ getScriptName()

const char * Gui::MacroCommand::getScriptName ( ) const

◆ languageChange()

void Gui::MacroCommand::languageChange ( )
virtual

Ignore when language has changed.

Reimplemented from Gui::Command.

◆ load()

◆ save()

◆ setScriptName()

void MacroCommand::setScriptName ( const char *  s)

Member Data Documentation

◆ sScriptName

const char* Gui::MacroCommand::sScriptName
protected

◆ systemMacro

bool Gui::MacroCommand::systemMacro
protected

Referenced by activated(), load(), and save().


The documentation for this class was generated from the following files: