Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTuukka Hastrup <Tuukka.Hastrup@iki.fi>2010-06-05 16:58:36 (GMT)
committer Tuukka Hastrup <Tuukka.Hastrup@iki.fi>2010-06-05 19:05:38 (GMT)
commit6f526ef39d6ef5b8be82f90b03f8b5986a46f961 (patch)
tree9d3ee45d33310feb6d3d5c803b6677f775d4059f
parentae81436daef81892ab48ef28a3bef27a995cc637 (diff)
beads can be moved by clickingHEADmaster
-rw-r--r--abacus_window.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/abacus_window.py b/abacus_window.py
index 07313bd..5b799d1 100644
--- a/abacus_window.py
+++ b/abacus_window.py
@@ -275,10 +275,12 @@ class Abacus():
self.dragpos = x
else:
self.press = None
+ self.mouse_dragged = False
return True
def _mouse_move_cb(self, win, event):
""" Callback to handle the mouse moves """
+ self.mouse_dragged = True
if self.press is None:
self.dragpos = 0
return True
@@ -294,6 +296,8 @@ class Abacus():
""" Callback to handle the button releases """
if self.press == None:
return True
+ elif self.press.type == 'bead' and not self.mouse_dragged:
+ self.mode.move_bead(self.press, None)
self.press = None
# The complexity below is to make the label as simple as possible
sum = ""
@@ -583,7 +587,7 @@ class AbacusGeneric():
b = i % (self.top_beads+self.bot_beads)
if b < self.top_beads:
- if dy > 0 and bead.get_state() == 0:
+ if (dy is None or dy > 0) and bead.get_state() == 0:
self.fade_colors()
bead.set_color(self.colors[3])
bead.move_down()
@@ -592,7 +596,7 @@ class AbacusGeneric():
if self.beads[i+ii].state == 0:
self.beads[i+ii].set_color(self.colors[3])
self.beads[i+ii].move_down()
- elif dy < 0 and bead.state == 1:
+ elif (dy is None or dy < 0) and bead.state == 1:
self.fade_colors()
bead.set_color(self.colors[3])
bead.move_up()
@@ -602,7 +606,7 @@ class AbacusGeneric():
self.beads[i-ii].set_color(self.colors[3])
self.beads[i-ii].move_up()
else:
- if dy < 0 and bead.state == 0:
+ if (dy is None or dy < 0) and bead.state == 0:
self.fade_colors()
bead.set_color(self.colors[3])
bead.move_up()
@@ -611,7 +615,7 @@ class AbacusGeneric():
if self.beads[i-ii].state == 0:
self.beads[i-ii].set_color(self.colors[3])
self.beads[i-ii].move_up()
- elif dy > 0 and bead.state == 1:
+ elif (dy is None or dy > 0) and bead.state == 1:
self.fade_colors()
bead.set_color(self.colors[3])
bead.move_down()