]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
Add default text and style sheet for StdMeshersGUI_ObjectReferenceParamWdg
authorgdd <gdd>
Mon, 17 Jan 2011 10:27:48 +0000 (10:27 +0000)
committergdd <gdd>
Mon, 17 Jan 2011 10:27:48 +0000 (10:27 +0000)
src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.cxx
src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.h

index e69489aeb33c3c3fa9ac4786b610383e95e82d5b..45aba152c8d24309a1919833e555b05555b4ac30 100644 (file)
@@ -110,6 +110,8 @@ void StdMeshersGUI_ObjectReferenceParamWdg::init()
   mySelectionMgr = SMESH::GetSelectionMgr( mySMESHGUI );
   mySelectionActivated = false;
   myParamValue = "";
+  myEmptyText = "";
+  myEmptyStyleSheet ="";
 
   SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
   QPixmap iconSlct ( mgr->loadPixmap("SMESH", tr("ICON_SELECT")));
@@ -120,6 +122,7 @@ void StdMeshersGUI_ObjectReferenceParamWdg::init()
 
   myObjNameLineEdit = new QLineEdit(this);
   myObjNameLineEdit->setReadOnly(true);
+  myObjNameLineEdit->setStyleSheet(myEmptyStyleSheet);
 
   aHBox->addWidget( mySelButton );
   aHBox->addWidget( myObjNameLineEdit );
@@ -190,7 +193,8 @@ void StdMeshersGUI_ObjectReferenceParamWdg::AvoidSimultaneousSelection
 void StdMeshersGUI_ObjectReferenceParamWdg::SetObject(CORBA::Object_ptr obj)
 {
   myObjects.clear();
-  myObjNameLineEdit->setText( "" );
+  myObjNameLineEdit->setText( myEmptyText );
+  myObjNameLineEdit->setStyleSheet(myEmptyStyleSheet);
   myParamValue = "";
 
   _PTR(SObject) sobj;
@@ -199,8 +203,10 @@ void StdMeshersGUI_ObjectReferenceParamWdg::SetObject(CORBA::Object_ptr obj)
   if ( sobj ) {
     std::string name = sobj->GetName();
     myObjNameLineEdit->setText( name.c_str() );
+    myObjNameLineEdit->setStyleSheet("");
     myObjects.push_back( CORBA::Object::_duplicate( obj ));
     myParamValue = sobj->GetID().c_str();
+    emit contentModified();
   }
 }
 
@@ -214,9 +220,11 @@ void StdMeshersGUI_ObjectReferenceParamWdg::SetObject(CORBA::Object_ptr obj)
 void StdMeshersGUI_ObjectReferenceParamWdg::SetObjects(SMESH::string_array_var& objects)
 {
   myObjects.clear();
-  myObjNameLineEdit->setText( "" );
+  myObjNameLineEdit->setText( myEmptyText );
+  myObjNameLineEdit->setStyleSheet(myEmptyStyleSheet);
   myParamValue = "";
-
+  bool selChanged = false;
+  
   for ( unsigned i = 0; i < objects->length(); ++i )
   {
     _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
@@ -225,15 +233,21 @@ void StdMeshersGUI_ObjectReferenceParamWdg::SetObjects(SMESH::string_array_var&
     if ( !CORBA::is_nil( anObj )) {
       std::string name = aSObj->GetName();
       QString text = myObjNameLineEdit->text();
-      if ( !text.isEmpty() )
+      if ( text != myEmptyText )
         text += " ";
+      else
+        text = "";
       text += name.c_str();
       myObjNameLineEdit->setText( text );
+      myObjNameLineEdit->setStyleSheet("");
       myObjects.push_back( anObj );
       myParamValue += " ";
       myParamValue += objects[i];
+      selChanged = true;
     }
   }
+  if (selChanged)
+    emit contentModified();
 }
 
 //================================================================================
@@ -272,3 +286,11 @@ void StdMeshersGUI_ObjectReferenceParamWdg::onSelectionDone()
     }
   }
 }
+
+void StdMeshersGUI_ObjectReferenceParamWdg::SetDefaultText(QString defaultText, QString styleSheet)
+{
+  myEmptyText = defaultText;
+  myEmptyStyleSheet = styleSheet;
+  myObjNameLineEdit->setText( myEmptyText );
+  myObjNameLineEdit->setStyleSheet( myEmptyStyleSheet);
+}
\ No newline at end of file
index e8c3871945955be5b755b0ae4bfbc7584c33c988..41bd98cfae72a3d2b0e43c07c020fc2762f49643 100644 (file)
@@ -79,6 +79,8 @@ public:
   { return i < myObjects.size() && !CORBA::is_nil(myObjects[i]); }
 
   void AvoidSimultaneousSelection( StdMeshersGUI_ObjectReferenceParamWdg* other);
+  
+  void SetDefaultText(QString defaultText="", QString styleSheet="");
 
 public slots:
   /*!
@@ -98,6 +100,7 @@ signals:
     * one is activated
    */
   void selectionActivated();
+  void contentModified();
   
 private slots:
   void onSelectionDone(); 
@@ -119,6 +122,8 @@ private:
  QLineEdit*             myObjNameLineEdit;
  QPushButton*           mySelButton;
  QString                myParamValue;
+ QString                myEmptyText;
+ QString                myEmptyStyleSheet;
 };
 
 #endif // STDMESHERSGUI_OBJECTREFERENCEPARAMWDG_H