]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/ogl/_lines.py
Correct call to shape.Show()
[wxWidgets.git] / wxPython / wx / lib / ogl / _lines.py
index 8b9c0fba7717cfd9ff0b558ebf96e4dccbc11e55..c20e9ac2ea39a82a19ea117c3796eb1e1a6cfcab 100644 (file)
@@ -330,7 +330,8 @@ class LineShape(Shape):
             # initialize them by placing them half way between the first
             # and the last.
 
-            for point in self._lineControlPoints[1:]:
+            for i in range(1,len(self._lineControlPoints)):
+                point = self._lineControlPoints[i]
                 if point[0] == -999:
                     if first_point[0] < last_point[0]:
                         x1 = first_point[0]
@@ -344,8 +345,7 @@ class LineShape(Shape):
                     else:
                         y2 = first_point[1]
                         y1 = last_point[1]
-                    point[0] = (x2 - x1) / 2.0 + x1
-                    point[1] = (y2 - y1) / 2.0 + y1
+                    self._lineControlPoints[i] = wx.RealPoint((x2 - x1) / 2.0 + x1, (y2 - y1) / 2.0 + y1)
                     
     def FormatText(self, dc, s, i):
         """Format a text string according to the region size, adding
@@ -490,15 +490,10 @@ class LineShape(Shape):
 
     def SetEnds(self, x1, y1, x2, y2):
         """Set the end positions of the line."""
-        # Find centre point
-        first_point = self._lineControlPoints[0]
-        last_point = self._lineControlPoints[-1]
-
-        first_point[0] = x1
-        first_point[1] = y1
-        last_point[0] = x2
-        last_point[1] = y2
+        self._lineControlPoints[0] = wx.RealPoint(x1, y1)
+        self._lineControlPoints[-1] = wx.RealPoint(x2, y2)
 
+        # Find centre point
         self._xpos = (x1 + x2) / 2.0
         self._ypos = (y1 + y2) / 2.0
 
@@ -916,9 +911,6 @@ class LineShape(Shape):
         # manually if necessary
         end_x, end_y, other_end_x, other_end_y = self.FindLineEndPoints()
 
-        first = self._lineControlPoints[0]
-        last = self._lineControlPoints[-1]
-
         oldX, oldY = self._xpos, self._ypos
 
         self.SetEnds(end_x, end_y, other_end_x, other_end_y)
@@ -935,8 +927,8 @@ class LineShape(Shape):
         # if attachment mode is ON
         if self._from == self._to and self._from.GetAttachmentMode() != ATTACHMENT_MODE_NONE and moveControlPoints and self._lineControlPoints and not (x_offset == 0 and y_offset == 0):
             for point in self._lineControlPoints[1:-1]:
-                point.x += x_offset
-                point.y += y_offset
+                point[0] += x_offset
+                point[1] += y_offset
 
         self.Move(dc, self._xpos, self._ypos)
 
@@ -991,8 +983,8 @@ class LineShape(Shape):
             if self._to.GetAttachmentMode() == ATTACHMENT_MODE_NONE:
                 other_end_x, other_end_y = self._to.GetPerimeterPoint(self._to.GetX(), self._to.GetY(), fromX, fromY)
 
-            #print type(self._from), type(self._to), end_x, end_y, other_end_x, other_end_y
-            return end_x, end_y, other_end_x, other_end_y
+        return end_x, end_y, other_end_x, other_end_y
+
 
     def OnDraw(self, dc):
         if not self._lineControlPoints:
@@ -1005,7 +997,7 @@ class LineShape(Shape):
 
         points = []
         for point in self._lineControlPoints:
-            points.append(wx.Point(point.x, point.y))
+            points.append(wx.Point(point[0], point[1]))
 
         #print points
         if self._isSpline:
@@ -1016,7 +1008,7 @@ class LineShape(Shape):
         if sys.platform[:3] == "win":
             # For some reason, last point isn't drawn under Windows
             pt = points[-1]
-            dc.DrawPoint(pt.x, pt.y)
+            dc.DrawPoint(pt[0], pt[1])
 
         # Problem with pen - if not a solid pen, does strange things
         # to the arrowhead. So make (get) a new pen that's solid.
@@ -1082,18 +1074,18 @@ class LineShape(Shape):
             control = LineControlPoint(self._canvas, self, CONTROL_POINT_SIZE, first[0], first[1], CONTROL_POINT_ENDPOINT_FROM)
             control._point = first
             self._canvas.AddShape(control)
-            self._controlPoints.Append(control)
+            self._controlPoints.append(control)
 
             for point in self._lineControlPoints[1:-1]:
                 control = LineControlPoint(self._canvas, self, CONTROL_POINT_SIZE, point[0], point[1], CONTROL_POINT_LINE)
                 control._point = point
                 self._canvas.AddShape(control)
-                self._controlPoints.Append(control)
+                self._controlPoints.append(control)
 
             control = LineControlPoint(self._canvas, self, CONTROL_POINT_SIZE, last[0], last[1], CONTROL_POINT_ENDPOINT_TO)
             control._point = last
             self._canvas.AddShape(control)
-            self._controlPoints.Append(control)
+            self._controlPoints.append(control)
 
     def ResetControlPoints(self):
         if self._canvas and self._lineControlPoints:
@@ -1146,12 +1138,11 @@ class LineShape(Shape):
         dc.SetBrush(wx.TRANSPARENT_BRUSH)
 
         if pt._type == CONTROL_POINT_LINE:
-            x, y = self._canvas.Snap()
+            x, y = self._canvas.Snap(x, y)
 
             pt.SetX(x)
             pt.SetY(y)
-            pt._point[0] = x
-            pt._point[1] = y
+            pt._point = x, y
 
             old_pen = self.GetPen()
             old_brush = self.GetBrush()
@@ -1170,7 +1161,7 @@ class LineShape(Shape):
 
         if pt._type == CONTROL_POINT_LINE:
             pt._originalPos = pt._point
-            x, y = self._canvas.Snap()
+            x, y = self._canvas.Snap(x, y)
 
             self.Erase(dc)
 
@@ -1186,8 +1177,7 @@ class LineShape(Shape):
 
             pt._xpos = x
             pt._ypos = y
-            pt._point[0] = x
-            pt._point[1] = y
+            pt._point = x, y
 
             old_pen = self.GetPen()
             old_brush = self.GetBrush()
@@ -1202,7 +1192,7 @@ class LineShape(Shape):
             self.SetBrush(old_brush)
 
         if pt._type == CONTROL_POINT_ENDPOINT_FROM or pt._type == CONTROL_POINT_ENDPOINT_TO:
-            self._canvas.SetCursor(wx.Cursor(wx.CURSOR_BULLSEYE))
+            self._canvas.SetCursor(wx.StockCursor(wx.CURSOR_BULLSEYE))
             pt._oldCursor = wx.STANDARD_CURSOR
 
     def OnSizingEndDragLeft(self, pt, x, y, keys = 0, attachment = 0):
@@ -1212,7 +1202,7 @@ class LineShape(Shape):
         self.SetDisableLabel(False)
 
         if pt._type == CONTROL_POINT_LINE:
-            x, y = self._canvas.Snap()
+            x, y = self._canvas.Snap(x, y)
 
             rpt = wx.RealPoint(x, y)
 
@@ -1223,8 +1213,7 @@ class LineShape(Shape):
             # as it changed shape.
             pt._xpos = pt._originalPos[0]
             pt._ypos = pt._originalPos[1]
-            pt._point[0] = pt._originalPos[0]
-            pt._point[1] = pt._originalPos[1]
+            pt._point = pt._originalPos[0], pt._originalPos[1]
 
             self.OnMoveMiddleControlPoint(dc, pt, rpt)
 
@@ -1247,8 +1236,7 @@ class LineShape(Shape):
         lpt._xpos = pt[0]
         lpt._ypos = pt[1]
 
-        lpt._point[0] = pt[0]
-        lpt._point[1] = pt[1]
+        lpt._point = pt[0], pt[1]
 
         self.GetEventHandler().OnMoveLink(dc)