From edd8fd61075b61ac8b91f77d268a2fb5791d3d1f Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 25 Jul 2011 23:13:25 -0400 Subject: [PATCH] add SampleSketch class --- SampleSketch.py | 43 +++++++++++++++++++++++++++++++++++++++++++ Window.py | 44 ++++---------------------------------------- 2 files changed, 47 insertions(+), 40 deletions(-) create mode 100644 SampleSketch.py diff --git a/SampleSketch.py b/SampleSketch.py new file mode 100644 index 0000000..07475cd --- /dev/null +++ b/SampleSketch.py @@ -0,0 +1,43 @@ + +from Sketch import Sketch +from shapes import * +from constraints import * + +class SampleSketch(Sketch): + def __init__(self): + Sketch.__init__(self) + + l1 = Line(0, 1, 1, 1) + self.shapes.append(l1) + l2 = Line(1, 1, 1, 0) + self.shapes.append(l2) + l3 = Line(1, 0, 0, 0) + self.shapes.append(l3) + l4 = Line(0, 0, 0, 1) + self.shapes.append(l4) + c = Circle(0, 0, 0.3) + self.shapes.append(c) + l5 = Line(0, 0, 0, 0) + self.shapes.append(l5) + + self.constraints.append(Horizontal(l1, 0, l1, 1)) + self.constraints.append(Connect(l1, 1, l2, 0)) + self.constraints.append(Vertical(l2, 0, l2, 1)) + self.constraints.append(Connect(l2, 1, l3, 0)) + self.constraints.append(Horizontal(l3, 0, l3, 1)) + self.constraints.append(Connect(l3, 1, l4, 0)) + self.constraints.append(Vertical(l4, 0, l4, 1)) + self.constraints.append(Connect(l4, 1, l1, 0)) + + self.constraints.append(Connect(c, 1, l2, 0)) + self.constraints.append(Horizontal(c, 4, l3, 1)) +# self.constraints.append(Connect(c, 4, l3, 1)) + + self.constraints.append(XDistance(l1, 0, l1, 1, 1.2)) + self.constraints.append(YDistance(l4, 0, l4, 1, 0.8)) + + self.constraints.append(XFix(l1, 0, 0)) + self.constraints.append(YFix(l1, 0, 0)) + + self.constraints.append(Connect(l5, 0, l2, 1)) + self.constraints.append(Connect(l5, 2, l1, 0)) diff --git a/Window.py b/Window.py index 8e1582c..6298c18 100644 --- a/Window.py +++ b/Window.py @@ -2,11 +2,9 @@ import gtk from Sketch import Sketch +from SampleSketch import SampleSketch from SketchWidget import SketchWidget -from shapes import * -from constraints import * - class Window: def __init__(self, title): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) @@ -15,45 +13,11 @@ class Window: self.window.connect("destroy", self.destroy_event) self.window.connect("key-press-event", self.key_press_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) - l5 = Line(0, 0, 0, 0) - s.shapes.append(l5) + ss = SampleSketch() - s.constraints.append(Horizontal(l1, 0, l1, 1)) - s.constraints.append(Connect(l1, 1, l2, 0)) - s.constraints.append(Vertical(l2, 0, l2, 1)) - s.constraints.append(Connect(l2, 1, l3, 0)) - s.constraints.append(Horizontal(l3, 0, l3, 1)) - s.constraints.append(Connect(l3, 1, l4, 0)) - s.constraints.append(Vertical(l4, 0, l4, 1)) - s.constraints.append(Connect(l4, 1, l1, 0)) + ss.solve() - s.constraints.append(Connect(c, 1, l2, 0)) - s.constraints.append(Horizontal(c, 4, l3, 1)) -# s.constraints.append(Connect(c, 4, l3, 1)) - - s.constraints.append(XDistance(l1, 0, l1, 1, 1.2)) - s.constraints.append(YDistance(l4, 0, l4, 1, 0.8)) - - s.constraints.append(XFix(l1, 0, 0)) - s.constraints.append(YFix(l1, 0, 0)) - - s.constraints.append(Connect(l5, 0, l2, 1)) - s.constraints.append(Connect(l5, 2, l1, 0)) - - s.solve() - - sw = SketchWidget(s, self.window) + sw = SketchWidget(ss, self.window) self.statusbar = gtk.Statusbar()