Salome HOME
Issue #2541: Clear remaining messages after undo/redo of last operation
[modules/shaper.git] / src / SHAPERGUI / SHAPERGUI_NestedButton.cpp
index 1440d92e9705c64505f5e19367fbdf45d590bf13..37926325ea41863ae0185acffcf39f420988acd5 100644 (file)
@@ -1,19 +1,40 @@
+// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or
+// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+//
+
 /*
- * NewGeom_NestedButton.cpp
+ * SHAPERGUI_NestedButton.cpp
  *
  *  Created on: Apr 13, 2015
  *      Author: sbh
  */
 
-#include <NewGeom_NestedButton.h>
+#include <SHAPERGUI_NestedButton.h>
 
 #include <QAction>
 #include <QFrame>
 #include <QHBoxLayout>
 #include <QToolButton>
+#include <QToolBar>
 #include <QEvent>
 
-NewGeom_NestedButton::NewGeom_NestedButton(QObject* theParent,
+SHAPERGUI_NestedButton::SHAPERGUI_NestedButton(QObject* theParent,
                                            const QList<QAction*>& theNestedActions)
 : QWidgetAction(theParent),
   myNestedActions(theNestedActions),
@@ -23,11 +44,11 @@ NewGeom_NestedButton::NewGeom_NestedButton(QObject* theParent,
 {
 }
 
-NewGeom_NestedButton::~NewGeom_NestedButton()
+SHAPERGUI_NestedButton::~SHAPERGUI_NestedButton()
 {
 }
 
-void NewGeom_NestedButton::showAdditionalButtons(bool isShow)
+void SHAPERGUI_NestedButton::showAdditionalButtons(bool isShow)
 {
   myAdditionalButtonsWidget->setVisible(isShow);
   if (isShow) {
@@ -41,8 +62,14 @@ void NewGeom_NestedButton::showAdditionalButtons(bool isShow)
   }
 }
 
-QWidget * NewGeom_NestedButton::createWidget(QWidget * theParent)
+QWidget * SHAPERGUI_NestedButton::createWidget(QWidget * theParent)
 {
+  // the action has widget only in tool bar, in menu bar, the default
+  // action presentation is shown
+  QToolBar* aToolBar = dynamic_cast<QToolBar*>(theParent);
+  if (!aToolBar)
+    return 0;
+
   myButtonFrame = new QFrame(theParent);
   QHBoxLayout* aBoxLay = new QHBoxLayout(myButtonFrame);
   aBoxLay->setContentsMargins(2, 0, 0, 0);
@@ -77,7 +104,7 @@ QWidget * NewGeom_NestedButton::createWidget(QWidget * theParent)
   return myButtonFrame;
 }
 
-bool NewGeom_NestedButton::event(QEvent* theEvent)
+bool SHAPERGUI_NestedButton::event(QEvent* theEvent)
 {
   if (theEvent->type() == QEvent::ActionChanged) {
     if (myThisButton) {
@@ -89,12 +116,12 @@ bool NewGeom_NestedButton::event(QEvent* theEvent)
 }
 
 
-void NewGeom_NestedButton::actionStateChanged()
+void SHAPERGUI_NestedButton::actionStateChanged()
 {
   if (isEnabled()) {
     QString s = "true";
   } else {
     QString s = "false";
   }
-  
+
 }