Delete sub-widgets clearly
This commit is contained in:
		
							parent
							
								
									4c8c845e6c
								
							
						
					
					
						commit
						f9de29f539
					
				@ -9,23 +9,27 @@ window.add(box)
 | 
			
		||||
toolbar = Toolbar()
 | 
			
		||||
box.pack_start(toolbar, False)
 | 
			
		||||
 | 
			
		||||
tollbarbutton_1 = ToolbarButton(toolbar, gtk.Button('1'),
 | 
			
		||||
tollbarbutton_1 = ToolbarButton(toolbar, gtk.Button('sub-widget #1'),
 | 
			
		||||
        icon_name='computer-xo',
 | 
			
		||||
        tooltip='foo')
 | 
			
		||||
toolbar.top.insert(tollbarbutton_1, -1)
 | 
			
		||||
 | 
			
		||||
toolbar.top.insert(gtk.SeparatorToolItem(), -1)
 | 
			
		||||
 | 
			
		||||
tollbarbutton_2 = ToolbarButton(toolbar, gtk.Button('1'),
 | 
			
		||||
tollbarbutton_2 = ToolbarButton(toolbar, gtk.Button('sub-widget #2'),
 | 
			
		||||
        icon_name='button_cancel',
 | 
			
		||||
        tooltip='foo')
 | 
			
		||||
toolbar.top.insert(tollbarbutton_2, -1)
 | 
			
		||||
 | 
			
		||||
toolbar.top.insert(gtk.SeparatorToolItem(), -1)
 | 
			
		||||
 | 
			
		||||
tollbarbutton_3 = ToolbarButton(toolbar, gtk.Button('3'),
 | 
			
		||||
def del_cb(widget):
 | 
			
		||||
    toolbar.top.remove(tollbarbutton_3)
 | 
			
		||||
del_b = gtk.Button('delete sub-widget #3')
 | 
			
		||||
del_b.connect('clicked', del_cb)
 | 
			
		||||
tollbarbutton_3 = ToolbarButton(toolbar, del_b,
 | 
			
		||||
        icon_name='activity-journal',
 | 
			
		||||
        tooltip='foo')
 | 
			
		||||
        tooltip='del')
 | 
			
		||||
toolbar.top.insert(tollbarbutton_3, -1)
 | 
			
		||||
 | 
			
		||||
window.show_all()
 | 
			
		||||
 | 
			
		||||
@ -50,7 +50,7 @@ class ToolbarButton(ToolButton):
 | 
			
		||||
            return
 | 
			
		||||
        if value:
 | 
			
		||||
            expanded = self._bar._expanded_page()
 | 
			
		||||
            if expanded:
 | 
			
		||||
            if expanded and expanded._toolitem.window:
 | 
			
		||||
                expanded._toolitem.window.invalidate_rect(None, True)
 | 
			
		||||
            self._page._toolitem_alloc = self.allocation
 | 
			
		||||
            self._bar._expand_page(self._page)
 | 
			
		||||
@ -104,8 +104,15 @@ class Toolbar(gtk.VBox):
 | 
			
		||||
        self._notebook.connect('notify::page', lambda notebook, pspec:
 | 
			
		||||
                self.emit('current-toolbar-changed', notebook.props.page))
 | 
			
		||||
 | 
			
		||||
        self._bar.connect('remove', self._remove_cb)
 | 
			
		||||
 | 
			
		||||
    top = property(lambda self: self._bar)
 | 
			
		||||
 | 
			
		||||
    def _remove_cb(self, sender, widget):
 | 
			
		||||
        if not isinstance(widget, ToolbarButton):
 | 
			
		||||
            return
 | 
			
		||||
        widget.expanded = False
 | 
			
		||||
 | 
			
		||||
    def _remove_page(self, page):
 | 
			
		||||
        page = self._notebook.page_num(page)
 | 
			
		||||
        self._notebook.remove_page(page)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user