Salome HOME
Update of CheckDone
[modules/smesh.git] / src / StdMeshersGUI / StdMeshersGUI_SubShapeSelectorWdg.h
index adf62f1d6cdb5fd43c521a1ec05810afeb062c7d..504649641e5abb6c564fa67ceb36371490ad9593 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -52,7 +52,9 @@ class STDMESHERSGUI_EXPORT StdMeshersGUI_SubShapeSelectorWdg : public QWidget
 public:
   StdMeshersGUI_SubShapeSelectorWdg( QWidget*         parent = 0,
                                      TopAbs_ShapeEnum subShType = TopAbs_EDGE,
-                                     const bool       toShowList = true);
+                                     const bool       toShowList = true,
+                                     const bool       toShowSelectBtn = false,
+                                     const int        minListWidth=300);
   ~StdMeshersGUI_SubShapeSelectorWdg();
 
   SMESH::long_array_var          GetListOfIDs();
@@ -80,11 +82,24 @@ public:
   vtkRenderer*                   GetRenderer() { return myRenderer; }
   SMESH_PreviewActorsCollection* GetActorCollection() { return myPreviewActor; }
   void                           ClearSelected();
+
+  void AvoidSimultaneousSelection( StdMeshersGUI_SubShapeSelectorWdg* other);
+
+public slots:
+
   void                           ActivateSelection( bool );
+  void                           deactivateSelection() { ActivateSelection( false ); }
 
 signals:
   void                           selectionChanged(); // in the list
   void                           shapeSelected();    // globally
+  /*!
+   * \brief Emitted when selection is activated
+    *
+    * Useful to deactivate one Object Reference param widget when an other
+    * one is activated
+   */
+  void                           selectionActivated();
 
 private:
   void                           updateState();
@@ -114,6 +129,7 @@ private:
   vtkRenderer*                   myRenderer;
   
   QListWidget*                   myListWidget;
+  QPushButton*                   myActivateButton;
   QPushButton*                   myAddButton;
   QPushButton*                   myRemoveButton;
   QLabel*                        myInfoLabel;