#ifndef XGUI_Command_H
#define XGUI_Command_H
+#include "XGUI.h"
#include <QWidgetAction>
#define MIN_BUTTON_HEIGHT 18
* \ingroup GUI
* \brief Represents a command item in the application menu (Workbench)
*/
-class XGUI_Command: public QWidgetAction
+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();
-
- //! Returns Id of the command
- virtual QString getId() const
+ //VSV: Don't use this method for compatibility with SALOME. Use the construction below
+ /*virtual QString id() const
{
- return myId;
- }
+ return data().toString();
+ }*/
+
+ const QStringList& unblockableCommands() const;
+ void setUnblockableCommands(const QStringList& myUnblockableCommands);
//! Connect the command to a slot
virtual void connectTo(const QObject* theResiver, const char* theSlot);
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