X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Command.cpp;h=9b5dd7b9abfa4ea89a6e5e81f9e2ecbc529a0dab;hb=00265e8a59b2eff159cef64eef8de47ed4b9b728;hp=3ba1689a3b5168c44bb828a7f22de419154429ee;hpb=dcfbdb77dfd1e8f4f5a9f636ff5534d74af3592e;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Command.cpp b/src/XGUI/XGUI_Command.cpp index 3ba1689a3..9b5dd7b9a 100644 --- a/src/XGUI/XGUI_Command.cpp +++ b/src/XGUI/XGUI_Command.cpp @@ -2,61 +2,76 @@ #include -XGUI_Command::XGUI_Command(const QString& theId, QObject * parent) : - QWidgetAction(parent), myId(theId) +XGUI_Command::XGUI_Command(const QString& theId, QObject * parent, bool isCheckable) + : QWidgetAction(parent), myId(theId), myCheckable(isCheckable) { } -XGUI_Command::XGUI_Command(const QString& theId, const QIcon& icon, const QString& text, QObject* parent): - QWidgetAction(parent), myId(theId) +XGUI_Command::XGUI_Command(const QString& theId, const QIcon& icon, const QString& text, + QObject* parent, bool isCheckable) + : QWidgetAction(parent), myId(theId), myCheckable(isCheckable) { - setIcon(icon); - setText(text); + setIcon(icon); + setText(text); } - XGUI_Command::~XGUI_Command() { } QWidget* XGUI_Command::createWidget(QWidget* theParent) { - if (theParent->inherits("XGUI_MenuGroupPanel")) { - QPushButton* aBtn = new QPushButton(theParent); - aBtn->setIcon(icon()); - aBtn->setText(text()); - QKeySequence aKeys = shortcut(); - QString aToolTip = toolTip(); - if (!aKeys.isEmpty()) - aToolTip = aToolTip + " (" + aKeys.toString() + ")"; - if (!aToolTip.isEmpty()) - aBtn->setToolTip(aToolTip); - - aBtn->addAction(this); - connect(aBtn, SIGNAL(clicked()), this, SLOT(trigger())); - aBtn->setFlat(true); - aBtn->setMinimumSize(MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT); - return aBtn; - } - return QWidgetAction::createWidget(theParent); + if (theParent->inherits("XGUI_MenuGroupPanel")) { + QPushButton* aButton = new QPushButton(theParent); + aButton->setIcon(icon()); + aButton->setText(text()); + aButton->setStyleSheet("text-align: left"); + QKeySequence aKeys = shortcut(); + QString aToolTip = toolTip(); + if (!aKeys.isEmpty()) + aToolTip = aToolTip + " (" + aKeys.toString() + ")"; + if (!aToolTip.isEmpty()) + aButton->setToolTip(aToolTip); + + aButton->addAction(this); + connect(aButton, SIGNAL(clicked()), this, SLOT(trigger())); + connect(this, SIGNAL(toggled(bool)), aButton, SLOT(setChecked(bool))); + aButton->setFlat(true); + aButton->setCheckable(myCheckable); + this->setCheckable(myCheckable); + aButton->setMinimumSize(MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT); + + return aButton; + } + return QWidgetAction::createWidget(theParent); } bool XGUI_Command::enabled() const { - return isEnabled(); + return isEnabled(); } void XGUI_Command::enable() { - setEnabled(true); + setEnabled(true); } void XGUI_Command::disable() { - setEnabled(false); + setEnabled(false); } void XGUI_Command::connectTo(const QObject* theResiver, const char* theSlot) { - connect(this, SIGNAL(triggered()), theResiver, theSlot); -} \ No newline at end of file + connect(this, SIGNAL(triggered(bool)), theResiver, theSlot); +} + +const QStringList& XGUI_Command::unblockableCommands() const +{ + return myUnblockableCommands; +} + +void XGUI_Command::setUnblockableCommands(const QStringList& myUnblockableCommands) +{ + this->myUnblockableCommands = myUnblockableCommands; +}