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)
Beispiel #2
0
 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='')
Beispiel #3
0
 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)
Beispiel #4
0
 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()
Beispiel #6
0
    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)