Salome HOME
Dcq : Add MakeShell MakeSolid and New GUI Architecture
[modules/geom.git] / src / GEOMGUI / GeometryGUI_PlaneDlg.h
index fb5c0f6ee06fe89634c1b33b8c369ea748a2e28d..38435a02bcc91183e5cc8df4af56a28e28d7511c 100644 (file)
 #ifndef DIALOGBOX_PLANE_H
 #define DIALOGBOX_PLANE_H
 
-#include "SALOME_Selection.h"
-#include "GEOM_ShapeTypeFilter.hxx"
-#include "GEOM_FaceFilter.hxx"
-#include "GeometryGUI_SpinBox.h"
+#include "GeometryGUI_Skeleton.h"
+#include "GeometryGUI_2Sel1Spin.h"
+#include "GeometryGUI_1Sel4Spin.h"
+#include "GeometryGUI_1Sel1Spin.h"
 
-#include <BRepBuilderAPI_MakeFace.hxx>
+#include "GEOM_FaceFilter.hxx"
 #include <gp_Pnt.hxx>
 
-#include <qvariant.h>
-#include <qdialog.h>
-
-class QVBoxLayout; 
-class QHBoxLayout; 
-class QGridLayout; 
-class QButtonGroup;
-class QFrame;
-class QGroupBox;
-class QLineEdit;
-class QPushButton;
-class QRadioButton;
-class QToolButton;
-class QLabel;
-class GeometryGUI;
-
 //=================================================================================
 // class    : GeometryGUI_PlaneDlg
 // purpose  :
 //=================================================================================
-class GeometryGUI_PlaneDlg : public QDialog
+class GeometryGUI_PlaneDlg : public GeometryGUI_Skeleton
 { 
     Q_OBJECT
 
 public:
-    GeometryGUI_PlaneDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
+    GeometryGUI_PlaneDlg(QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0);
     ~GeometryGUI_PlaneDlg();
 
 private :
-    void Init( SALOME_Selection* Sel ) ;
-    void closeEvent( QCloseEvent* e ) ;
-    void enterEvent( QEvent* e);
-
-    GEOM::GEOM_Gen_var    myGeom ;                /* Current Geom object */
-    GeometryGUI*          myGeomGUI ;             /* Current GeomGUI object */
-    TopoDS_Shape          mySimulationTopoDs;     /* Shape used for simulation display */    
-    SALOME_Selection*     mySelection ;           /* User shape selection */    
-    gp_Pnt                myPoint1 ;              /* Point on the plane */
+    void Init(SALOME_Selection* Sel);
+    void enterEvent(QEvent* e);
 
-    Standard_Real         myDx ;
-    Standard_Real         myDy ;
-    Standard_Real         myDz ;
-    Standard_Real         myTrimSize ;
-
-    bool                  myOkPoint1 ;            /* true when argument is defined */
-    bool                  myOkDirection ;
-    bool                  myOkCoordinates ;
-    bool                  myOkPlanarFace ;
-    QLineEdit*            myEditCurrentArgument;  /* Current LineEdit */   
-    int                   myConstructorId ;       /* Current constructor id = radio button id */
-    
+    double step;
+    int myConstructorId;
     Handle(GEOM_ShapeTypeFilter) myVertexFilter;  /* Filters selection */
-    Handle(GEOM_ShapeTypeFilter) myEdgeFilter;    /* Filters selection */
-    Handle(GEOM_FaceFilter)      myFaceFilter;    /* Filters selection */
-
-    // Constructors
-    QButtonGroup* GroupConstructors;
-    QRadioButton* Constructor1;
-    QRadioButton* Constructor2;
-    QRadioButton* Constructor3;
-
-    // Constructor with a point + direction (vector)
-    QGroupBox* GroupPointDirection;
-
-    QLabel* TextLabelPt1;
-    QPushButton* SelectButtonPt1;
-    QLineEdit* LineEditPt1;
-    
-    QLabel* TextLabelDirection;
-    QPushButton* SelectButtonDirection;
-    QLineEdit* LineEditDirection;
-    
-    QLabel* TextLabelC1Size;
-    GeometryGUI_SpinBox*  SpinBox_C1Size ;
+    Handle(GEOM_ShapeTypeFilter) myEdgeFilter;
+    Handle(GEOM_FaceFilter) myFaceFilter;
 
-    // Constructor with a point + dx, dy, dz coordinates
-    QGroupBox* GroupPointPlusCoordinates;
+    gp_Pnt myPoint1;   /* Point on the plane */
 
-    QLabel* TextLabelPt2;
-    QPushButton* SelectButtonPt2;
-    QLineEdit* LineEditPt2;
+    Standard_Real myDx;
+    Standard_Real myDy;
+    Standard_Real myDz;
+    Standard_Real myTrimSize;
 
-    QLabel* TextLabelCoordinates;
-    QLabel* TextLabel_DX;
-    QLabel* TextLabel_DY;
-    QLabel* TextLabel_DZ;
-    GeometryGUI_SpinBox*  SpinBox_DX ;
-    GeometryGUI_SpinBox*  SpinBox_DY ;
-    GeometryGUI_SpinBox*  SpinBox_DZ ;
+    bool myOkPoint1;   /* true when argument is defined */
+    bool myOkDirection;
+    bool myOkCoordinates;
+    bool myOkPlanarFace;
 
-    QLabel* TextLabelC2Size;
-    GeometryGUI_SpinBox*  SpinBox_C2Size ;
-
-    // Constructor with a face
-    QGroupBox* GroupFace;
-
-    QLabel* TextLabelFace;
-    QPushButton* SelectButtonFace;
-    QLineEdit* LineEditFace;
-
-    QLabel* TextLabelC3Size;
-    GeometryGUI_SpinBox* SpinBox_C3Size ;
-
-    // BUTTONS
-    QGroupBox*   GroupButtons;
-    QPushButton* buttonApply;
-    QPushButton* buttonOk;
-    QPushButton* buttonCancel;
+    GeometryGUI_2Sel1Spin* GroupPointDirection;
+    GeometryGUI_1Sel4Spin* GroupPointPlusCoordinates;
+    GeometryGUI_1Sel1Spin* GroupFace;
 
 private slots:
-
-    void ConstructorsClicked(int constructorId);
     void ClickOnOk();
-    void ClickOnCancel();
     void ClickOnApply();
-    void SetEditCurrentArgument() ;
-    void SelectionIntoArgument() ;
-    void LineEditReturnPressed() ;
-    void DeactivateActiveDialog() ;
-    void ActivateThisDialog() ;
-    void MakePlaneSimulationAndDisplay( const gp_Pnt& P, 
-                                       const Standard_Real dx,
-                                       const Standard_Real dy,
-                                       const Standard_Real dz,
-                                       const Standard_Real trimSize ) ;
-    void ValueChangedInSpinBox( double newValue ) ;
-
-protected:
+    void ActivateThisDialog();
+    void SelectionIntoArgument();
+    void LineEditReturnPressed();
+    void SetEditCurrentArgument();
+    void ConstructorsClicked(int constructorId);
+    void ValueChangedInSpinBox(double newValue);
+    void MakePlaneSimulationAndDisplay(const gp_Pnt& P,
+                                      const Standard_Real dx,
+                                      const Standard_Real dy,
+                                      const Standard_Real dz,
+                                      const Standard_Real trimSize);
 
-    QGridLayout* GeometryGUI_PlaneDlgLayout;
-    QGridLayout* GroupButtonsLayout;
-    QGridLayout* GroupPointDirectionLayout;
-    QGridLayout* GroupConstructorsLayout;
-    QGridLayout* GroupPointPlusCoordinatesLayout;
-    QGridLayout* GroupFaceLayout;
-    QHBoxLayout* Layout2 ;
 };
 
 #endif // DIALOGBOX_PLANE_H