class DragCalendarHorizontal(MouseCommand): cursor = gtk.gdk.Cursor(gtk.gdk.HAND1) @classmethod def can_do(cls, instance, abs): return (0 <= abs[0] / instance.scale <= instance.width and 0 <= abs[1] / instance.scale <= instance.hour_height) def __init__(self, instance, abs): self.mdown = abs self.instance = instance self.pos = instance.date self.flick_pos = None self.scroller = KineticScrollAnimation(30, finished_cb=self._upate_pos) def do(self): if self.flick_pos is None: self.instance.info.date = (self.pos - (self.rel[0] / self.instance.scale) / self.instance.day_width) else: self.instance.info.date = self.flick_pos def undo(self): self.instance.date = self.pos def flick_start(self): self.scroller.observe(self.instance) self.scroller.flick(self.flick_velocity[0] / self.instance.day_width) def flick_stop(self): self.scroller.stop() def _upate_pos(self): self.flick_pos = self.instance.date
def __init__(self, instance, abs): self.mdown = abs self.instance = instance self.pos = instance.date self.flick_pos = None self.scroller = KineticScrollAnimation(30, finished_cb=self._upate_pos)