コード例 #1
0
ファイル: display.py プロジェクト: rileytony0910/viewpy
class Layout(Display):
    def __init__(self, regions):
        Display.__init__(self, regions)
        self.root.title("ViewPY: A Data Viewing Program")

        self.menubar = MenuBar(self.root)
        self.mainframe = ttk.Frame(self.root, padding='5 5 5 5')
        self.mainframe.pack()
        self.canvas = Canvas(self.mainframe,
                             width=800,
                             height=800,
                             background='white')
        self.draw = CanvasDrawing(self.canvas, self.regions)

    def set_layout(self):
        self.menubar.add_all_menus()
        self.menubar.build_popupmenu(self.canvas)
        self.draw.setup()
        self.canvas.grid(column=0, row=0, rowspan=8, sticky=(E, W, N, S))
        close = ttk.Button(self.mainframe,
                           text='Quit',
                           command=self.close_window)
        scale = ttk.Button(self.mainframe,
                           text='Set color scale',
                           command=self.color_scaler)
        vict = ttk.Label(self.mainframe, text='You did it')
        close.grid(column=1, row=0, sticky=(E, W))
        scale.grid(column=1, row=1, sticky=(E, W))
        vict.grid(column=1, row=2, sticky=(E, W))

        self.root.mainloop()

    def color_scaler(self):
        top = Toplevel(self.root)
        cs = ColorScaler(top, self.regions, self.draw)
        cs.main()

    def close_window(self):
        self.root.destroy()

    def save(self):
        # This is all just untested code at the moment
        ps = self.canvas.postscript(colormode='color')
        img = Image.open(io.BytesIO(ps.encode('utf-8')))
        img.save("test.jpg")