X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Command.h;h=0f5aa627159862b360ea38b44e0ec56c38600fa7;hb=fc2acc7bd36f7bff6ec1f5095bf7c44be15e2574;hp=180395501b2b1afe56098f3fab2415ca14c3e44e;hpb=5bd491bf7444d3859f91ed88142e6186d8881f6e;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Command.h b/src/XGUI/XGUI_Command.h index 180395501..0f5aa6271 100644 --- a/src/XGUI/XGUI_Command.h +++ b/src/XGUI/XGUI_Command.h @@ -1,32 +1,44 @@ #ifndef XGUI_Command_H #define XGUI_Command_H +#include "XGUI.h" #include -#define MIN_BUTTON_HEIGHT 18 -#define MIN_BUTTON_WIDTH 40 +#define MIN_BUTTON_HEIGHT 25 +#define MIN_BUTTON_WIDTH 60 - -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(); - - virtual bool enabled() const; - virtual void enable(); - virtual void disable(); - virtual QString getId() const { return myId; } - - virtual void connectTo(const QObject* theResiver, const char* theSlot); - -protected: - virtual QWidget* createWidget(QWidget* theParent); - -private: - QString myId; +Q_OBJECT + public: + XGUI_Command(const QString& theId, const QString& theDocumentKind, + QObject * parent, bool isCheckable = false); + XGUI_Command(const QString& theId, const QString& theDocumentKind, + const QIcon& icon, const QString& text, QObject* parent, + bool isCheckable = false); + ~XGUI_Command(); + + const QString& documentKind() const; + const QStringList& nestedCommands() const; + void setNestedCommands(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: + bool myCheckable; + + QString myDocumentKind; + //! List of Ids of commands which WILL NOT be blocked when the command is on. + QStringList myNestedCommands; }; #endif