X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Command.h;h=0f5aa627159862b360ea38b44e0ec56c38600fa7;hb=acebef0bc5fb22dc9672e0046085b896e957af56;hp=e3759a4aa922644f588a1d1c61d465f7fcd99137;hpb=cea3f78cfb7c796ba5be6bc9ee21e930abe14021;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Command.h b/src/XGUI/XGUI_Command.h index e3759a4aa..0f5aa6271 100644 --- a/src/XGUI/XGUI_Command.h +++ b/src/XGUI/XGUI_Command.h @@ -1,34 +1,44 @@ #ifndef XGUI_Command_H #define XGUI_Command_H -#include "XGUI_Interfaces.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, public IFeatureMenu +/**\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 \ No newline at end of file +#endif