Salome HOME
PAL9807
[modules/visu.git] / src / VISUGUI / VisuGUI_StreamLinesDlg.h
1 //  VISU VISUGUI : GUI of VISU component
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : VisuGUI_StreamLinesDlg.h
8 //  Author : Vitaly SMETANNIKOV
9 //  Module : VISU
10
11 #ifndef VISUGUI_STREAMLINESDLG_H
12 #define VISUGUI_STREAMLINESDLG_H
13
14 #include "VisuGUI_ScalarBarDlg.h"
15
16 #include <qdialog.h>
17 #include <qcombobox.h>
18 #include <qcheckbox.h>
19 #include <qstringlist.h>
20
21 class SalomeApp_Module;
22 class QtxDblSpinBox;
23
24 namespace VISU{
25   class StreamLines_i;
26 }
27
28 class VisuGUI_StreamLinesDlg: public QDialog
29 {
30     Q_OBJECT
31 public:
32     VisuGUI_StreamLinesDlg (SalomeApp_Module* theModule);
33     ~VisuGUI_StreamLinesDlg() {};
34
35     void initFromPrsObject(VISU::StreamLines_i* thePrs);
36     int storeToPrsObject(VISU::StreamLines_i* thePrs);
37     void setColor( QColor color );
38     void enableMagnColor( bool enable );
39
40 protected slots:
41   void accept();
42
43 private slots:
44   void onSelectionActive(bool theActive);
45   void StepLengthChanged(double theValue);
46   void IntegrationStepChanged(double theValue);
47   void PropagationTimeChanged(double theValue);
48   void onSourceTypeChange(int theIndex);
49
50 private:
51   VISU::Mesh_ptr createMesh(VISU::VISUType theType, QString theName);
52
53     QtxDblSpinBox* myStepLen;
54     QtxDblSpinBox* myIntegStepLen;
55     QtxDblSpinBox* myPropTime;
56     QComboBox* myDirCombo;
57     QCheckBox* myUseScalar;
58     QPushButton*    SelColor;
59     QColor          myColor;
60     //QCheckBox* myUseSrcChk;
61     QComboBox* myUseSrcCombo;
62     QtxDblSpinBox* myPntPercent;
63     QComboBox* mySrcCombo;
64
65     VisuGUI_ScalarBarPane* myScalarPane;
66
67     QValueList<VISU::Prs3d_var> myPrsList;
68     QValueList<VISU::Prs3d_var> myEntityList;
69     QValueList<VISU::Prs3d_var> myFamilyList;
70     QValueList<VISU::Prs3d_var> myGroupList;
71     QStringList myEntitiesLst;
72     QStringList myFamilisLst;
73     QStringList myGroupsLst;
74     QStringList myPrsLst;
75
76     _PTR(SObject) mySelectionObj;
77     VISU::StreamLines_i* myPrs;
78     SalomeApp_Module* myVisuGUI;
79
80 private slots:
81   void setVColor();
82   void enableSetColor();
83 };
84
85 #endif  //VISUGUI_STREAMLINESDLG_H