summaryrefslogtreecommitdiffstats
path: root/Tools/idle/Separator.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/idle/Separator.py')
-rw-r--r--Tools/idle/Separator.py92
1 files changed, 0 insertions, 92 deletions
diff --git a/Tools/idle/Separator.py b/Tools/idle/Separator.py
deleted file mode 100644
index 7145559..0000000
--- a/Tools/idle/Separator.py
+++ /dev/null
@@ -1,92 +0,0 @@
-from Tkinter import *
-
-class Separator:
-
- def __init__(self, master, orient, min=10, thickness=5, bg=None):
- self.min = max(1, min)
- self.thickness = max(1, thickness)
- if orient in ("h", "horizontal"):
- self.side = "left"
- self.dim = "width"
- self.dir = "x"
- self.cursor = "sb_h_double_arrow"
- elif orient in ("v", "vertical"):
- self.side = "top"
- self.dim = "height"
- self.dir = "y"
- self.cursor = "sb_v_double_arrow"
- else:
- raise ValueError, "Separator: orient should be h or v"
- self.winfo_dim = "winfo_" + self.dim
- self.master = master = Frame(master)
- master.pack(expand=1, fill="both")
- self.f1 = Frame(master)
- self.f1.pack(expand=1, fill="both", side=self.side)
- self.div = Frame(master, cursor=self.cursor)
- self.div[self.dim] = self.thickness
- self.div.pack(fill="both", side=self.side)
- self.f2 = Frame(master)
- self.f2.pack(expand=1, fill="both", side=self.side)
- self.div.bind("<ButtonPress-1>", self.divider_press)
- if bg:
- ##self.f1["bg"] = bg
- ##self.f2["bg"] = bg
- self.div["bg"] = bg
-
- def parts(self):
- return self.f1, self.f2
-
- def divider_press(self, event):
- self.press_event = event
- self.f1.pack_propagate(0)
- self.f2.pack_propagate(0)
- for f in self.f1, self.f2:
- for dim in "width", "height":
- f[dim] = getattr(f, "winfo_"+dim)()
- self.div.bind("<Motion>", self.div_motion)
- self.div.bind("<ButtonRelease-1>", self.div_release)
- self.div.grab_set()
-
- def div_motion(self, event):
- delta = getattr(event, self.dir) - getattr(self.press_event, self.dir)
- if delta:
- dim1 = getattr(self.f1, self.winfo_dim)()
- dim2 = getattr(self.f2, self.winfo_dim)()
- delta = max(delta, self.min-dim1)
- delta = min(delta, dim2-self.min)
- dim1 = dim1 + delta
- dim2 = dim2 - delta
- self.f1[self.dim] = dim1
- self.f2[self.dim] = dim2
-
- def div_release(self, event):
- self.div_motion(event)
- self.div.unbind("<Motion>")
- self.div.grab_release()
-
-class VSeparator(Separator):
-
- def __init__(self, master, min=10, thickness=5, bg=None):
- Separator.__init__(self, master, "v", min, thickness, bg)
-
-class HSeparator(Separator):
-
- def __init__(self, master, min=10, thickness=5, bg=None):
- Separator.__init__(self, master, "h", min, thickness, bg)
-
-def main():
- root = Tk()
- tlist = []
- outer = HSeparator(root, bg="red")
- for part in outer.parts():
- inner = VSeparator(part, bg="blue")
- for f in inner.parts():
- t = Text(f, width=40, height=10, borderwidth=0)
- t.pack(fill="both", expand=1)
- tlist.append(t)
- tlist[0].insert("1.0", "Make your own Mondrian!")
- tlist[1].insert("1.0", "Move the colored dividers...")
- root.mainloop()
-
-if __name__ == '__main__':
- main()