Salome HOME
Fix for Bug IPAL8945
[modules/visu.git] / src / VISUGUI / VisuGUI_Selection.h
1 //  VISU VISUGUI : GUI of VISU component
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
6 //  This library is free software; you can redistribute it and/or 
7 //  modify it under the terms of the GNU Lesser General Public 
8 //  License as published by the Free Software Foundation; either 
9 //  version 2.1 of the License. 
10 // 
11 //  This library is distributed in the hope that it will be useful, 
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 //  Lesser General Public License for more details. 
15 // 
16 //  You should have received a copy of the GNU Lesser General Public 
17 //  License along with this library; if not, write to the Free Software 
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 //
22 //
23 //
24 //  File   : VisuGUI_Selection.h
25 //  Author : Laurent CORNABE & Hubert ROLLAND 
26 //  Module : VISU
27 //  $Header$
28
29 #ifndef VisuGUI_Selection_HeaderFile
30 #define VisuGUI_Selection_HeaderFile
31
32 #include <qdialog.h>
33
34 class QLabel;
35 class QWidgetStack;
36 class QVBox;
37 class QLineEdit;
38 class QTable;
39 class LightApp_SelectionMgr;
40 class SalomeApp_Application;
41 class SalomeApp_Module;
42
43 class VisuGUI_SelectionDlg: public QDialog {
44   Q_OBJECT
45
46 public:
47   VisuGUI_SelectionDlg (const SalomeApp_Module* theModule);
48   virtual ~VisuGUI_SelectionDlg ();
49
50 protected:
51   void closeEvent (QCloseEvent* theEvent);
52
53 private slots:
54   void onSelectionChange (int theId);
55   void onSelectionEvent ();
56   void onPointIdEdit (const QString& theText);
57   void onCellIdEdit (const QString& theText);
58
59  private:
60   void clearFields ();
61
62   QLabel* myMeshName;
63   QLabel* myFieldName;
64
65   QWidgetStack* myWidgetStack;
66   QVBox* myPointsPane;
67   QWidget* myCellsPane;
68   QLabel* myXValLbl;
69   QLabel* myYValLbl;
70   QLabel* myZValLbl;
71
72   QLineEdit* myIDValLbl;
73   QLabel* myScalarValLbl;
74   QLabel* myVectorValLbl;
75
76   QTable* myListPoints;
77   QLineEdit* myCellIDValLbl;
78   QLabel* myCellScalarValLbl;
79   QLabel* myCellVectorValLbl;
80
81   QVBox* myActorsPane;
82   QLabel* myXPosLbl;
83   QLabel* myYPosLbl;
84   QLabel* myZPosLbl;
85   QLabel* myDXLbl;
86   QLabel* myDYLbl;
87   QLabel* myDZLbl;
88
89   const SalomeApp_Module* myModule;
90   LightApp_SelectionMgr* mySelectionMgr;
91   bool myFl;
92 };
93
94 #endif