Salome HOME
Avoid installing redundant files
[modules/geom.git] / src / BuildGUI / BuildGUI_FaceDlg.h
index 9a2f89c32179ae6cb5954e6bc3d39c463e17c6a7..c9ee487dbfed45a2c480ee0128838427814adefd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include "GEOM_GenericObjPtr.h"
 
 class DlgRef_1Sel1Check;
+class DlgRef_2Sel;
+class DlgRef_1SelExt;
+class QTreeWidget;
+class QTreeWidgetItem;
 
 //=================================================================================
 // class    : BuildGUI_FaceDlg
@@ -40,6 +44,8 @@ class BuildGUI_FaceDlg : public GEOMBase_Skeleton
 { 
   Q_OBJECT
 
+  class TreeWidgetItem;
+
 public:
   BuildGUI_FaceDlg( GeometryGUI*, QWidget* = 0 );
   ~BuildGUI_FaceDlg();
@@ -49,23 +55,36 @@ protected:
   virtual GEOM::GEOM_IOperations_ptr createOperation();
   virtual bool                       isValid( QString& );
   virtual bool                       execute( ObjectList& );    
+  virtual void                       addSubshapesToStudy();
+  virtual QList<GEOM::GeomObjPtr>    getSourceObjects();
   
 private:
   void                               Init();
   void                               enterEvent( QEvent* );
-  void                               setGlobalSelection();
+  void                               updateConstraintsTree();
+  void                               findEmptyTreeItem();
+  bool                               isTreeFull();
   
 private:
   QList<GEOM::GeomObjPtr>            myWires;
+  GEOM::GeomObjPtr                   myFace;
+  GEOM::GeomObjPtr                   myWire;
   
-  DlgRef_1Sel1Check*                 GroupWire;
+  DlgRef_1Sel1Check*                 myGroupWire;
+  DlgRef_2Sel*                       myGroupSurf;
+  DlgRef_1SelExt*                    myGroupWireConstraints;
+
+  QTreeWidget*                       myTreeConstraints;
+  TreeWidgetItem*                    myCurrentItem;
 
 private slots:
+  void                               ConstructorsClicked( int );
   void                               ClickOnOk();
   bool                               ClickOnApply();
   void                               ActivateThisDialog();
   void                               SelectionIntoArgument();
   void                               SetEditCurrentArgument();
+  void                               onItemClicked( QTreeWidgetItem*, int );
 };
 
 #endif // BUILDGUI_FACEDLG_H