Beispiel #1
0
 def stop_render(self):
     '''
     Internal function to stop render.
     '''
     # Stop callback.
     remove_timeout_id(self.start_show_id)
     remove_timeout_id(self.start_hide_id)
Beispiel #2
0
 def stop_render(self):
     '''
     Internal function to stop render.
     '''
     # Stop callback.
     remove_timeout_id(self.start_show_id)
     remove_timeout_id(self.start_hide_id)
Beispiel #3
0
 def hide_immediately(self):
     '''Hide immediately.'''
     # Remove callback.
     remove_signal_id(self.configure_event_callback_id)
     remove_signal_id(self.destroy_callback_id)
     remove_signal_id(self.focus_out_callback_id)
     remove_timeout_id(self.start_hide_callback_id)
     
     self.hide_all()
Beispiel #4
0
    def show(self, text):
        '''
        Show.

        @param text: OSD tooltip text.
        '''
        # Remove callback.j
        remove_signal_id(self.configure_event_callback_id)
        remove_signal_id(self.destroy_callback_id)
        remove_signal_id(self.focus_out_callback_id)
        remove_timeout_id(self.start_hide_callback_id)

        # Update text.
        self.text = text

        # Get tooltip size.
        (tooltip_width, tooltip_height) = get_content_size(
            self.text,
            self.text_size + self.border_radious * 2,
            self.text_font)
        self.tooltip_width = tooltip_width * 2
        self.tooltip_height = tooltip_height

        # Move tooltip to given position.
        (monitor_x, monitor_y) = self.monitor_widget.window.get_origin()
        self.tooltip_x = monitor_x + self.offset_x
        self.tooltip_y = monitor_y + self.offset_y

        # Monitor configure-event signal.
        self.monitor_window = self.monitor_widget.get_toplevel()
        configure_event_handler_id = self.monitor_window.connect("configure-event", self.handle_configure_event)
        self.configure_event_callback_id = (self.monitor_window, configure_event_handler_id)
        destroy_handler_id = self.monitor_window.connect("destroy", lambda w: self.hide_immediately())
        self.destroy_callback_id = (self.monitor_window, destroy_handler_id)
        focus_out_handler_id = self.monitor_window.connect("focus-out-event", lambda w, e: self.hide_immediately())
        self.focus_out_callback_id = (self.monitor_window, focus_out_handler_id)

        # Save monitor window position.
        rect = self.monitor_window.allocation
        (monitor_window_x, monitor_window_y) = self.monitor_window.window.get_origin()
        monitor_window_width, monitor_window_height = rect.width, rect.height
        self.monitor_window_x = monitor_window_x
        self.monitor_window_y = monitor_window_y
        self.monitor_window_width = monitor_window_width
        self.monitor_window_height = monitor_window_height

        # Show.
        self.set_opacity(1)
        self.show_all()

        self.start_hide_callback_id = gobject.timeout_add(
            self.start_hide_delay,
            lambda : Animation(self, "opacity", self.hide_time, [1, 0],
                           stop_callback=self.hide_immediately).start())

        self.queue_draw()       # make sure redraw
Beispiel #5
0
    def hide_immediately(self):
        '''
        Hide immediately.
        '''
        # Remove callback.
        remove_signal_id(self.configure_event_callback_id)
        remove_signal_id(self.destroy_callback_id)
        remove_signal_id(self.focus_out_callback_id)
        remove_timeout_id(self.start_hide_callback_id)

        self.hide_all()
Beispiel #6
0
 def enter_notify_callback(self):
     '''docs'''
     remove_timeout_id(self.test_hide_id)
         
     self.panel.start_show()    
Beispiel #7
0
 def show_panel(self):
     '''docs'''
     remove_timeout_id(self.test_hide_id)
         
     self.panel.start_show()    
     self.test_hide_id = gtk.timeout_add(5000, self.panel.start_hide)
Beispiel #8
0
 def stop_render(self):
     '''Stop render callback.'''
     # Stop callback.
     remove_timeout_id(self.start_show_id)
     remove_timeout_id(self.start_hide_id)
Beispiel #9
0
 def stop_update_value(self):
     '''
     Internal function to stop update value.
     '''
     for timeout_id in [self.increase_value_id, self.decrease_value_id]:
         remove_timeout_id(timeout_id)
Beispiel #10
0
 def stop_update_value(self):
     '''
     Internal function to stop update value.
     '''
     for timeout_id in [self.increase_value_id, self.decrease_value_id]:
         remove_timeout_id(timeout_id)
Beispiel #11
0
 def stop_auto_slide(self):
     if self.auto_slide_timeout_id:
         remove_timeout_id(self.auto_slide_timeout_id)
Beispiel #12
0
 def stop_auto_slide(self):
     if self.auto_slide_timeout_id:
         remove_timeout_id(self.auto_slide_timeout_id)
Beispiel #13
0
 def stop_update_value(self):
     """Stop update value."""
     for timeout_id in [self.increase_value_id, self.decrease_value_id]:
         remove_timeout_id(timeout_id)
Beispiel #14
0
    def enter_notify_callback(self):
        '''docs'''
        remove_timeout_id(self.test_hide_id)

        self.panel.start_show()
Beispiel #15
0
    def show_panel(self):
        '''docs'''
        remove_timeout_id(self.test_hide_id)

        self.panel.start_show()
        self.test_hide_id = gtk.timeout_add(5000, self.panel.start_hide)
Beispiel #16
0
    def show(self, text):
        '''
        Show.

        @param text: OSD tooltip text.
        '''
        # Remove callback.j
        remove_signal_id(self.configure_event_callback_id)
        remove_signal_id(self.destroy_callback_id)
        remove_signal_id(self.focus_out_callback_id)
        remove_timeout_id(self.start_hide_callback_id)

        # Update text.
        self.text = text

        # Get tooltip size.
        (tooltip_width, tooltip_height) = get_content_size(
            self.text, self.text_size + self.border_radious * 2,
            self.text_font)
        self.tooltip_width = tooltip_width * 2
        self.tooltip_height = tooltip_height

        # Move tooltip to given position.
        (monitor_x, monitor_y) = self.monitor_widget.window.get_origin()
        self.tooltip_x = monitor_x + self.offset_x
        self.tooltip_y = monitor_y + self.offset_y

        # Monitor configure-event signal.
        self.monitor_window = self.monitor_widget.get_toplevel()
        configure_event_handler_id = self.monitor_window.connect(
            "configure-event", self.handle_configure_event)
        self.configure_event_callback_id = (self.monitor_window,
                                            configure_event_handler_id)
        destroy_handler_id = self.monitor_window.connect(
            "destroy", lambda w: self.hide_immediately())
        self.destroy_callback_id = (self.monitor_window, destroy_handler_id)
        focus_out_handler_id = self.monitor_window.connect(
            "focus-out-event", lambda w, e: self.hide_immediately())
        self.focus_out_callback_id = (self.monitor_window,
                                      focus_out_handler_id)

        # Save monitor window position.
        rect = self.monitor_window.allocation
        (monitor_window_x,
         monitor_window_y) = self.monitor_window.window.get_origin()
        monitor_window_width, monitor_window_height = rect.width, rect.height
        self.monitor_window_x = monitor_window_x
        self.monitor_window_y = monitor_window_y
        self.monitor_window_width = monitor_window_width
        self.monitor_window_height = monitor_window_height

        # Show.
        self.set_opacity(1)
        self.show_all()

        self.start_hide_callback_id = gobject.timeout_add(
            self.start_hide_delay,
            lambda: Animation(self,
                              "opacity",
                              self.hide_time, [1, 0],
                              stop_callback=self.hide_immediately).start())

        self.queue_draw()  # make sure redraw