1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // SUPERV SUPERVGUI : GUI for Supervisor component
23 // File : SUPERVGUI_Def.h
24 // Author : Vitaly SMETANNIKOV
27 #ifndef SUPERVGUI_DEF_H
28 #define SUPERVGUI_DEF_H
31 // Nom du noeud de supervision dans l'etude
32 // ----------------------------------------
34 #define STUDY_SUPERVISION "SUPERV"
36 #define STUDY_PORT_IN "In"
37 #define STUDY_PORT_OUT "Out"
39 // Nom d'un nouveau Dataflow
40 // -------------------------
42 #define MAIN_NEW "aNewDataFlow"
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)
50 // Taille du dataflow sous forme de graphe
51 // ---------------------------------------
53 #define GRAPH_WIDTH 3500
54 #define GRAPH_HEIGHT 3500
56 #define GRAPH_MARGIN 50
58 #define GRAPH_MAX 245e5
60 // Taille du dataflow sous forme de tableau
61 // ----------------------------------------
63 #define ARRAY_WIDTH 1500
64 #define ARRAY_HEIGHT 3000
66 #define CELL_WIDTH 270
67 #define CELL_WIDTH_PART 90
68 #define CELL_HEIGHT 25
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
88 #define NODE_GREEN 249
98 #define PORT_HEIGHT 20
101 // Taille des points carres constituant les lignes entre les noeuds
102 // ----------------------------------------------------------------
105 #define POINT_SIZE_HALF 2
107 // Taille et couleurs des liens
108 // ----------------------------
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
116 // Taille des labels des noeuds
117 // ----------------------------
119 #define LABEL_WIDTH 160
120 #define LABEL_HEIGHT 20
122 // Taille de la boite de filtre de notification
123 // --------------------------------------------
125 #define NOTIFICATION_WIDTH 250
126 #define NOTIFICATION_HEIGHT 450
128 // Names of control ports
129 // -------------------------
130 #define OUTVOID "OutVoid"
131 #define INVOID "InVoid"
133 // Convention pour la souris
134 // -------------------------
138 // Trace pour l'aide a la mise au point
139 // ------------------------------------
141 //#define DEBUG_MODE_COMPIL
143 #ifdef DEBUG_MODE_COMPIL
145 #define Trace(m) MESSAGE(m);
162 #include <qobjectlist.h>
164 #include <qmainwindow.h>
165 #include <qscrollview.h>
168 #include <qfiledialog.h>
169 #include <qinputdialog.h>
170 #include <qmessagebox.h>
172 #include <qpopupmenu.h>
174 #include <qpainter.h>
176 #include <qmultilineedit.h>
177 #include <qlistview.h>
178 #include <qpushbutton.h>
179 #include <qcheckbox.h>
181 //VRV: porting on Qt 3.0.5
182 #if QT_VERSION >= 0x030005
185 //VRV: porting on Qt 3.0.5
187 // Acces au moteur de supervision
188 // ------------------------------
190 #include "utilities.h"
192 #include "SALOME_LifeCycleCORBA.hxx"
193 #include CORBA_CLIENT_HEADER(SUPERV)
194 #include CORBA_SERVER_HEADER(SALOMEDS)
195 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
197 #define SUPERV_Engine SUPERV::SuperG_var
199 //#define SUPERV_Graph SUPERV::StreamGraph_var
200 #define SUPERV_Graph SUPERV::Graph_var
201 #define SUPERV_StreamGraph SUPERV::StreamGraph_var
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
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
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
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
235 //#define SUPERV_Event SUPERV::GraphEvent
236 //#define SUPERV_State SUPERV::GraphState
238 #define SUPERV_isNull(oc) (CORBA::is_nil(oc))
241 enum GraphViewType { CONTROLFLOW, CANVAS, CANVASTABLE };
242 //enum NodeType { COMPUTE, SWITCH, LOOP, GOTO, LABEL };