Salome HOME
Issue #20 Better look&feel for workbench's buttons.
[modules/shaper.git] / src / XGUI / XGUI_MenuGroupPanel.cpp
index 00d131278ca54b0036977d42da2d37a1bac2587f..8d5d24b2146206e706922eff835521861c478797 100644 (file)
@@ -7,6 +7,7 @@
 #include <QResizeEvent>
 
 #include <math.h>
+#include <iostream>
 
 XGUI_MenuGroupPanel::XGUI_MenuGroupPanel(QWidget *parent)
     : QWidget(parent), myNewRow(0), myNewCol(0), myMaxRow(1)
@@ -31,7 +32,8 @@ void XGUI_MenuGroupPanel::placeWidget(QWidget* theWgt)
     myNewRow = 0;
     myNewCol++;
   }
-  myLayout->addWidget(theWgt, myNewRow, myNewCol, Qt::AlignLeft);
+  myLayout->addWidget(theWgt, myNewRow, myNewCol);
+  myLayout->setRowStretch(myNewRow, 0);
   myNewRow++;
 }
 
@@ -57,13 +59,14 @@ void XGUI_MenuGroupPanel::resizeEvent(QResizeEvent* theEvent)
   foreach(QWidget* eachWidget, myActionWidget) {
     placeWidget(eachWidget);
   }
+  myLayout->setRowStretch(myMaxRow + 1,  1);
 }
 
 XGUI_Command* XGUI_MenuGroupPanel::addFeature(const QString& theId, const QString& theTitle,
                                               const QString& theTip, const QIcon& theIcon,
-                                              const QKeySequence& theKeys)
+                                              const QKeySequence& theKeys, bool isCheckable)
 {
-  XGUI_Command* aCommand = new XGUI_Command(theId, theIcon, theTitle, this);
+  XGUI_Command* aCommand = new XGUI_Command(theId, theIcon, theTitle, this, isCheckable);
   aCommand->setToolTip(theTip);
   if (!theKeys.isEmpty())
     aCommand->setShortcut(theKeys);
@@ -75,9 +78,9 @@ XGUI_Command* XGUI_MenuGroupPanel::addFeature(const QString& theId, const QStrin
 
 XGUI_Command* XGUI_MenuGroupPanel::feature(const QString& theId) const
 {
-  QList<XGUI_Command*>::const_iterator aIt;
-  for (aIt = myActions.constBegin(); aIt != myActions.constEnd(); ++aIt)
-    if ((*aIt)->id() == theId)
-      return (*aIt);
+  foreach (XGUI_Command* aCmd, myActions) {
+    if (aCmd->data().toString() == theId)
+      return aCmd;
+  }
   return 0;
-}
\ No newline at end of file
+}