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")
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
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)