Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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)