X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Command.h;h=380b64ae4b8ce90eb1761995cc724d67dc5f81ca;hb=d86c77d1c6210bbe04fbc3e5b00f9e212e1ec930;hp=855dbb91f6dfab95000ec072ef273fb1c1b3ec5b;hpb=2a0dd5ede9110d423fbd6b038c0445cb819163a9;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Command.h b/src/XGUI/XGUI_Command.h index 855dbb91f..380b64ae4 100644 --- a/src/XGUI/XGUI_Command.h +++ b/src/XGUI/XGUI_Command.h @@ -1,34 +1,54 @@ #ifndef XGUI_Command_H #define XGUI_Command_H +#include "XGUI.h" #include #define MIN_BUTTON_HEIGHT 18 #define MIN_BUTTON_WIDTH 40 -class XGUI_Command: public QWidgetAction +/**\class XGUI_Command + * \ingroup GUI + * \brief Represents a command item in the application menu (Workbench) + */ +class XGUI_EXPORT XGUI_Command: public QWidgetAction { Q_OBJECT public: - XGUI_Command(const QString& theId, QObject * parent); - XGUI_Command(const QString& theId, const QIcon& icon, const QString& text, QObject* parent); + XGUI_Command(const QString& theId, QObject * parent, bool isCheckable = false); + XGUI_Command(const QString& theId, const QIcon& icon, const QString& text, QObject* parent, bool isCheckable = false); ~XGUI_Command(); + //! Returns true if the command is enabled virtual bool enabled() const; + + //! Set the command enabled virtual void enable(); + + //! Set the command disabled virtual void disable(); - virtual QString getId() const + + //! Returns Id of the command + virtual QString id() const { return myId; } + const QStringList& unblockableCommands() const; + void setUnblockableCommands(const QStringList& myUnblockableCommands); + + //! Connect the command to a slot virtual void connectTo(const QObject* theResiver, const char* theSlot); protected: + //! Creates a command representation widget dependently on parent widget type virtual QWidget* createWidget(QWidget* theParent); private: QString myId; + bool myCheckable; + //! List of Ids of commands which WILL NOT be blocked when the command is on. + QStringList myUnblockableCommands; }; #endif