def _remakeOutline(self):
     if not self.mapped:
         return
     import Canvas
     if self.outline:
         self.outline.delete()
     if not self.points:
         self.outline = None
     elif len(self.points) < 2:
         pt = self._mapToCanvas(self.points[0])
         ul = (pt[0] - 1, pt[1] - 1)
         lr = (pt[0] + 1, pt[1] + 1)
         self.outline = Canvas.Rectangle(self.canvas, [ul, lr],
                                         fill="black")
     else:
         coords = []
         for pt in self.points:
             coords.append(self._mapToCanvas(pt))
         if "closed" in self.opt.getvalue():
             if self.points[0] != self.points[-1]:
                 coords.append(self._mapToCanvas(self.points[0]))
             else:
                 del self.points[-1]
         self.outline = Canvas.Line(self.canvas,
                                    coords,
                                    fill="black",
                                    width=3)
 def _movePoint(self, event):
     import Canvas
     pt = self._mapToCanvas(self._mapFromCanvas(event))
     if self.curPoint:
         self.curPoint.delete()
     ul = (pt[0] - 1, pt[1] - 1)
     lr = (pt[0] + 1, pt[1] + 1)
     self.curPoint = Canvas.Rectangle(self.canvas, [ul, lr], outline="red")
Beispiel #3
0
 def createImage(self):
     trace.into('TestIcon', 'createImage')
     trace.writeVar(name=self.name)
     self.box = Canvas.Rectangle(self.canvas,
                                 (self.ulx, self.uly,
                                  self.ulx + self.width, self.uly + self.height,
                                  ),
                                 fill=self.COLORS['pending'],
                                 outline=self.COLORS['pending'],
                                 )
     self.box.addtag(self.uniqueName)
     self.canvas_objects.append(self.box)
     trace.write('balloonFcn=%s' % self.balloonFcn)
     trace.outof()
     return
Beispiel #4
0
 def createItems(self):
     self.itemList = []
     self.canvasX = []
     self.canvasY = []
     ignore, y2 = self.plot.scale(0, self.plot.yMin)
     for i in range(len(self.data)):
         mapX, mapY = self.plot.scale(self.data[i][0], self.data[i][1])
         x1 = mapX - self.itemWidth + self.itemXShift
         y1 = mapY
         x2 = mapX + self.itemWidth + self.itemXShift
         item = Canvas.Rectangle(self.plot.canvas,
                                 x1,
                                 y1,
                                 x2,
                                 y2,
                                 fill=self.baseColor,
                                 outline=self.baseColor,
                                 tags=(self.tag, 'all'))
         self.itemList.append(item)
         self.canvasX.append(mapX)
         self.canvasY.append(mapY)
     if self.litItem >= 0:
         self.highlightItem(self.itemList[self.litItem],
                            self.highlightColor)