The Python command class This is a special type of command class. More...
#include <Command.h>
Public Member Functions | |
PythonCommand (const char *name, PyObject *pcPyCommand, const char *pActivationString) | |
virtual | ~PythonCommand () |
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... | |
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 |
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::Document * | getActiveGuiDocument (void) const |
Get pointer to the active gui document. More... | |
App::Document * | getDocument (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::DocumentObject * | getObject (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 | |
Action * | getAction () const |
Returns the Action object of this command, or 0 if it doesn't exist. More... | |
void | setWhatsThis (const char *) |
void | setMenuText (const char *) |
void | setToolTipText (const char *) |
void | setStatusTip (const char *) |
void | setPixmap (const char *) |
void | setAccel (const char *) |
Protected Member Functions | |
Methods reimplemented for Command Framework | |
virtual void | activated (int iMsg) |
Method which gets called when activated. More... | |
virtual bool | isActive (void) |
if the command is not always active More... | |
const char * | getHelpUrl (void) const |
Get the help URL. More... | |
virtual Action * | createAction (void) |
Creates the used Action. More... | |
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 () |
Methods to get the properties of the command | |
std::string | Activation |
the activation sequence More... | |
void | languageChange () |
Reassigns QAction stuff after the language has changed. More... | |
const char * | className () const |
The C++ class name is needed as context for the translation framework. More... | |
const char * | getWhatsThis () const |
const char * | getMenuText () const |
const char * | getToolTipText () const |
const char * | getStatusTip () const |
const char * | getPixmap () const |
const char * | getAccel () const |
bool | isCheckable () const |
bool | isChecked () const |
const char * | getResource (const char *sName) const |
Returns the resource values. 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 Application * | getGuiApplication (void) |
Get pointer to the Application Window. More... | |
static Gui::SelectionSingleton & | getSelection (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 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 |
The Python command class This is a special type of command class.
It's used to bind a Python command class into the FreeCAD command framework. An object of this class gets a reference to the Python command object and manages all the passing between the C++ and the Python world. This includes everything like setting resources such as bitmaps, activation or bindings to the user interface.
PythonCommand::PythonCommand | ( | const char * | name, |
PyObject * | pcPyCommand, | ||
const char * | pActivationString | ||
) |
|
virtual |
|
protectedvirtual |
Method which gets called when activated.
Implements Gui::Command.
References Activation, Base::Console(), Gui::Command::Doc, Base::ConsoleSingleton::Error(), isCheckable(), Base::InterpreterSingleton::runMethod(), Base::InterpreterSingleton::runMethodVoid(), and Gui::Command::sName.
|
virtual |
The C++ class name is needed as context for the translation framework.
Implements Gui::CommandBase.
|
protectedvirtual |
Creates the used Action.
Reimplemented from Gui::Command.
References Gui::Command::applyCommandData(), Gui::BitmapFactory(), Base::Console(), Base::ConsoleSingleton::Error(), getAccel(), Gui::getMainWindow(), Gui::Command::getName(), getResource(), isCheckable(), isChecked(), Gui::Command::printConflictingAccelerators(), Gui::Action::setCheckable(), Gui::Action::setChecked(), Gui::Action::setIcon(), and Gui::Action::setShortcut().
|
virtual |
|
protectedvirtual |
Get the help URL.
Reimplemented from Gui::Command.
References Base::InterpreterSingleton::runMethodObject().
|
virtual |
Reimplemented from Gui::CommandBase.
References getResource().
|
virtual |
Reimplemented from Gui::CommandBase.
References getResource().
|
protected |
Returns the resource values.
References Gui::Command::sName.
Referenced by createAction(), getAccel(), getMenuText(), getPixmap(), getStatusTip(), getToolTipText(), getWhatsThis(), and PythonCommand().
|
virtual |
Reimplemented from Gui::CommandBase.
References getResource().
|
virtual |
Reimplemented from Gui::CommandBase.
References getResource().
|
virtual |
Reimplemented from Gui::CommandBase.
References Gui::Command::getName(), and getResource().
|
protectedvirtual |
if the command is not always active
Reimplemented from Gui::Command.
bool PythonCommand::isCheckable | ( | ) | const |
Referenced by activated(), createAction(), and Gui::PythonGroupCommand::createAction().
bool PythonCommand::isChecked | ( | ) | const |
Referenced by createAction(), and Gui::PythonGroupCommand::createAction().
|
virtual |
Reassigns QAction stuff after the language has changed.
Reimplemented from Gui::Command.
References Gui::Command::applyCommandData(), and Gui::Command::getName().
|
protected |
the activation sequence
Referenced by activated(), and PythonCommand().