diff options
-rw-r--r-- | abacus_window.py | 12 |
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() |