Version: 9.15.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: