jpcad/Window.py
2011-03-29 14:21:41 -04:00

50 lines
1.2 KiB
Python

import gtk
from Sketch import Sketch
from SketchWidget import SketchWidget
from Line import Line
from Circle import Circle
from Connect import Connect
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)
s = Sketch()
l1 = Line(0, 1, 1, 1)
s.shapes.append(l1)
l2 = Line(1, 1, 1, 0)
s.shapes.append(l2)
l3 = Line(1, 0, 0, 0)
s.shapes.append(l3)
l4 = Line(0, 0, 0, 1)
s.shapes.append(l4)
c = Circle(0, 0, 0.3)
s.shapes.append(c)
s.constraints.append(Connect(l1, 1, l2, 0))
s.constraints.append(Connect(l2, 1, l3, 0))
s.constraints.append(Connect(l3, 1, l4, 0))
s.constraints.append(Connect(l4, 1, l1, 0))
s.constraints.append(Connect(c, 1, l2, 0))
s.constraints.append(Connect(c, 4, l3, 1))
s.solve()
sw = SketchWidget(s)
self.window.add(sw.widget)
self.window.show_all()
def main(self):
gtk.main()
def destroy_event(self, widget, data=None):
gtk.main_quit()