]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Create error label
authorvsv <vitaly.smetannikov@opencascade.com>
Tue, 8 Sep 2015 10:01:54 +0000 (13:01 +0300)
committervsv <vitaly.smetannikov@opencascade.com>
Tue, 8 Sep 2015 10:01:54 +0000 (13:01 +0300)
src/ModuleBase/ModuleBase_WidgetErrorLabel.cpp
src/ModuleBase/ModuleBase_WidgetErrorLabel.h

index 2f8260c91fdb6bb197dae24cc9d807766f6a92db..2291bf1a0f9228b4ec7305c65f592543d0601fe4 100644 (file)
@@ -11,6 +11,7 @@
 #include <ModelAPI_AttributeString.h>
 
 #include <QLabel>
+#include <QEvent>
 
 ModuleBase_WidgetErrorLabel::ModuleBase_WidgetErrorLabel(QWidget* theParent,
                                                const Config_WidgetAPI* theData,
@@ -18,6 +19,9 @@ ModuleBase_WidgetErrorLabel::ModuleBase_WidgetErrorLabel(QWidget* theParent,
     : ModuleBase_WidgetLabel(theParent, theData, theParentId)
 {
   myDefaultStyle = myLabel->styleSheet();
+  myLabel->setContentsMargins(0,0,0,4);
+  myLabel->setWordWrap(true);
+  myLabel->installEventFilter(this);
 }
 
 ModuleBase_WidgetErrorLabel::~ModuleBase_WidgetErrorLabel()
@@ -37,7 +41,25 @@ bool ModuleBase_WidgetErrorLabel::restoreValueCustom()
     myLabel->setStyleSheet(myDefaultStyle);
   } else {
     myLabel->setText(aMsg.c_str());
-    myLabel->setStyleSheet("QLabel { background-color : red; color : white; }");
+    //myLabel->setStyleSheet("QLabel { color : red; font : italic }");
+    myLabel->setStyleSheet("QLabel { color : red; font : bold }");
+    //myLabel->setStyleSheet("QLabel { border: 1px solid red; }");
   }
   return true;
 }
+
+
+bool ModuleBase_WidgetErrorLabel::focusTo() 
+{ 
+  restoreValue();
+  return false; 
+}
+
+bool ModuleBase_WidgetErrorLabel::eventFilter(QObject* theObj, QEvent* theEvent)
+{
+  if (theObj == myLabel) {
+    if (theEvent->type() == QEvent::Show)
+      restoreValue();
+  }
+  return ModuleBase_WidgetLabel::eventFilter(theObj, theEvent);
+}
index 882fe13dd79f348b9fc00dac316d392b57fcac8a..f173509016152d6b4a03bba66207e5148f2fc8d0 100644 (file)
@@ -25,12 +25,17 @@ Q_OBJECT
   /// \param theData the widget configuation. The attribute of the model widget is obtained from
   /// \param theParentId is Id of a parent of the current attribute
   ModuleBase_WidgetErrorLabel(QWidget* theParent, const Config_WidgetAPI* theData,
-                            const std::string& theParentId);
+                            const std::string & theParentId);
 
   virtual ~ModuleBase_WidgetErrorLabel();
 
   virtual bool restoreValueCustom();
 
+  virtual bool focusTo();
+
+protected:
+  bool eventFilter(QObject* theObj, QEvent* theEvent);
+
 private:
   QString myDefaultStyle;
 };