Version: 9.16.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 
)

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: