예제 #1
0
    def motion_notify(self, widget, event):
        """
        Internal callback for `motion-notify-event` signal.

        @param widget: A widget of gtk.Widget.
        @param event: The motion-notify-event of type gtk.gdk.Event
        """
        if self.enable_resize and self.shadow_is_visible:
            self.cursor_type = self.get_cursor_type(event)
            set_cursor(self.window_shadow, self.cursor_type)
예제 #2
0
    def motion_notify(self, widget, event):
        '''
        Internal callback for `motion-notify-event` signal.

        @param widget: A widget of gtk.Widget.
        @param event: The motion-notify-event of type gtk.gdk.Event
        '''
        if self.enable_resize and self.shadow_is_visible:
            self.cursor_type = self.get_cursor_type(event)
            set_cursor(self.window_shadow, self.cursor_type)
예제 #3
0
    def leave_notify_slide_switcher(self, widget, event):
        rect = widget.allocation
        if is_in_rect((event.x, event.y), (0, 0, rect.width, rect.height)):
            self.handle_animation(widget, event)
        else:
            self.start_auto_slide()

        set_cursor(widget, None)

        self.emit("leave-notify-index", self.active_index)
예제 #4
0
파일: window.py 프로젝트: netphi/deepin-ui
 def motion_notify(self, widget, event):
     '''Callback for motion-notify event.'''
     if self.enable_resize and self.shadow_is_visible:
         cursor_type = self.get_cursor_type(event)
         if cursor_type != None:
             set_cursor(self, self.cursor_type)
         elif self.cursor_type != None:
             set_cursor(self, None)
             
         self.cursor_type = cursor_type
예제 #5
0
    def leave_notify_slide_switcher(self, widget, event):
        rect = widget.allocation
        if is_in_rect((event.x, event.y), (0, 0, rect.width, rect.height)):
            self.handle_animation(widget, event)
        else:
            self.start_auto_slide()

        set_cursor(widget, None)

        self.emit("leave-notify-index", self.active_index)
예제 #6
0
 def handle_animation(self, widget, event):    
     self.motion_index = None
     for index, rect in self.pointer_coords.items():
         if rect.x <= event.x <= rect.x + rect.width and rect.y <= event.y <= rect.y + rect.height:
             set_cursor(widget, gtk.gdk.HAND2)
             self.motion_index = index
             break    
     else:    
         self.motion_index = None
         set_cursor(widget, None)
예제 #7
0
파일: slider.py 프로젝트: masums/deepin-ui
 def handle_animation(self, widget, event):
     self.motion_index = None
     for index, rect in self.pointer_coords.items():
         if rect.x <= event.x <= rect.x + rect.width and rect.y <= event.y <= rect.y + rect.height:
             set_cursor(widget, gtk.gdk.HAND2)
             self.motion_index = index
             break
     else:
         self.motion_index = None
         set_cursor(widget, None)
예제 #8
0
    def motion_notify(self, widget, event):
        '''
        Internal callback for `motion-notify` signal. 

        @param widget: A widget of gtk.Widget.
        @param event: The motion-notify-event of type gtk.gdk.Event
        '''
        if self.enable_resize and self.shadow_is_visible:
            cursor_type = self.get_cursor_type(event)
            if cursor_type != None:
                set_cursor(self, self.cursor_type)
            elif self.cursor_type != None:
                set_cursor(self, None)
                
            self.cursor_type = cursor_type
예제 #9
0
    def handle_animation(self, widget, event, button_press=False):
        # Init.
        rect = widget.allocation

        start_x = rect.width + self.pointer_offset_x - self.pointer_radious
        start_y = rect.height + self.pointer_offset_y
        self.left_retangle = (0, 0, rect.width / 3, rect.height - self.pointer_offset_y)
        self.right_retangle = (0 + 2 * rect.width / 3, 0, rect.width / 3, rect.height - self.pointer_offset_y)

        if self.image_number > 1 and (
            start_y - 4 * self.pointer_radious < event.y < start_y + self.pointer_radious * 6
            and start_x - 2 * self.pointer_radious
            < event.x
            < start_x + 4 * self.pointer_padding + 4 * self.pointer_radious
        ):

            set_cursor(widget, gtk.gdk.HAND2)

            if self.hover_switch or button_press:
                self.motion_index = None
                for index in range(0, self.image_number):
                    if start_x + index * self.pointer_padding < event.x < start_x + (index + 1) * self.pointer_padding:
                        self.motion_index = index
                        if self.active_index != index:
                            self.start_animation(self.hover_animation_time, index)
                        break
        elif self.image_number > 1 and is_in_rect((event.x, event.y), self.left_retangle) and self.navigate_switch:
            if not self.in_left_nav:
                self.in_left_nav = True
                self.queue_draw()
            set_cursor(widget, gtk.gdk.SB_LEFT_ARROW)
            if button_press:
                self.to_left_animation()
        elif self.image_number > 1 and is_in_rect((event.x, event.y), self.right_retangle) and self.navigate_switch:
            if not self.in_right_nav:
                self.in_right_nav = True
                self.queue_draw()
            set_cursor(widget, gtk.gdk.SB_RIGHT_ARROW)
            if button_press:
                self.to_right_animation()
        else:
            if self.in_left_nav or self.in_right_nav:
                self.in_left_nav = False
                self.in_right_nav = False
                self.queue_draw()
            set_cursor(widget, None)

            if button_press:
                self.emit("button-press-index", self.active_index)
            else:
                self.emit("motion-notify-index", self.active_index)
예제 #10
0
    def handle_animation(self, widget, event, button_press=False):
        # Init.
        rect = widget.allocation

        start_x = rect.width + self.pointer_offset_x - self.pointer_radious
        start_y = rect.height + self.pointer_offset_y
        self.left_retangle = (0, 0, rect.width/3, rect.height - self.pointer_offset_y)
        self.right_retangle = (0 + 2*rect.width/3, 0, rect.width/3, rect.height - self.pointer_offset_y)

        if self.image_number > 1 and (start_y - 4 * self.pointer_radious < event.y < start_y + self.pointer_radious * 6
            and start_x - 2 * self.pointer_radious < event.x < start_x + 4 * self.pointer_padding + 4 * self.pointer_radious):

            set_cursor(widget, gtk.gdk.HAND2)

            if self.hover_switch or button_press:
                self.motion_index = None
                for index in range(0, self.image_number):
                    if start_x + index * self.pointer_padding < event.x < start_x + (index + 1) * self.pointer_padding:
                        self.motion_index = index
                        if self.active_index != index:
                            self.start_animation(self.hover_animation_time, index)
                        break
        elif self.image_number > 1 and is_in_rect((event.x, event.y), self.left_retangle) and self.navigate_switch:
            if not self.in_left_nav:
                self.in_left_nav = True
                self.queue_draw()
            set_cursor(widget, gtk.gdk.SB_LEFT_ARROW)
            if button_press:
                self.to_left_animation()
        elif self.image_number > 1 and is_in_rect((event.x, event.y), self.right_retangle) and self.navigate_switch:
            if not self.in_right_nav:
                self.in_right_nav = True
                self.queue_draw()
            set_cursor(widget, gtk.gdk.SB_RIGHT_ARROW)
            if button_press:
                self.to_right_animation()
        else:
            if self.in_left_nav or self.in_right_nav:
                self.in_left_nav = False
                self.in_right_nav = False
                self.queue_draw()
            set_cursor(widget, None)

            if button_press:
                self.emit("button-press-index", self.active_index)
            else:
                self.emit("motion-notify-index", self.active_index)
예제 #11
0
파일: box.py 프로젝트: chenzhiwei/deepin-ui
    def __motion_notify(self, widget, event):
        if event.y < self.min_height:
            if event.y < self.min_height - 10:
                set_cursor(widget, None)
            else:
                set_cursor(widget, gtk.gdk.SB_V_DOUBLE_ARROW)
            return

        if self.resizable:
            set_cursor(widget, gtk.gdk.SB_V_DOUBLE_ARROW)
            self.height = event.y
        else:
            self.height = self.min_height

        if self.button_pressed:
            # redraw the widget
            self.queue_draw()
예제 #12
0
    def __motion_notify(self, widget, event):
        if event.y < self.min_height:
            if event.y < self.min_height - 10:
                set_cursor(widget, None)
            else:
                set_cursor(widget, gtk.gdk.SB_V_DOUBLE_ARROW)
            return

        if self.resizable:
            set_cursor(widget, gtk.gdk.SB_V_DOUBLE_ARROW)
            self.height = event.y
        else:
            self.height = self.min_height

        if self.button_pressed:
            # redraw the widget
            self.queue_draw()
예제 #13
0
 def motion_notify(self, widget, event):
     '''Callback for motion-notify event.'''
     if self.enable_resize and self.shadow_is_visible:
         self.cursor_type = self.get_cursor_type(event)
         set_cursor(self.window_shadow, self.cursor_type)
예제 #14
0
 def leave_notify(self, widget, event):
     set_cursor(self, None)
예제 #15
0
파일: window.py 프로젝트: masums/deepin-ui
 def leave_notify(self, widget, event):
     set_cursor(self, None)
예제 #16
0
파일: slider.py 프로젝트: masums/deepin-ui
 def on_leave_notify(self, widget, event):
     self.auto_animation()
     set_cursor(widget, None)
예제 #17
0
 def on_leave_notify(self, widget, event):
     self.auto_animation()
     set_cursor(widget, None)