Version: 9.16.0
gui.CItems.LinkItem Class Reference
Inheritance diagram for gui.CItems.LinkItem:

Public Member Functions

def __init__ (self, fromPort, toPort, canvas)
 
def deletePoint (self, point, pos)
 
def clearPoints (self)
 
def splitline (self, line, pos)
 
def splitLine (self, line, x, y)
 
def setFromPoint (self, x, y)
 
def setToPoint (self, x, y)
 
def moveBy (self, dx, dy)
 
def popup (self, canvasView)
 
def delete (self)
 
def tooltip (self, view, pos)
 
def selected (self)
 

Public Attributes

 fromPort
 
 toPort
 
 canvas
 
 item
 
 lines
 
 points
 

Detailed Description

Definition at line 175 of file CItems.py.

Constructor & Destructor Documentation

◆ __init__()

def gui.CItems.LinkItem.__init__ (   self,
  fromPort,
  toPort,
  canvas 
)

Definition at line 176 of file CItems.py.

176 def __init__(self,fromPort, toPort,canvas):
177 self.fromPort=fromPort
178 self.toPort=toPort
179 self.canvas=canvas
180 self.item=None
181 fromPort.addOutLink(self)
182 toPort.addInLink(self)
183 self.lines=[]
184 self.points=[]
185 self.lines.append(LineItem(self,fromPort, toPort,canvas))
186

Member Function Documentation

◆ clearPoints()

def gui.CItems.LinkItem.clearPoints (   self)

Definition at line 203 of file CItems.py.

203 def clearPoints(self):
204 #make a copy as deletePoint modify self.points
205 for point in self.points[:]:
206 self.deletePoint(point,0)
207

References gui.CItems.LinkItem.deletePoint(), and gui.CItems.LinkItem.points.

◆ delete()

def gui.CItems.LinkItem.delete (   self)

Definition at line 248 of file CItems.py.

248 def delete(self):
249 print("delete link")
250

Referenced by gui.GraphViewer.LinkItem.popup().

◆ deletePoint()

def gui.CItems.LinkItem.deletePoint (   self,
  point,
  pos 
)
Delete intermediate point

Definition at line 187 of file CItems.py.

187 def deletePoint(self,point,pos):
188 """Delete intermediate point"""
189 if point not in self.points:
190 return
191 self.points.remove(point)
192 inline=point.inline
193 outline=point.outline
194 inline.toPoint=outline.toPoint
195 inline.setToPoint(outline.toPoint.x(),outline.toPoint.y())
196 self.lines.remove(outline)
197 if inline.toPoint in self.points:
198 inline.toPoint.setInline(inline)
199 #remove from canvas
200 point.clear()
201 outline.clear()
202

References gui.CItems.LinkItem.lines, and gui.CItems.LinkItem.points.

Referenced by gui.CItems.LinkItem.clearPoints().

◆ moveBy()

def gui.CItems.LinkItem.moveBy (   self,
  dx,
  dy 
)

Definition at line 237 of file CItems.py.

237 def moveBy(self,dx,dy):
238 pass
239

◆ popup()

def gui.CItems.LinkItem.popup (   self,
  canvasView 
)

Definition at line 240 of file CItems.py.

240 def popup(self,canvasView):
241 menu=QPopupMenu()
242 caption = QLabel( "<font color=darkblue><u><b>Link Menu</b></u></font>",menu )
243 caption.setAlignment( Qt.AlignCenter )
244 menu.insertItem( caption )
245 menu.insertItem("Delete", self.delete)
246 return menu
247

Referenced by gui.GraphViewer.GraphViewer.contentsMousePressEvent().

◆ selected()

def gui.CItems.LinkItem.selected (   self)
The canvas item has been selected

Definition at line 256 of file CItems.py.

256 def selected(self):
257 """The canvas item has been selected"""
258

Referenced by gui.browser_catalog.Browser.handleBut1(), and gui.GraphViewer.GraphViewer.selectItem().

◆ setFromPoint()

def gui.CItems.LinkItem.setFromPoint (   self,
  x,
  y 
)

Definition at line 229 of file CItems.py.

229 def setFromPoint(self,x,y):
230 first=self.lines[0]
231 first.setFromPoint(x,y)
232

References gui.CItems.LinkItem.lines.

◆ setToPoint()

def gui.CItems.LinkItem.setToPoint (   self,
  x,
  y 
)

Definition at line 233 of file CItems.py.

233 def setToPoint(self,x,y):
234 last=self.lines[-1]
235 last.setToPoint(x,y)
236

References gui.CItems.LinkItem.lines.

◆ splitline()

def gui.CItems.LinkItem.splitline (   self,
  line,
  pos 
)

Definition at line 208 of file CItems.py.

208 def splitline(self,line,pos):
209 self.splitLine(line,pos.x(),pos.y())
210

References gui.CItems.LinkItem.splitLine().

◆ splitLine()

def gui.CItems.LinkItem.splitLine (   self,
  line,
  x,
  y 
)
Split line at position x,y

Definition at line 211 of file CItems.py.

211 def splitLine(self,line,x,y):
212 """Split line at position x,y"""
213 #The new point
214 point=PointItem(self,x,y,self.canvas)
215 self.points.append(point)
216 i=self.lines.index(line)
217
218 newline=LineItem(self,point,line.toPoint,self.canvas)
219 if line.toPoint in self.points:
220 #line not connected to port : reconnect newline
221 line.toPoint.setInline(newline)
222 self.lines.insert(i+1,newline)
223
224 line.setToPoint(x,y)
225 line.toPoint=point
226 point.setInline(line)
227 point.setOutline(newline)
228

References gui.CItems.LinkItem.canvas, gui.graph.Graph.canvas, gui.CItems.LinkItem.lines, and gui.CItems.LinkItem.points.

Referenced by gui.CItems.LinkItem.splitline().

◆ tooltip()

def gui.CItems.LinkItem.tooltip (   self,
  view,
  pos 
)

Reimplemented in gui.CItems.ControlLinkItem.

Definition at line 251 of file CItems.py.

251 def tooltip(self,view,pos):
252 r = QRect(pos.x(), pos.y(), pos.x()+10, pos.y()+10)
253 s = QString( "link: "+self.fromPort.port.getNode().getName() +":"+self.fromPort.port.getName()+"->"+self.toPort.port.getNode().getName()+":"+self.toPort.port.getName() )
254 view.tip( r, s )
255

References gui.CItems.LinkItem.fromPort, and gui.CItems.LinkItem.toPort.

Member Data Documentation

◆ canvas

◆ fromPort

gui.CItems.LinkItem.fromPort

Definition at line 177 of file CItems.py.

Referenced by gui.CItems.LinkItem.tooltip(), and gui.CItems.ControlLinkItem.tooltip().

◆ item

◆ lines

◆ points

gui.CItems.LinkItem.points

◆ toPort

gui.CItems.LinkItem.toPort

Definition at line 178 of file CItems.py.

Referenced by gui.CItems.LinkItem.tooltip(), and gui.CItems.ControlLinkItem.tooltip().


The documentation for this class was generated from the following file: