26 from qtcanvas
import *
31 from .
import CONNECTOR
37 Item.Item.__init__(self)
40 self.
labellabellabel= pout.getNode().getName()+
":"+pout.getName()+
"->"+pin.getNode().getName()+
":"+pin.getName()
47 Item.Item.__init__(self)
50 self.
labellabellabel= pout.getNode().getName()+
":"+pout.getName()+
"->"+pin.getNode().getName()+
":"+pin.getName()
53 return "streamlink.png"
57 Item.Item.__init__(self)
60 self.
labellabellabel= nodeup.getName()+
"->"+nodedown.getName()
63 return "controllink.png"
66 """Item for all control links of a composed node"""
68 Item.Item.__init__(self)
79 for n
in self.
itemitem.node.edGetDirectDescendants():
80 for p
in n.getOutNodes():
85 CONNECTOR.Emit(self,
"add",link)
88 """Item for all data links of a composed node"""
90 Item.Item.__init__(self)
101 for pout,pin
in self.
itemitem.node.getSetOfInternalLinks():
102 if pout.getNode().getFather() != self.
itemitem.node
and pin.getNode().getFather() != self.
itemitem.node:
104 if isinstance(pin,pilot_InputDataStreamPort):
115 CONNECTOR.Emit(self,
"add",link)
118 """Item pour les noeuds composes"""
122 Item.Item.__init__(self)
134 liste=self.
nodenode.edGetDirectDescendants()
139 sublist.append(Item.adapt(n))
150 root=self.
nodenode.getRootNode()
151 rootItem=Item.adapt(root)
154 CONNECTOR.Emit(rootItem,
"dblselected",self)
159 root=self.
nodenode.getRootNode()
160 rootItem=Item.adapt(root)
163 CONNECTOR.Emit(rootItem,
"selected",self)
170 """Retourne un tab widget pour browser/editer la proc"""
171 tabWidget = QTabWidget( parent )
172 for name,method
in self.
panelspanels:
173 tabWidget.addTab( method(self,tabWidget), name )
177 print(
"Composed.addNode",service)
179 new_node=service.clone(
None)
180 ItemComposedNode.n=ItemComposedNode.n+1
181 name=service.getName()+
"_%d" % ItemComposedNode.n
182 new_node.setName(name)
183 self.
nodenode.edAddChild(new_node)
184 item=Item.adapt(new_node)
185 CONNECTOR.Emit(self,
"add",item)
196 panels=[(
"Panel1",panel1)]
199 print(
"Composed.addLink",link)
200 if isinstance(link,DataLinkItem):
202 elif isinstance(link,StreamLinkItem):
213 new_node=service.clone(
None)
214 ItemComposedNode.n=ItemComposedNode.n+1
215 name=service.getName()+
"_%d" % ItemComposedNode.n
216 new_node.setName(name)
218 nodes=self.
nodenode.edGetDirectDescendants()
220 old_item=Item.adapt(nodes[0])
221 CONNECTOR.Emit(old_item,
"remove")
222 self.
nodenode.edSetNode(new_node)
223 item=Item.adapt(new_node)
224 CONNECTOR.Emit(self,
"add",item)
225 CONNECTOR.Emit(self,
"changed")
230 class ItemForEach(ItemForLoop):
237 class ItemProc(ItemComposedNode):
238 """Item pour la procedure"""
240 print(
"ItemProc.connecting",item)
244 """Item pour les ports """
247 Item.Item.__init__(self)
252 elif self.
portport.getNode().getFather():
253 root=self.
portport.getNode().getRootNode()
254 self.
rootroot=Item.adapt(root)
260 if not self.
rootroot:
264 CONNECTOR.Emit(self.
rootroot,
"selected",self)
271 """Retourne un tab widget pour browser/editer l'item"""
272 tabWidget = QTabWidget( parent )
273 for name,method
in self.
panelspanels:
274 tabWidget.addTab( method(self,tabWidget), name )
279 print(
"ItemPort.link:",self,other)
282 print(
"ItemPort.connect:")
283 self.
rootroot.connecting(self)
292 panels=[(
"Panel1",panel1)]
301 panels=[(
"Panel1",panel1)]
304 nodeS=self.
portport.getNode()
305 nodeE=other.port.getNode()
306 father=nodeS.getFather()
307 if father != nodeE.getFather():
312 cflink= nodeE.getInGate()
in nodeS.getOutGate().edSetInGate()
313 father.edAddDFLink(self.
portport,other.port)
315 fitem=Item.adapt(father)
320 except ValueError
as ex:
321 traceback.print_exc()
322 QMessageBox.warning(
None,
"YACS error",str(ex))
327 return "instream.png"
331 return "outstream.png"
334 father=self.
portport.getNode().getFather()
335 if father != other.port.getNode().getFather():
339 father.edAddLink(self.
portport,other.port)
341 fitem=Item.adapt(father)
343 except ValueError
as ex:
344 traceback.print_exc()
345 QMessageBox.warning(
None,
"YACS error",str(ex))
349 """Item for InGate"""
351 Item.Item.__init__(self)
354 """Item for OutGate"""
356 Item.Item.__init__(self)
360 """Item pour les noeuds elementaires
366 Item.Item.__init__(self)
373 root=self.
nodenode.getRootNode()
374 rootItem=Item.adapt(root)
378 CONNECTOR.Emit(self,
"selected",self)
380 CONNECTOR.Emit(rootItem,
"selected",self)
388 for n
in self.
nodenode.getSetOfInputPort():
389 sublist.append(Item.adapt(n))
390 for n
in self.
nodenode.getSetOfOutputPort():
391 sublist.append(Item.adapt(n))
392 for n
in self.
nodenode.getSetOfInputDataStreamPort():
393 sublist.append(Item.adapt(n))
394 for n
in self.
nodenode.getSetOfOutputDataStreamPort():
395 sublist.append(Item.adapt(n))
399 """Retourne un tab widget pour browser/editer l'item"""
400 tabWidget = QTabWidget( parent )
401 for name,method
in self.
panelspanels:
402 tabWidget.addTab( method(self,tabWidget), name )
411 panels=[(
"Panel1",panel1)]
420 panels=[(
"Panel1",panel1)]
430 """Retourne un widget pour browser/editer l'item"""
434 qvbox.layout().setAlignment(Qt.AlignTop|Qt.AlignLeft)
435 qvbox.setSpacing( 5 )
438 label=QLabel(
"Name: ",row0)
440 qvbox.connect( self.
lined0lined0, SIGNAL(
"textChanged(const QString &)"), self.
NameChangedNameChanged )
441 qvbox.connect( self.
lined0lined0, SIGNAL(
"returnPressed()"), self.
NameReturnNameReturn )
442 QToolTip.add( self.
lined0lined0,
"Node name" )
445 label1=QLabel(
"Ref: ",row1)
447 if self.
nodenode.getComponent():
448 self.
lined1lined1.setText(self.
nodenode.getComponent().getName())
450 self.
lined1lined1.setText(
"NO_COMPONENT_NAME")
453 label2=QLabel(
"Method: ",row2)
455 self.
lined2lined2.setText(self.
nodenode.getMethod())
458 but1=QPushButton(
"Save", row3 )
459 but2=QPushButton(
"Cancel", row3 )
460 qvbox.connect( but1, SIGNAL(
"clicked()"), self.
handleSavehandleSave )
461 qvbox.connect( but2, SIGNAL(
"clicked()"), self.
handleCancelhandleCancel )
465 panels=[(
"Panel1",panel1)]
468 self.
myNamemyName=str(newText)
474 return "green-square"
477 self.
nodenode.setRef(str(self.
lined1lined1.text()))
478 self.
nodenode.setMethod(str(self.
lined2lined2.text()))
480 self.
lined0lined0.setText(self.
nodenode.getName())
481 self.
lined1lined1.setText(self.
nodenode.getComponent().getName())
482 self.
lined2lined2.setText(self.
nodenode.getMethod())
535 if hasattr(pilot,
"ProcPtr"):
537 adapt.registerAdapterFactory(pilot.ProcPtr,
Item.Item, adapt_Proc_to_Item)
538 adapt.registerAdapterFactory(pilot.BlocPtr,
Item.Item, adapt_ComposedNode_to_Item)
539 adapt.registerAdapterFactory(pilot.ForLoopPtr,
Item.Item, adapt_ComposedNode_to_Item)
540 adapt.registerAdapterFactory(pilot.WhileLoopPtr,
Item.Item, adapt_ComposedNode_to_Item)
541 adapt.registerAdapterFactory(pilot.ForEachLoopPtr,
Item.Item, adapt_ComposedNode_to_Item)
542 adapt.registerAdapterFactory(pilot.SwitchPtr,
Item.Item, adapt_ComposedNode_to_Item)
543 adapt.registerAdapterFactory(pilot.ComposedNodePtr,
Item.Item, adapt_ComposedNode_to_Item)
545 adapt.registerAdapterFactory(pilot.ServiceNodePtr,
Item.Item, adapt_ServiceNode_to_Item)
547 adapt.registerAdapterFactory(pilot.InlineNodePtr,
Item.Item, adapt_InlineScriptNode_to_Item)
548 adapt.registerAdapterFactory(pilot.InlineFuncNodePtr,
Item.Item, adapt_InlineFuncNode_to_Item)
549 adapt.registerAdapterFactory(pilot.NodePtr,
Item.Item, adapt_Node_to_Item)
551 adapt.registerAdapterFactory(pilot.OutputPortPtr,
Item.Item, adapt_OutPort_to_Item)
552 adapt.registerAdapterFactory(pilot.InputPortPtr,
Item.Item, adapt_InPort_to_Item)
553 adapt.registerAdapterFactory(pilot.OutputDataStreamPortPtr,
Item.Item, adapt_OutStream_to_Item)
554 adapt.registerAdapterFactory(pilot.InputDataStreamPortPtr,
Item.Item, adapt_InStream_to_Item)
556 pilot_InputDataStreamPort=pilot.InputDataStreamPortPtr
560 adapt.registerAdapterFactory(pilot.Proc,
Item.Item, adapt_Proc_to_Item)
561 adapt.registerAdapterFactory(SALOMERuntime.SalomeProc,
Item.Item, adapt_Proc_to_Item)
562 adapt.registerAdapterFactory(pilot.Bloc,
Item.Item, adapt_ComposedNode_to_Item)
563 adapt.registerAdapterFactory(pilot.ForLoop,
Item.Item, adapt_ForLoop_to_Item)
565 adapt.registerAdapterFactory(pilot.WhileLoop,
Item.Item, adapt_While_to_Item)
566 adapt.registerAdapterFactory(pilot.ForEachLoop,
Item.Item, adapt_ForEach_to_Item)
567 adapt.registerAdapterFactory(pilot.Switch,
Item.Item, adapt_Switch_to_Item)
568 adapt.registerAdapterFactory(pilot.ComposedNode,
Item.Item, adapt_ComposedNode_to_Item)
570 adapt.registerAdapterFactory(pilot.ServiceNode,
Item.Item, adapt_ServiceNode_to_Item)
571 adapt.registerAdapterFactory(SALOMERuntime.CORBANode,
Item.Item, adapt_ServiceNode_to_Item)
572 adapt.registerAdapterFactory(SALOMERuntime.SalomeNode,
Item.Item, adapt_ServiceNode_to_Item)
574 adapt.registerAdapterFactory(pilot.InlineNode,
Item.Item, adapt_InlineScriptNode_to_Item)
575 adapt.registerAdapterFactory(SALOMERuntime.PythonNode,
Item.Item, adapt_InlineScriptNode_to_Item)
576 adapt.registerAdapterFactory(pilot.InlineFuncNode,
Item.Item, adapt_InlineFuncNode_to_Item)
577 adapt.registerAdapterFactory(SALOMERuntime.PyFuncNode,
Item.Item, adapt_InlineFuncNode_to_Item)
578 adapt.registerAdapterFactory(pilot.Node,
Item.Item, adapt_Node_to_Item)
580 adapt.registerAdapterFactory(pilot.OutputPort,
Item.Item, adapt_OutPort_to_Item)
581 adapt.registerAdapterFactory(SALOMERuntime.OutputPyPort,
Item.Item, adapt_OutPort_to_Item)
582 adapt.registerAdapterFactory(SALOMERuntime.OutputCorbaPort,
Item.Item, adapt_OutPort_to_Item)
583 adapt.registerAdapterFactory(pilot.InputPort,
Item.Item, adapt_InPort_to_Item)
584 adapt.registerAdapterFactory(SALOMERuntime.InputPyPort,
Item.Item, adapt_InPort_to_Item)
585 adapt.registerAdapterFactory(SALOMERuntime.InputCorbaPort,
Item.Item, adapt_InPort_to_Item)
586 adapt.registerAdapterFactory(pilot.OutputDataStreamPort,
Item.Item, adapt_OutStream_to_Item)
587 adapt.registerAdapterFactory(pilot.InputDataStreamPort,
Item.Item, adapt_InStream_to_Item)
588 adapt.registerAdapterFactory(pilot.OutGate,
Item.Item, adapt_OutGate_to_Item)
589 adapt.registerAdapterFactory(pilot.InGate,
Item.Item, adapt_InGate_to_Item)
591 pilot_InputDataStreamPort=pilot.InputDataStreamPort
def __init__(self, nodeup, nodedown)
def __init__(self, pin, pout)
def layout(self, rankdir)
def addNode(self, service)
def addNode(self, service)
def FuncChanged(self, newText)
def __init__(self, port, root=None)
def connecting(self, item)
def NameChanged(self, newText)
def addNode(self, service)
def __init__(self, pin, pout)
def adapt_InPort_to_Item(obj, protocol, alternate)
def adapt_Port_to_Item(obj, protocol, alternate)
def adapt_InlineScriptNode_to_Item(obj, protocol, alternate)
def adapt_InStream_to_Item(obj, protocol, alternate)
def adapt_ForLoop_to_Item(obj, protocol, alternate)
def adapt_InlineFuncNode_to_Item(obj, protocol, alternate)
def adapt_OutGate_to_Item(obj, protocol, alternate)
def adapt_ForEach_to_Item(obj, protocol, alternate)
def adapt_OutPort_to_Item(obj, protocol, alternate)
def adapt_Switch_to_Item(obj, protocol, alternate)
def adapt_OutStream_to_Item(obj, protocol, alternate)
def adapt_ServiceNode_to_Item(obj, protocol, alternate)
def adapt_While_to_Item(obj, protocol, alternate)
def adapt_Proc_to_Item(obj, protocol, alternate)
def adapt_InGate_to_Item(obj, protocol, alternate)
def adapt_ComposedNode_to_Item(obj, protocol, alternate)
def adapt_Node_to_Item(obj, protocol, alternate)