Salome HOME
Update copyright information
[modules/superv.git] / src / SUPERVGUI / SUPERVGUI_Def.h
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  SUPERV SUPERVGUI : GUI for Supervisor component
23 //  File   : SUPERVGUI_Def.h
24 //  Author : Vitaly SMETANNIKOV
25 //  Module : SUPERV
26 //
27 #ifndef SUPERVGUI_DEF_H
28 #define SUPERVGUI_DEF_H
29
30
31 // Nom du noeud de supervision dans l'etude
32 // ----------------------------------------
33
34 #define STUDY_SUPERVISION "SUPERV"
35
36 #define STUDY_PORT_IN  "In"
37 #define STUDY_PORT_OUT "Out"
38
39 // Nom d'un nouveau Dataflow
40 // -------------------------
41
42 #define MAIN_NEW "aNewDataFlow"
43
44 //ASL: these values are default if resource manager doesn't contain corresponding values
45 #define DEF_MAIN_COLOR QColor(144, 208, 211)
46 #define DEF_MAIN_TITLE QColor( 63, 213, 255)
47 #define DEF_MAIN_CTRL  QColor(255, 108, 106)
48 #define DEF_MAIN_BACK  QColor(NODE_RED, NODE_GREEN, NODE_BLUE)
49
50 // Taille du dataflow sous forme de graphe
51 // ---------------------------------------
52
53 #define GRAPH_WIDTH  3500
54 #define GRAPH_HEIGHT 3500
55
56 #define GRAPH_MARGIN 50
57
58 #define GRAPH_MAX    245e5
59
60 // Taille du dataflow sous forme de tableau
61 // ----------------------------------------
62
63 #define ARRAY_WIDTH  1500
64 #define ARRAY_HEIGHT 3000
65
66 #define CELL_WIDTH      270
67 #define CELL_WIDTH_PART  90
68 #define CELL_HEIGHT      25
69
70 #define CELL_SPACE    5
71
72 #define MARGIN 2
73
74 // Noeuds
75 // ------
76 /*
77 NODE_Waiting   "Waiting",   035,      192,        255,       true,  true,   true,  true   bleu   
78 NODE_Running   "Running",   032,      210,        032,       true,  true,   true,  true   vert   
79 NODE_Suspended "Suspended", 255,      180,        000,       false, true,   true,  true   orange 
80 NODE_Done      "Finished",  255,      158,        255,       true,  false,  true,  false  violet 
81 NODE_Errored   "Aborted",   255,      000,        000,       true,  false,  true,  false  rouge  
82 NODE_Killed    "Killed",    255,      000,        000,       true,  false,  b,     !b     rouge  
83 NODE_Editing   "",          NODE_RED, NODE_GREEN, NODE_BLUE, true,  false,  true,  false  fond   
84 */
85
86
87 #define NODE_RED   255
88 #define NODE_GREEN 249
89 #define NODE_BLUE  147
90
91 #define NODE_DX 35
92 #define NODE_DY 40
93
94 // Ports
95 // -----
96
97 #define PORT_WIDTH  75
98 #define PORT_HEIGHT 20
99 #define PORT_MARGIN 2
100
101 // Taille des points carres constituant les lignes entre les noeuds
102 // ----------------------------------------------------------------
103
104 #define POINT_SIZE      5
105 #define POINT_SIZE_HALF 2
106
107 // Taille et couleurs des liens
108 // ----------------------------
109
110 #define LINK_WIDTH  2
111
112 #define LINK_DATA QColor(  0,   0,   0), LINK_WIDTH
113 #define LINK_CTRL MAIN_CTRL            , LINK_WIDTH
114 #define LINK_SKCH QColor(255,   0, 230), LINK_WIDTH
115
116 // Taille des labels des noeuds
117 // ----------------------------
118
119 #define LABEL_WIDTH  160
120 #define LABEL_HEIGHT  20
121
122 // Taille de la boite de filtre de notification
123 // --------------------------------------------
124
125 #define NOTIFICATION_WIDTH   250
126 #define NOTIFICATION_HEIGHT  450
127
128 // Names of control ports
129 // -------------------------
130 #define OUTVOID "OutVoid"
131 #define INVOID  "InVoid"
132
133 // Convention pour la souris
134 // -------------------------
135
136 #define MouseNo (-2)
137
138 // Trace pour l'aide a la mise au point
139 // ------------------------------------
140
141 //#define DEBUG_MODE_COMPIL
142
143 #ifdef DEBUG_MODE_COMPIL
144
145 #define Trace(m) MESSAGE(m);
146
147 #else
148
149 #define Trace(m) 
150
151 #endif
152
153
154 // Includes de base
155 // ----------------
156
157 #include <stdio.h>
158
159 // Includes Qt
160 // -----------
161
162 #include <qobjectlist.h>
163
164 #include <qmainwindow.h>
165 #include <qscrollview.h>
166
167 #include <qdialog.h>
168 #include <qfiledialog.h>
169 #include <qinputdialog.h>
170 #include <qmessagebox.h>
171
172 #include <qpopupmenu.h>
173 #include <qtimer.h>
174 #include <qpainter.h>
175
176 #include <qmultilineedit.h>
177 #include <qlistview.h>
178 #include <qpushbutton.h>
179 #include <qcheckbox.h>
180
181 //VRV: porting on Qt 3.0.5
182 #if QT_VERSION >= 0x030005
183 #include <qcursor.h>
184 #endif
185 //VRV: porting on Qt 3.0.5
186
187 // Acces au moteur de supervision
188 // ------------------------------
189
190 #include "utilities.h"
191
192 #include "SALOME_LifeCycleCORBA.hxx"
193 #include CORBA_CLIENT_HEADER(SUPERV)
194 #include CORBA_SERVER_HEADER(SALOMEDS)
195 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
196
197 #define SUPERV_Engine  SUPERV::SuperG_var
198
199 //#define SUPERV_Graph   SUPERV::StreamGraph_var
200 #define SUPERV_Graph   SUPERV::Graph_var
201 #define SUPERV_StreamGraph   SUPERV::StreamGraph_var
202
203 #define SUPERV_CNode   SUPERV::CNode_var
204 #define SUPERV_FNode   SUPERV::FNode_var
205 #define SUPERV_INode   SUPERV::INode_var
206 #define SUPERV_SNode   SUPERV::SNode_var
207 #define SUPERV_LNode   SUPERV::LNode_var
208 #define SUPERV_GNode   SUPERV::GNode_var
209 #define SUPERV_ELNode  SUPERV::ELNode_var
210 #define SUPERV_ESNode  SUPERV::ESNode_var
211
212 #define SUPERV_Links   SUPERV::ListOfLinks_var
213 #define SUPERV_StreamLinks   SUPERV::ListOfStreamLinks_var
214 #define SUPERV_Ports   SUPERV::ListOfPorts_var
215 #define SUPERV_StreamPorts   SUPERV::ListOfStreamPorts_var
216 #define SUPERV_Nodes   SUPERV::ListOfNodes_var
217 #define SUPERV_Strings SUPERV::ListOfStrings_var
218
219 #define SUPERV_Link    SUPERV::Link_var
220 #define SUPERV_Date    SUPERV::SDate
221 #define SUPERV_Port    SUPERV::Port_var
222 #define SUPERV_StreamPort    SUPERV::StreamPort_var
223 #define SUPERV_StreamLink    SUPERV::StreamLink_var
224
225 #define SUPERV_Editing SUPERV::EditingState
226 #define SUPERV_Running SUPERV::RunningState
227 #define SUPERV_Suspend SUPERV::SuspendState
228 #define SUPERV_Done    SUPERV::DoneState
229 #define SUPERV_Error   SUPERV::ErrorState
230 #define SUPERV_Kill    SUPERV::KillState
231 #define SUPERV_Stop    SUPERV::StopState
232 #define SUPERV_Ready   SUPERV::ReadyState
233 #define SUPERV_Waiting SUPERV::WaitingState
234
235 //#define SUPERV_Event   SUPERV::GraphEvent
236 //#define SUPERV_State   SUPERV::GraphState
237
238 #define SUPERV_isNull(oc) (CORBA::is_nil(oc))
239
240
241 enum GraphViewType { CONTROLFLOW, CANVAS, CANVASTABLE };
242 //enum NodeType { COMPUTE, SWITCH, LOOP, GOTO, LABEL };
243
244
245 #endif