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 init(self): if self.fInit: return self.fInit = 1 print "init", self # line self.fLineToOwner = Canvas.Line(self.fCanvas, 0, 0, 0, 0, fill='gray30', width=1) # disc self.fDisc = Canvas.Oval(self.fCanvas, 0, 0, 0, 0) self.fDisc.config(width=1) outlineColor, fillColor = Node.kColors[self.xType] self.fDisc.config(outline=outlineColor, fill=fillColor) Node.DiscToNode[self.fDisc] = self outlineColor, fillColor = Node.kColors[self.xType] self.fDisc.config(outline=outlineColor, fill=fillColor) # label self.fLabel = Canvas.CanvasText(self.fCanvas, 0, 0, font=('helvetica', 8), justify='center', anchor='s', text='')
def createItems(self): DataSet.createItems(self) coordArgs = [] for i in range(len(self.canvasX)): coordArgs.append(self.canvasX[i]) coordArgs.append(self.canvasY[i]) lineTag = self.tag + 'Line' Canvas.Line(self.plot.canvas, coordArgs, fill=self.baseColor, width=self.lineWidth, tags=(self.tag, lineTag, 'all')) self.plot.canvas.lower(lineTag)
def __init__(self, origin, dest, fill='black', width=1): (self.origin, self.dest) = (origin, dest) self.line = Canvas.Line(origin.canvas, origin.x, origin.y, dest.x, dest.y, fill=fill, width=width) self.line.lower() self.subscribe(origin, moved=self.update, deleted=self.delete) self.subscribe(dest, moved=self.update, deleted=self.delete) Line.lines[(origin, dest)] = self Line.lines[(dest, origin)] = self
def _configureCanvas(self, event=None): import Canvas if event is not None: self.mapped = True if (event.width == self.canvasWidth and event.height == self.canvasHeight): return self.canvasWidth = event.width self.canvasHeight = event.height # Leave some space for user to draw right # to the edge of canvas self.drawingSize = min(self.canvasWidth, self.canvasHeight) - 10 self.drawingXStart = (self.canvasWidth - self.drawingSize) / 2 self.drawingXEnd = self.drawingXStart + self.drawingSize self.drawingYStart = (self.canvasHeight - self.drawingSize) / 2 self.drawingYEnd = self.drawingYStart + self.drawingSize self.scale = float(self.drawingSize) / self.divisions # Remake grid lines for line in self.grid: line.delete() self.grid = [] for i in range(self.divisions + 1): line = Canvas.Line(self.canvas, [ self._mapToCanvas((i, 0)), self._mapToCanvas((i, self.divisions)) ], fill="gray") self.grid.append(line) line = Canvas.Line(self.canvas, [ self._mapToCanvas((0, i)), self._mapToCanvas((self.divisions, i)) ], fill="gray") self.grid.append(line) self._remakeOutline() self.canvas.focus_set()
def createWidgets(self): self.QUIT = Button(self) self.QUIT["text"] = "QUIT" self.QUIT["fg"] = "red" self.QUIT["command"] = self.quit self.QUIT.pack({"side": "left"}) self.hi_there = Button(self) self.hi_there["text"] = "Hello", self.hi_there["command"] = self.say_hi self.hi_there.pack({"side": "left"}) #c = Tkinter.Canvas() c = Canvas() line = Canvas.Line(c, 1, 1, 2, 2)
def Render(self, canvas, obj): line = Canvas.Line() super(KicadFPLine, self).Render(canvas, line) canvas.Draw(line)