Salome HOME
9911d8da8ad2c24b60cd220cff05941ae0b4dd18
[modules/visu.git] / src / VISUGUI / VisuGUI_CutLinesDlg.h
1 //  VISU VISUGUI : GUI of VISU component
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : VisuGUI_CutLinesDlg.h
8 //  Author : VSV
9 //  Module : VISU
10
11 #ifndef VISUGUI_CUTLINESDLG_H
12 #define VISUGUI_CUTLINESDLG_H
13
14 #include "VisuGUI_ScalarBarDlg.h"
15
16 #include <qdialog.h>
17 #include <qhbuttongroup.h>
18 #include <qlineedit.h>
19 #include <qcheckbox.h>
20 #include <qvalidator.h>
21 #include <qtable.h>
22
23 #include "SALOMEconfig.h"
24 #include CORBA_CLIENT_HEADER(VISU_Gen)
25
26 namespace VISU{
27   class CutLines_i;
28 }
29
30 class VisuGUI_CutLinesDlg: public QDialog
31 {
32     Q_OBJECT
33
34 public:
35     VisuGUI_CutLinesDlg();
36     ~VisuGUI_CutLinesDlg();
37
38     void initFromPrsObject(VISU::CutLines_i* thePrs);
39     void storeToPrsObject(VISU::CutLines_i* thePrs);
40
41 private slots:
42   void onPlaneSelect(int theId);
43   void onCutSelect(int theId);
44   void setBaseDefault();
45   void setDefault( int all = -1);
46   void DrawTable();
47   
48 private:
49   QHButtonGroup* mySelPlane;
50   QAD_SpinBoxDbl* myRotXSpn;
51   QAD_SpinBoxDbl* myRotYSpn;
52   QLabel* myRotXLbl;
53   QLabel* myRotYLbl;
54   QAD_SpinBoxDbl* myPosSpn;
55   QLineEdit* myBasePlanePos;
56   QCheckBox* myCBSetDef;
57
58   QHButtonGroup* mySelPlane2;  
59   QAD_SpinBoxDbl* myNbSpn;
60   QAD_SpinBoxDbl* myRotXSpn2;
61   QAD_SpinBoxDbl* myRotYSpn2;
62   QLabel* myRotXLbl2;
63   QLabel* myRotYLbl2;
64   QAD_SpinBoxDbl* myPosSpn2;
65   QTable* myPosTable;
66   bool hasInit;
67
68   QDoubleValidator *mydvalidator;
69   VISU::CutLines_i* myCutLines;
70
71   VISU::CutPlanes::Orientation  getOrientaion(bool IsBasePlane = true);
72   void   setOrientation( const VISU::CutPlanes::Orientation orient);
73   void   setOrientation2( const VISU::CutPlanes::Orientation orient);
74   
75 };
76 #endif // VISUGUI_CUTLINESDLG_H
77