jpcad/Window.py
2011-07-25 23:49:46 -04:00

62 lines
1.9 KiB
Python

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