import gtk from Sketch import Sketch from SampleSketch import SampleSketch from SketchWidget import SketchWidget class Window: def __init__(self, title): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_size_request(600, 500) self.window.set_title(title) self.window.connect("destroy", self.destroy_event) self.window.connect("key-press-event", self.key_press_event) ss = SampleSketch() ss.solve() sw = SketchWidget(ss, self.window) self.toolbar = gtk.Toolbar() self.toolbar.set_style(gtk.TOOLBAR_BOTH) self.select_button = gtk.ToggleToolButton() self.select_button.set_label('Select') self.select_button.connect('toggled', self.toggled_event) self.toolbar.insert(self.select_button, -1) self.line_button = gtk.ToggleToolButton() self.line_button.set_label('Line') self.line_button.connect('toggled', self.toggled_event) self.toolbar.insert(self.line_button, -1) self.statusbar = gtk.Statusbar() vbox = gtk.VBox() vbox.pack_start(self.toolbar, expand = False) vbox.pack_start(sw.widget, expand = True) vbox.pack_start(self.statusbar, expand = False) self.window.add(vbox) self.window.show_all() def main(self): gtk.main() def destroy_event(self, widget, data=None): gtk.main_quit() def key_press_event(self, widget, event, data=None): if event.keyval == gtk.gdk.keyval_from_name("Escape"): gtk.main_quit() return False def toggled_event(self, ttb): # if not ttb.get_active(): # ttb.set_active(True) # elif ttb == self.select_button: # self.line_button.set_active(False) # elif ttb == self.line_button: # self.select_button.set_active(False) return True