Salome HOME
Default menu size from preferences
[modules/shaper.git] / src / XGUI / XGUI_MenuGroupPanel.cpp
index 4f4673470417dad3dcb02a3d1ac5f13080df9201..f268c369122f0d70094eb6546747a7b1d506d71c 100644 (file)
 #include <iostream>
 
 XGUI_MenuGroupPanel::XGUI_MenuGroupPanel(QWidget *parent)
-    : QWidget(parent), myNewRow(0), myNewCol(0), myMaxRow(1)
+    : QFrame(parent), myNewRow(0), myNewCol(0), myMaxRow(1)
 {
   myLayout = new QGridLayout(this);
   myLayout->setSpacing(0);
   myLayout->setMargin(0);
   myLayout->setContentsMargins(0, 0, 0, 0);
+  setFrameShape(QFrame::NoFrame);
 }
 
+
+
 void XGUI_MenuGroupPanel::addCommand(XGUI_Command* theAction)
 {
   myActions.append(theAction);
@@ -32,7 +35,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++;
 }
 
@@ -58,6 +62,7 @@ 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,
@@ -66,9 +71,9 @@ XGUI_Command* XGUI_MenuGroupPanel::addFeature(const QString& theId, const QStrin
 {
   XGUI_Command* aCommand = new XGUI_Command(theId, theIcon, theTitle, this, isCheckable);
   aCommand->setToolTip(theTip);
-  if (!theKeys.isEmpty())
+  if (!theKeys.isEmpty()) {
     aCommand->setShortcut(theKeys);
-
+  }
   addCommand(aCommand);
   return aCommand;
 }
@@ -76,9 +81,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;
 }