tuikit/core/container.py
changeset 106 abcadb7e2ef1
parent 104 742e504ec053
child 108 11dac45bfba4
--- a/tuikit/core/container.py	Mon Sep 01 08:55:40 2014 +0200
+++ b/tuikit/core/container.py	Wed Sep 03 08:53:44 2014 +0200
@@ -16,6 +16,7 @@
         #: List of child widgets.
         self.children = []
         self.focus_child = None
+        self.mouse_child = None
         self.layout = layout_class()
 
     def add(self, widget):
@@ -67,3 +68,20 @@
     def keypress(self, keyname, char, mod=0):
         if self.focus_child:
             self.focus_child.keypress(keyname, char, mod)
+
+    def mousedown(self, button, pos):
+        self.mouse_child = None
+        for child in reversed(self.children):
+            if pos in child.boundaries:
+                child.mousedown(button, pos - child.pos)
+                self.mouse_child = child
+
+    def mouseup(self, button, pos):
+        if self.mouse_child:
+            self.mouse_child.mouseup(button, pos - self.mouse_child.pos)
+
+    def mousemove(self, button, pos, relpos):
+        if self.mouse_child:
+            self.mouse_child.mousemove(button,
+                pos - self.mouse_child.pos, relpos)
+