1 #ifndef _DATAFLOWEDITOR_INNODE_HXX
2 #define _DATAFLOWEDITOR_INNODE_HXX
4 #include "DataFlowBase_FactoryNode.hxx"
5 #include "DataFlowBase_GOTONode.hxx"
6 #include "DataFlowBase_LoopNode.hxx"
7 #include "DataFlowBase_EndOfLoopNode.hxx"
8 #include "DataFlowBase_SwitchNode.hxx"
9 #include "DataFlowBase_EndOfSwitchNode.hxx"
11 namespace GraphEditor {
13 class InNode : public GraphBase::Base {
17 GraphBase::ComputingNode * _ComputingNode ;
18 GraphBase::FactoryNode * _FactoryNode ;
19 GraphBase::InLineNode * _InLineNode ;
20 GraphBase::GOTONode * _GOTONode ;
21 GraphBase::LoopNode * _LoopNode ;
22 GraphBase::EndOfLoopNode * _EndOfLoopNode ;
23 GraphBase::SwitchNode * _SwitchNode ;
24 GraphBase::EndOfSwitchNode * _EndOfSwitchNode ;
29 InNode( CORBA::ORB_ptr ORB,
30 SALOME_NamingService* ptrNamingService ,
31 GraphBase::ListOfFuncName aFuncName ,
32 GraphBase::ListOfPythonFunctions aPythonFunction ,
33 const SALOME_ModuleCatalog::Service& NodeService ,
34 const char *NodeComponentName ,
35 const char* NodeInterfaceName ,
36 const char *NodeName ,
37 const SUPERV::KindOfNode akind ,
38 const SUPERV::SDate NodeFirstCreation ,
39 const SUPERV::SDate NodeLastModification ,
40 const char * NodeEditorRelease ,
41 const char * NodeAuthor ,
42 const char * NodeComputer ,
43 const char * NodeComment ,
44 const bool GeneratedName ,
47 int * Graph_prof_debug = NULL ,
48 ostream * Graph_fdebug = NULL ) ;
51 char * Name() const { return _ComputingNode->Name() ; } ;
52 const char *const * NamePtr() const {
53 return _ComputingNode->NamePtr() ; } ;
55 SUPERV::KindOfNode Kind() const {
56 return _ComputingNode->Kind() ; } ;
57 const bool IsComputingNode() const {
58 return _ComputingNode->IsComputingNode() ; } ;
59 const bool IsFactoryNode() const {
60 return _ComputingNode->IsFactoryNode() ; } ;
61 const bool IsInLineNode() const {
62 return _ComputingNode->IsInLineNode() ; } ;
63 const bool IsOneOfInLineNodes() const {
64 return _ComputingNode->IsOneOfInLineNodes() ; } ;
65 const bool IsOneOfGOTONodes() const {
66 return _ComputingNode->IsOneOfGOTONodes() ; } ;
67 const bool IsDataFlowNode() const {
68 return _ComputingNode->IsDataFlowNode() ; } ;
69 const bool IsGOTONode() const {
70 return _ComputingNode->IsGOTONode() ; } ;
71 const bool IsLoopNode() const {
72 return _ComputingNode->IsLoopNode() ; } ;
73 const bool IsEndLoopNode() const {
74 return _ComputingNode->IsEndLoopNode() ; } ;
75 const bool IsSwitchNode() const {
76 return _ComputingNode->IsSwitchNode() ; } ;
77 const bool IsEndSwitchNode() const {
78 return _ComputingNode->IsEndSwitchNode() ; } ;
79 const bool IsHeadNode() const {
80 return _ComputingNode->IsHeadNode() ; } ;
81 GraphBase::ComputingNode * ComputingNode() {
82 return _ComputingNode ; } ;
83 GraphBase::FactoryNode * FactoryNode() {
84 return _FactoryNode ; } ;
85 GraphBase::GOTONode * GOTONode() {
91 return _EndOfLoopNode ;
94 if ( _EndOfSwitchNode )
95 return _EndOfSwitchNode ;
98 GraphBase::GOTONode * GOTONode() const {
103 if ( _EndOfLoopNode )
104 return _EndOfLoopNode ;
107 if ( _EndOfSwitchNode )
108 return _EndOfSwitchNode ;
111 GraphBase::InLineNode * InLineNode() {
112 GraphBase::InLineNode * aNode = GOTONode() ;
117 GraphBase::InLineNode * InLineNode() const {
118 GraphBase::InLineNode * aNode = GOTONode() ;
123 GraphBase::LoopNode * LoopNode() {
124 return _LoopNode ; } ;
125 GraphBase::EndOfLoopNode * EndOfLoopNode() {
126 return _EndOfLoopNode ; } ;
127 GraphBase::SwitchNode * SwitchNode() {
128 return _SwitchNode ; } ;
129 GraphBase::EndOfSwitchNode * EndOfSwitchNode() {
130 return _EndOfSwitchNode ; } ;
132 SUPERV::CNode_var ObjRef() const { return _ComputingNode->ObjRef() ; } ;
133 void SetObjRef(SUPERV::CNode_var aNode) {
134 _ComputingNode->SetObjRef( aNode ) ; } ;
136 const SALOME_ModuleCatalog::Service * GetService() const {
137 return _ComputingNode->GetService() ; } ;
139 SUPERV::SDate FirstCreation() const {
140 return _ComputingNode->FirstCreation() ; } ;
141 SUPERV::SDate LastModification() const {
142 return _ComputingNode->LastModification() ; } ;
143 char* Author() const {
144 return my_strdup( _ComputingNode->Author() ) ; }
145 char* EditorRelease() const {
146 return my_strdup( _ComputingNode->EditorRelease() ) ; } ;
147 char * Comment() const {
148 return my_strdup( _ComputingNode->Comment() ) ; } ;
149 bool Author( const char * anAuthor ) {
150 return _ComputingNode->Author( anAuthor ) ; } ;
151 bool EditorRelease( const char* anEditorRelease ) {
152 return _ComputingNode->EditorRelease( anEditorRelease ) ; } ;
153 bool Comment( const char *c ) {
154 return _ComputingNode->Comment( c ) ; };
156 GraphBase::SNode * GetInfo() {
157 return _ComputingNode->GetInfo() ; } ;
159 GraphBase::InPort * AddInPort( const char * InputParameterName ,
160 const char * InputParameterType ) {
161 return _ComputingNode->AddInPort( InputParameterName ,
162 InputParameterType ) ; } ;
163 GraphBase::OutPort * AddOutPort( const char * OutputParameterName ,
164 const char * OutputParameterType ) {
165 return _ComputingNode->AddOutPort( OutputParameterName ,
166 OutputParameterType ) ; } ;
168 void DelInPort( const char * InputParameterName ) {
169 _ComputingNode->DelInPort( InputParameterName ) ; } ;
170 void DelOutPort( const char * OutputParameterName ) {
171 _ComputingNode->DelOutPort( OutputParameterName ) ; } ;
173 bool IsLinked(const char * ToServiceParameterName ) {
174 return _ComputingNode->IsLinked( ToServiceParameterName ) ; } ;
175 bool HasInput(const char * ToServiceParameterName ) {
176 return _ComputingNode->HasInput( ToServiceParameterName ) ; } ;
178 // void InOutPort( GraphBase::InPort * InputPort ,
179 // GraphBase::OutPort * OutputPort ) {
180 // return _ComputingNode->InOutPort( InputPort , OutputPort ) ; } ;
182 const int GetNodeInPortsSize() const {
183 return _ComputingNode->GetNodeInPortsSize() ; } ;
184 const GraphBase::InPort *GetNodeInPort(int i) const {
185 return _ComputingNode->GetNodeInPort( i ) ; } ;
186 GraphBase::InPort *GetChangeNodeInPort(int i) const {
187 return _ComputingNode->GetChangeNodeInPort( i ) ; } ;
188 const int GetNodeOutPortsSize() const {
189 return _ComputingNode->GetNodeOutPortsSize() ; } ;
190 const GraphBase::OutPort *GetNodeOutPort(int i) const {
191 return _ComputingNode->GetNodeOutPort( i ) ; } ;
192 GraphBase::OutPort *GetChangeNodeOutPort(int i) const {
193 return _ComputingNode->GetChangeNodeOutPort( i ) ; } ;
195 const GraphBase::InPort *GetInPort( const char *name ) {
196 return _ComputingNode->GetInPort( name ) ; } ;
197 const GraphBase::OutPort *GetOutPort( const char *name ) {
198 return _ComputingNode->GetOutPort( name ) ; } ;
199 GraphBase::InPort *GetChangeInPort( const char *name ) {
200 return _ComputingNode->GetChangeInPort( name ) ; } ;
201 GraphBase::OutPort *GetChangeOutPort( const char *name ) {
202 return _ComputingNode->GetChangeOutPort( name ) ; } ;
204 void SetPythonFunction( const char * aFuncName ,
205 const SUPERV::ListOfStrings & aPythonFunction ) {
206 InLineNode()->SetPythonFunction( aFuncName , aPythonFunction ) ; }
207 const SUPERV::ListOfStrings * PythonFunction() const {
208 return InLineNode()->PythonFunction() ; } ;
209 char * PyFuncName() const {
210 return InLineNode()->PyFuncName() ; } ;
212 void SetPyMorePythonFunction( const char * aMoreName ,
213 const SUPERV::ListOfStrings & aMorePythonFunction ) {
214 _LoopNode->SetMorePythonFunction( aMoreName , aMorePythonFunction ) ; }
215 SUPERV::ListOfStrings * PyMorePythonFunction() const {
216 return _LoopNode->MorePythonFunction() ; } ;
217 char * PyMoreName() {
218 return _LoopNode->PyMoreName() ; };
220 void SetPyNextPythonFunction( const char * aNextName ,
221 const SUPERV::ListOfStrings & aNextPythonFunction ) {
222 _LoopNode->SetNextPythonFunction( aNextName , aNextPythonFunction ) ; }
223 SUPERV::ListOfStrings * PyNextPythonFunction() const {
224 return _LoopNode->NextPythonFunction() ; } ;
225 char * PyNextName() {
226 return _LoopNode->PyNextName() ; } ;
228 void CoupledNode( GraphBase::InLineNode * aCoupledNode ) {
229 _GOTONode->CoupledNode( aCoupledNode ) ; } ;
230 GraphBase::InLineNode * CoupledNode() {
231 return _GOTONode->CoupledNode() ; } ;
234 return _ComputingNode->SubGraph() ; } ;
236 char * ComponentName() const {
237 return _FactoryNode->ComponentName() ; } ;
238 char * InterfaceName() const {
239 return _FactoryNode->InterfaceName() ; } ;
240 char * Computer() const {
241 return _FactoryNode->Computer() ; } ;
243 bool ComponentName( const char * aComponentName ) {
244 return _FactoryNode->ComponentName( aComponentName ) ; } ;
245 bool InterfaceName( const char * anInterfaceName ) {
246 return _FactoryNode->InterfaceName( anInterfaceName ) ; } ;
247 bool Computer( const char *c ) {
248 return _FactoryNode->Computer( c ) ; } ;
250 void Coordinates( const int X , const int Y ) {
251 _ComputingNode->Coordinates( X , Y ) ; } ;
253 return _ComputingNode->XCoordinate () ; } ;
255 return _ComputingNode->YCoordinate () ; } ;