Exemplo n.º 1
0
 def handle(self, event):
     self.window().make_current()
     if event == Fltk.FL_PUSH:
         if self._draw_overlay:
             self._oldx = Fltk.Fl.event_x()
             self._oldy = Fltk.Fl.event_y()
         if Fltk.Fl.event_clicks() and self.button_double_press_event:
             self.double_press_event(
                 fltk_event2mpl_event('button_double_press_event',
                                      self._source, True, True, True))
             return 1
         elif self.button_press_event:
             self.button_press_event(
                 fltk_event2mpl_event('button_press_event', self._source,
                                      True, True, True))
             return 1
     elif event == Fltk.FL_ENTER:
         return 1
     elif event == Fltk.FL_LEAVE:
         return 1
     elif event == Fltk.FL_MOVE:
         if self.motion_notify_event:
             self.motion_notify_event(
                 fltk_event2mpl_event('motion_notify_event', self._source,
                                      True, False, True))
             return 1
     elif event == Fltk.FL_DRAG:
         if self._draw_overlay:
             self._dx = Fltk.Fl.event_x() - self._oldx
             self._dy = Fltk.Fl.event_y() - self._oldy
             Fltk.fl_overlay_rect(self._oldx, self._oldy, self._dx,
                                  self._dy)
         if self.motion_notify_event:
             self.motion_notify_event(
                 fltk_event2mpl_event('motion_notify_event', self._source,
                                      True, True, True))
             return 1
     elif event == Fltk.FL_RELEASE:
         if self._draw_overlay:
             Fltk.fl_overlay_clear()
         if self.button_release_event:
             self.button_release_event(
                 fltk_event2mpl_event('button_release_event', self._source,
                                      True, True, True))
             return 1
     else:
         return 0
Exemplo n.º 2
0
 def handle(self, event):
     self.window().make_current()
     if event == Fltk.FL_PUSH:
         if self._draw_overlay:
             self._oldx=Fltk.Fl.event_x()
             self._oldy=Fltk.Fl.event_y()
         if Fltk.Fl.event_clicks() and self.button_double_press_event:
             self.double_press_event(fltk_event2mpl_event('button_double_press_event',self._source,True,True,True))
             return 1    
         elif self.button_press_event:
             self.button_press_event(fltk_event2mpl_event('button_press_event',self._source,True,True,True))  
             return 1  
     elif event == Fltk.FL_ENTER:
         return 1     
     elif event == Fltk.FL_LEAVE:
         return 1     
     elif event == Fltk.FL_MOVE:
         if self.motion_notify_event:
             self.motion_notify_event(fltk_event2mpl_event('motion_notify_event',self._source,True,False,True))  
             return 1     
     elif event == Fltk.FL_DRAG:
         if self._draw_overlay:
             self._dx=Fltk.Fl.event_x()-self._oldx
             self._dy=Fltk.Fl.event_y()-self._oldy
             Fltk.fl_overlay_rect(self._oldx,self._oldy,self._dx,self._dy)
         if self.motion_notify_event:
             self.motion_notify_event(fltk_event2mpl_event('motion_notify_event',self._source,True,True,True))  
             return 1    
     elif event == Fltk.FL_RELEASE:
         if self._draw_overlay:
             Fltk.fl_overlay_clear()
         if self.button_release_event:
             self.button_release_event(fltk_event2mpl_event('button_release_event',self._source,True,True,True))   
             return 1  
     else:
         return 0
Exemplo n.º 3
0
    def handle(self, event):
        self.window().make_current()
        x = Fltk.Fl.event_x()
        y = Fltk.Fl.event_y()
        yf = self._source.figure.bbox.height() - y
        if event == Fltk.FL_FOCUS or event == Fltk.FL_UNFOCUS:
            return 1
        elif event == Fltk.FL_KEYDOWN:
            ikey = Fltk.Fl.event_key()
            if ikey <= 255:
                self._key = chr(ikey)
            else:
                try:
                    self._key = special_key[ikey]
                except:
                    self._key = None
            FigureCanvasBase.key_press_event(self._source, self._key)
            return 1
        elif event == Fltk.FL_KEYUP:
            FigureCanvasBase.key_release_event(self._source, self._key)
            self._key = None
        elif event == Fltk.FL_PUSH:
            if Fltk.Fl.event_button1():
                self._button = 1
            elif Fltk.Fl.event_button2():
                self._button = 2
            elif Fltk.Fl.event_button3():
                self._button = 3
            else:
                self._button = None

            if self._draw_overlay:
                self._oldx = x
                self._oldy = y
            if Fltk.Fl.event_clicks():
                FigureCanvasBase.button_press_event(self._source, x, yf, self._button)
                return 1
            else:
                FigureCanvasBase.button_press_event(self._source, x, yf, self._button)
                return 1
        elif event == Fltk.FL_ENTER:
            self.take_focus()
            return 1
        elif event == Fltk.FL_LEAVE:
            return 1
        elif event == Fltk.FL_MOVE:
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_DRAG:
            if self._draw_overlay:
                self._dx = Fltk.Fl.event_x() - self._oldx
                self._dy = Fltk.Fl.event_y() - self._oldy
                Fltk.fl_overlay_rect(self._oldx, self._oldy, self._dx, self._dy)
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_RELEASE:
            if self._draw_overlay:
                Fltk.fl_overlay_clear()
            FigureCanvasBase.button_release_event(self._source, x, yf, self._button)
            self._button = None
            return 1
        else:
            return 0
Exemplo n.º 4
0
    def handle(self, event):
        x = Fltk.Fl.event_x()
        y = Fltk.Fl.event_y()
        yf = self._source.figure.bbox.height - y
        if event == Fltk.FL_FOCUS or event == Fltk.FL_UNFOCUS:
            return 1
        elif event == Fltk.FL_KEYDOWN:
            ikey = Fltk.Fl.event_key()
            if (ikey <= 255):
                self._key = chr(ikey)
            else:
                try:
                    self._key = special_key[ikey]
                except:
                    self._key = None
            FigureCanvasBase.key_press_event(self._source, self._key)
            return 1
        elif event == Fltk.FL_KEYUP:
            FigureCanvasBase.key_release_event(self._source, self._key)
            self._key = None
        elif event == Fltk.FL_PUSH:
            self.window().make_current()
            if Fltk.Fl.event_button1():
                self._button = 1
            elif Fltk.Fl.event_button2():
                self._button = 2
            elif Fltk.Fl.event_button3():
                self._button = 3
            else:
                self._button = None

            if self._draw_overlay:
                self._oldx = x
                self._oldy = y
            if Fltk.Fl.event_clicks():
                FigureCanvasBase.button_press_event(self._source, x, yf,
                                                    self._button)
                return 1
            else:
                FigureCanvasBase.button_press_event(self._source, x, yf,
                                                    self._button)
                return 1
        elif event == Fltk.FL_ENTER:
            self.take_focus()
            return 1
        elif event == Fltk.FL_LEAVE:
            return 1
        elif event == Fltk.FL_MOVE:
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_DRAG:
            self.window().make_current()
            if self._draw_overlay:
                self._dx = Fltk.Fl.event_x() - self._oldx
                self._dy = Fltk.Fl.event_y() - self._oldy
                Fltk.fl_overlay_rect(self._oldx, self._oldy, self._dx,
                                     self._dy)
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_RELEASE:
            self.window().make_current()
            if self._draw_overlay:
                Fltk.fl_overlay_clear()
            FigureCanvasBase.button_release_event(self._source, x, yf,
                                                  self._button)
            self._button = None
            return 1
        return 0
Exemplo n.º 5
0
    def handle(self, event):
        x=Fltk.Fl.event_x()
        y=Fltk.Fl.event_y()
        yf=self._source.figure.bbox.height - y
        if event == Fltk.FL_FOCUS or event == Fltk.FL_UNFOCUS:
            return 1
        elif event == Fltk.FL_KEYDOWN:
            ikey= Fltk.Fl.event_key()
            if(ikey<=255):
                self._key=chr(ikey)
            else:
                try:
                    self._key=special_key[ikey]
                except:
                    self._key=None
            
            # TODO: Handle ctrl, alt, super modifiers.
            FigureCanvasBase.key_press_event(self._source, self._key)
            return 1
        elif event == Fltk.FL_KEYUP:
            FigureCanvasBase.key_release_event(self._source, self._key)
            self._key=None
        elif event == Fltk.FL_PUSH:
            self.window().make_current()
            if Fltk.Fl.event_button1():
                self._button = 1
            elif  Fltk.Fl.event_button2():
                self._button = 2
            elif  Fltk.Fl.event_button3():
                self._button = 3
            else:
                self._button = None

            if self._draw_overlay:
                self._oldx=x
                self._oldy=y
            if Fltk.Fl.event_clicks():  # according to docs, event_clicks() returns nonzero if this is a double click.
                FigureCanvasBase.button_press_event(self._source, x, yf, self._button, dblclick=True)
                return 1
            else:
                FigureCanvasBase.button_press_event(self._source, x, yf, self._button)
                return 1
        elif event == Fltk.FL_ENTER:
            self.take_focus()
            return 1
        elif event == Fltk.FL_LEAVE:
            return 1
        elif event == Fltk.FL_MOVE:
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_DRAG:
            self.window().make_current()
            if self._draw_overlay:
                self._dx=Fltk.Fl.event_x()-self._oldx
                self._dy=Fltk.Fl.event_y()-self._oldy
                Fltk.fl_overlay_rect(self._oldx,self._oldy,self._dx,self._dy)
            FigureCanvasBase.motion_notify_event(self._source, x, yf)
            return 1
        elif event == Fltk.FL_RELEASE:
            self.window().make_current()
            if self._draw_overlay:
                Fltk.fl_overlay_clear()
            FigureCanvasBase.button_release_event(self._source, x, yf, self._button)
            self._button = None
            return 1
        return 0