]> SALOME platform Git repositories - modules/superv.git/blob - src/SUPERVGUI/SUPERVGUI_BrowseNodeDlg.h
Salome HOME
Join modifications from branch OCC_development_for_3_2_0a2
[modules/superv.git] / src / SUPERVGUI / SUPERVGUI_BrowseNodeDlg.h
1 //  SUPERV SUPERVGUI : GUI for Supervisor component
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SUPERVGUI_BrowseNodeDlg.h
8 //  Author : Vitaly SMETANNIKOV
9 //  Module : SUPERV
10
11 #ifndef SUPERVGUI_BrowseNodeDlg_H
12 #define SUPERVGUI_BrowseNodeDlg_H
13
14 #include <qdialog.h>
15 #include "SUPERVGUI_Def.h"
16
17 /** 
18  * Class for ports values management (for internal using)
19  */
20 class SUPERVGUI_PortField : public QObject {
21
22   Q_OBJECT
23
24 public:
25   SUPERVGUI_PortField( QWidget* theParent, SUPERV_Port thePort );
26   virtual ~SUPERVGUI_PortField() {};
27
28   bool eventFilter( QObject* o, QEvent* e );
29
30   bool isEditable () { return myIsEditable; }
31
32   QString getData() const { return myValue->text(); } // mkr : PAL11406
33   void    setData( const QString& data ) { myValue->setText( data ); myValue->home( false ); }
34   void    updateGUI()   { myValue->setText( myPort->ToString() ); }
35
36   bool setNewValue();
37   
38 signals :
39   void activated();
40
41 public:
42   SUPERV_Port myPort;
43   QLabel*     myLabel;
44   QLineEdit*  myValue;
45   bool        myIsEditable;
46 };
47
48
49 /**
50  * Browse Node Dialog box
51  */
52 class SUPERVGUI_CanvasNode;
53
54 class SUPERVGUI_BrowseNodeDlg: public QDialog {
55   
56   Q_OBJECT
57
58 public:
59   SUPERVGUI_BrowseNodeDlg( SUPERVGUI_CanvasNode* theNode );
60   virtual ~SUPERVGUI_BrowseNodeDlg();
61
62   void setValues();
63
64 protected slots:
65   void accept();
66   void reject();
67   void onFieldActivated();
68   void onSelectionChanged();
69
70 protected:
71   void showEvent( QShowEvent* theEvent );
72
73 private:
74   void init();
75
76   SUPERVGUI_CanvasNode*         myNodeCanvas;
77   
78   bool                          myIsEditable;
79   QPtrList<SUPERVGUI_PortField> myPortsList;
80   SUPERVGUI_PortField*          myActiveField;
81 };
82
83 /**
84  * Get Value dialog box
85  */
86 class SUPERVGUI_CanvasPort;
87
88 class SUPERVGUI_GetValueDlg: public QDialog {
89   Q_OBJECT
90
91 public:
92   SUPERVGUI_GetValueDlg( SUPERVGUI_CanvasPort* thePort );
93   ~SUPERVGUI_GetValueDlg();
94
95 private slots:
96   void accept();
97   void reject();
98   void onSelectionChanged();
99   
100 private:
101   void init();
102
103   QPushButton*         myOKBtn;
104   QPushButton*         myCancelBtn;    
105   SUPERVGUI_PortField* myField;
106
107   SUPERVGUI_CanvasPort*      myPortCanvas;
108
109 };
110
111
112 /**
113  * Stream Port Parameter dialog box
114  */
115 class SUPERVGUI_CanvasStreamPortIn;
116 class SUPERVGUI_StreamInDlg: public QDialog
117 {
118   Q_OBJECT
119 public:
120   SUPERVGUI_StreamInDlg(SUPERVGUI_CanvasStreamPortIn* thePort);
121   virtual ~SUPERVGUI_StreamInDlg() {};
122
123 protected slots:
124   void accept();
125
126 private:
127   void init();
128   void setData(); 
129
130   SUPERVGUI_CanvasStreamPortIn* myPortCanvas;
131   QComboBox* mySchemaCombo;
132   QComboBox* myInterCombo;
133   QComboBox* myExterCombo;
134 };
135
136 class SUPERVGUI_CanvasStreamPortOut;
137 class SUPERVGUI_StreamOutDlg: public QDialog
138 {
139   Q_OBJECT
140 public:
141   SUPERVGUI_StreamOutDlg(SUPERVGUI_CanvasStreamPortOut* thePort);
142   virtual ~SUPERVGUI_StreamOutDlg() {};
143
144 protected slots:
145   void accept();
146
147 private:
148   void init();
149
150   SUPERVGUI_CanvasStreamPortOut* myPortCanvas;
151   QLineEdit* myValEdit;
152 };
153
154 #endif