Redraw cell renderers on hovering changed
This commit is contained in:
		
							parent
							
								
									94e12f52f2
								
							
						
					
					
						commit
						32109b8764
					
				@ -1203,6 +1203,10 @@ class CellRendererInvoker(Invoker):
 | 
			
		||||
            path, column_, x_, y_ = tree_view.get_path_at_pos(int(event.x),
 | 
			
		||||
                                                              int(event.y))
 | 
			
		||||
            if path != self.path:
 | 
			
		||||
                if self.path is not None:
 | 
			
		||||
                    self._redraw_path(self.path)
 | 
			
		||||
                if path is not None:
 | 
			
		||||
                    self._redraw_path(path)
 | 
			
		||||
                if self.palette is not None:
 | 
			
		||||
                    self.palette.popdown(immediate=True)
 | 
			
		||||
                    self.palette = None
 | 
			
		||||
@ -1210,9 +1214,19 @@ class CellRendererInvoker(Invoker):
 | 
			
		||||
 | 
			
		||||
            self.notify_mouse_enter()
 | 
			
		||||
        else:
 | 
			
		||||
            if self.path is not None:
 | 
			
		||||
                self._redraw_path(self.path)
 | 
			
		||||
            self.path = None
 | 
			
		||||
            self.notify_mouse_leave()
 | 
			
		||||
 | 
			
		||||
    def _redraw_path(self, path):
 | 
			
		||||
        for column in self._tree_view.get_columns():
 | 
			
		||||
            if self._cell_renderer in column.get_cell_renderers():
 | 
			
		||||
                break
 | 
			
		||||
        area = self._tree_view.get_background_area(path, column)
 | 
			
		||||
        x, y = self._tree_view.convert_tree_to_widget_coords(area.x, area.y)
 | 
			
		||||
        self._tree_view.queue_draw_area(x, y, area.width, area.height)
 | 
			
		||||
 | 
			
		||||
    def __leave_notify_event_cb(self, widget, event):
 | 
			
		||||
        self.notify_mouse_leave()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user