Implement a get_children() method in our Container widgets to override gtk.Container.get_children() with something that guarantees ordering in the returned list
This commit is contained in:
parent
4cb4a9bc48
commit
8610a845bc
|
@ -87,6 +87,10 @@ class Container(object):
|
||||||
"""Ensure we still have a reason to exist"""
|
"""Ensure we still have a reason to exist"""
|
||||||
raise NotImplementedError('hoover')
|
raise NotImplementedError('hoover')
|
||||||
|
|
||||||
|
def get_children(self):
|
||||||
|
"""Return an ordered list of the children of this Container"""
|
||||||
|
raise NotImplementedError('get_children')
|
||||||
|
|
||||||
def closeterm(self, widget):
|
def closeterm(self, widget):
|
||||||
"""Handle the closure of a terminal"""
|
"""Handle the closure of a terminal"""
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -137,6 +137,13 @@ class Notebook(Container, gtk.Notebook):
|
||||||
self.disconnect_child(widget)
|
self.disconnect_child(widget)
|
||||||
return(True)
|
return(True)
|
||||||
|
|
||||||
|
def get_children(self):
|
||||||
|
"""Return an ordered list of our children"""
|
||||||
|
children = []
|
||||||
|
for page in xrange(0,self.get_n_pages() - 1):
|
||||||
|
children.append(self.get_nth_page(page))
|
||||||
|
return(children)
|
||||||
|
|
||||||
def newtab(self, widget=None):
|
def newtab(self, widget=None):
|
||||||
"""Add a new tab, optionally supplying a child widget"""
|
"""Add a new tab, optionally supplying a child widget"""
|
||||||
maker = Factory()
|
maker = Factory()
|
||||||
|
|
|
@ -126,6 +126,13 @@ class Paned(Container):
|
||||||
self.children.remove(widget)
|
self.children.remove(widget)
|
||||||
return(True)
|
return(True)
|
||||||
|
|
||||||
|
def get_children(self):
|
||||||
|
"""Return an ordered list of our children"""
|
||||||
|
children = []
|
||||||
|
children.append(self.get_child1())
|
||||||
|
children.append(self.get_child2())
|
||||||
|
return(children)
|
||||||
|
|
||||||
def wrapcloseterm(self, widget):
|
def wrapcloseterm(self, widget):
|
||||||
"""A child terminal has closed, so this container must die"""
|
"""A child terminal has closed, so this container must die"""
|
||||||
dbg('Paned::wrapcloseterm: Called on %s' % widget)
|
dbg('Paned::wrapcloseterm: Called on %s' % widget)
|
||||||
|
|
|
@ -281,6 +281,12 @@ class Window(Container, gtk.Window):
|
||||||
self.disconnect_child(widget)
|
self.disconnect_child(widget)
|
||||||
return(True)
|
return(True)
|
||||||
|
|
||||||
|
def get_children(self):
|
||||||
|
"""Return a single list of our child"""
|
||||||
|
children = []
|
||||||
|
children.append(self.get_child())
|
||||||
|
return(children)
|
||||||
|
|
||||||
def hoover(self):
|
def hoover(self):
|
||||||
"""Ensure we still have a reason to exist"""
|
"""Ensure we still have a reason to exist"""
|
||||||
if not self.get_child():
|
if not self.get_child():
|
||||||
|
|
Loading…
Reference in New Issue