Version: 9.15.0
gui.CItems.LineItem Class Reference
Inheritance diagram for gui.CItems.LineItem:
Collaboration diagram for gui.CItems.LineItem:

Public Member Functions

def __init__ (self, obj, fromPoint, toPoint, canvas)
 
def setFromPoint (self, x, y)
 
def setToPoint (self, x, y)
 
def moveBy (self, dx, dy)
 
def setArrow (self)
 
def getObj (self)
 
def handleDoubleClick (self, pos)
 
def clear (self)
 
def selected (self)
 

Public Attributes

 obj
 
 item
 
 fromPoint
 
 toPoint
 
 arrow
 

Detailed Description

A line between 2 points

Definition at line 110 of file CItems.py.

Constructor & Destructor Documentation

◆ __init__()

def gui.CItems.LineItem.__init__ (   self,
  obj,
  fromPoint,
  toPoint,
  canvas 
)
A line between 2 points

Definition at line 112 of file CItems.py.

112  def __init__(self,obj,fromPoint, toPoint,canvas):
113  QCanvasLine.__init__(self,canvas)
114  self.obj=obj
115  self.item=None
116  self.fromPoint=fromPoint
117  self.toPoint=toPoint
118  self.setPen(QPen(Qt.black))
119  self.setBrush(QBrush(Qt.red))
120  self.setPoints(int(fromPoint.x()),int(fromPoint.y()), int(toPoint.x()), int(toPoint.y()))
121  self.setZ(min(fromPoint.z(),toPoint.z())-1)
122  self.setVisible(True)
123  self.arrow = QCanvasPolygon(self.canvas())
124  self.arrow.setBrush(QBrush(Qt.black))
125  self.setArrow()
126  self.arrow.show()
127 

Member Function Documentation

◆ clear()

def gui.CItems.LineItem.clear (   self)
To remove from canvas

Definition at line 163 of file CItems.py.

163  def clear(self):
164  """To remove from canvas"""
165  self.setCanvas(None)
166  self.fromPoint=None
167  self.toPoint=None
168  self.obj=None
169  self.arrow.setCanvas(None)
170  self.arrow=None
171 

References gui.CItems.LineItem.arrow, gui.GraphViewer.LinkItem.arrow, gui.CItems.LineItem.fromPoint, Solution.obj, gui.CItems.TextItem.obj, gui.CItems.PointItem.obj, gui.CItems.LineItem.obj, and gui.CItems.LineItem.toPoint.

◆ getObj()

def gui.CItems.LineItem.getObj (   self)
The object which contains the line

Definition at line 153 of file CItems.py.

153  def getObj(self):
154  """The object which contains the line"""
155  return self.obj

References Solution.obj, gui.CItems.TextItem.obj, gui.CItems.PointItem.obj, and gui.CItems.LineItem.obj.

◆ handleDoubleClick()

def gui.CItems.LineItem.handleDoubleClick (   self,
  pos 
)

Definition at line 156 of file CItems.py.

156  def handleDoubleClick(self,pos):
157  #split the line
158  self.obj.splitline(self,pos)
159 

References Solution.obj, gui.CItems.TextItem.obj, gui.CItems.PointItem.obj, and gui.CItems.LineItem.obj.

◆ moveBy()

def gui.CItems.LineItem.moveBy (   self,
  dx,
  dy 
)
Disable line move

Definition at line 134 of file CItems.py.

134  def moveBy(self,dx,dy):
135  """Disable line move"""
136  pass
137 

◆ selected()

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

Definition at line 172 of file CItems.py.

172  def selected(self):
173  """The canvas item has been selected"""
174 

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

◆ setArrow()

def gui.CItems.LineItem.setArrow (   self)

Definition at line 138 of file CItems.py.

138  def setArrow(self):
139  x1,y1=self.startPoint().x(),self.startPoint().y()
140  x2,y2=self.endPoint().x(),self.endPoint().y()
141  d=math.hypot(x2-x1,y2-y1)
142  sina=(y2-y1)/d
143  cosa=(x2-x1)/d
144  x=(x1+x2)/2.
145  y=(y1+y2)/2.
146  l,e=6,3
147  pa=QPointArray(3)
148  pa.setPoint(0, QPoint(x+l*cosa,y+l*sina))
149  pa.setPoint(1, QPoint(x-e*sina,y+e*cosa))
150  pa.setPoint(2, QPoint(x+e*sina,y-e*cosa))
151  self.arrow.setPoints(pa)
152 

Referenced by gui.CItems.LineItem.setFromPoint(), gui.GraphViewer.LinkItem.setFromPoint(), gui.CItems.LineItem.setToPoint(), and gui.GraphViewer.LinkItem.setToPoint().

◆ setFromPoint()

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

Definition at line 128 of file CItems.py.

128  def setFromPoint(self,x,y):
129  self.setPoints(x,y,self.endPoint().x(),self.endPoint().y())
130  self.setArrow()

References gui.CItems.LineItem.setArrow(), and gui.GraphViewer.LinkItem.setArrow().

◆ setToPoint()

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

Definition at line 131 of file CItems.py.

131  def setToPoint(self,x,y):
132  self.setPoints(self.startPoint().x(), self.startPoint().y(),x,y)
133  self.setArrow()

References gui.CItems.LineItem.setArrow(), and gui.GraphViewer.LinkItem.setArrow().

Member Data Documentation

◆ arrow

gui.CItems.LineItem.arrow

Definition at line 123 of file CItems.py.

Referenced by gui.CItems.LineItem.clear().

◆ fromPoint

gui.CItems.LineItem.fromPoint
To remove from canvas

Definition at line 116 of file CItems.py.

Referenced by gui.CItems.LineItem.clear().

◆ item

◆ obj

◆ toPoint

gui.CItems.LineItem.toPoint

Definition at line 117 of file CItems.py.

Referenced by gui.CItems.LineItem.clear().


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