X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Command.cpp;h=01b3bf83595f4d8a4dd6d420da4e021285dc1d80;hb=4224f4dbe7ceaefe74b5d6b79a5840a9f5df2d7a;hp=ffd6ab103f7338b833a05020b60e635534532867;hpb=de0f49686ec6655ddc5816c8fa5383964662aec4;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Command.cpp b/src/XGUI/XGUI_Command.cpp index ffd6ab103..01b3bf835 100644 --- a/src/XGUI/XGUI_Command.cpp +++ b/src/XGUI/XGUI_Command.cpp @@ -1,18 +1,20 @@ #include "XGUI_Command.h" - -#include +#include +#include XGUI_Command::XGUI_Command(const QString& theId, QObject * parent, bool isCheckable) - : QWidgetAction(parent), myId(theId), myCheckable(isCheckable) + : QWidgetAction(parent), myCheckable(isCheckable) { + setData(theId); } XGUI_Command::XGUI_Command(const QString& theId, const QIcon& icon, const QString& text, QObject* parent, bool isCheckable) - : QWidgetAction(parent), myId(theId), myCheckable(isCheckable) + : QWidgetAction(parent), myCheckable(isCheckable) { setIcon(icon); setText(text); + setData(theId); } XGUI_Command::~XGUI_Command() @@ -22,56 +24,43 @@ XGUI_Command::~XGUI_Command() QWidget* XGUI_Command::createWidget(QWidget* theParent) { if (theParent->inherits("XGUI_MenuGroupPanel")) { - QPushButton* aButton = new QPushButton(theParent); + QToolButton* aButton = new QToolButton(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()) + if (!aKeys.isEmpty()) { + aToolTip = QString("%1 (%2)").arg(aToolTip).arg(aKeys.toString()); + } + if (!aToolTip.isEmpty()) { aButton->setToolTip(aToolTip); + } + aButton->setCheckable(myCheckable); + aButton->setAutoRaise(true); + aButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + aButton->setMinimumSize(MIN_BUTTON_WIDTH, MIN_BUTTON_HEIGHT); + aButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); - 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(); -} - -void XGUI_Command::enable() -{ - setEnabled(true); -} - -void XGUI_Command::disable() -{ - setEnabled(false); -} - void XGUI_Command::connectTo(const QObject* theResiver, const char* theSlot) { - connect(this, SIGNAL(triggered()), theResiver, theSlot); + connect(this, SIGNAL(triggered(bool)), theResiver, theSlot); } -const QStringList& XGUI_Command::unblockableCommands() const +const QStringList& XGUI_Command::nestedCommands() const { - return myUnblockableCommands; + return myNestedCommands; } -void XGUI_Command::setUnblockableCommands(const QStringList& myUnblockableCommands) +void XGUI_Command::setNestedCommands(const QStringList& myUnblockableCommands) { - this->myUnblockableCommands = myUnblockableCommands; + this->myNestedCommands = myUnblockableCommands; }