jpcad/Window.py
2011-03-29 17:11:00 -04:00

52 lines
1.3 KiB
Python

import gtk
from Sketch import Sketch
from SketchWidget import SketchWidget
from Line import Line
from Circle import Circle
from Connect import Connect
from XDistance import XDistance
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.constraints.append(XDistance(l1, 0, l1, 1, 0.4))
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()