[virt-tools-list] [PATCH 3/5] uihelpers: Add set_table_row_visible()
Fred A. Kemp
anonym at riseup.net
Fri Oct 4 01:39:00 UTC 2013
From: "Fred A. Kemp" <anonym at riseup.net>
---
virtManager/uihelpers.py | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/virtManager/uihelpers.py b/virtManager/uihelpers.py
index 81308a2..0937eea 100644
--- a/virtManager/uihelpers.py
+++ b/virtManager/uihelpers.py
@@ -1383,21 +1383,31 @@ def child_get_property(parent, child, propname):
return value.get_int()
+def _set_container_row_visible(container_class, child, visible):
+ # Helper for the set_*_row_visible functions.
+ parent = child.get_parent()
+ if not type(parent) is container_class:
+ raise RuntimeError("Programming error, parent must be %s, "
+ "not %s" % (container_class.__name__,
+ parent.__class__.__name__))
+
+ row = child_get_property(parent, child, "top-attach")
+ for child in parent.get_children():
+ if child_get_property(parent, child, "top-attach") == row:
+ child.set_visible(visible)
+
+
def set_grid_row_visible(child, visible):
# For the passed widget, find its parent GtkGrid, and hide/show all
# elements that are in the same row as it. Simplifies having to name
# every element in a row when we want to dynamically hide things
# based on UI interraction
+ _set_container_row_visible(Gtk.Grid, child, visible)
- parent = child.get_parent()
- if not type(parent) is Gtk.Grid:
- raise RuntimeError("Programming error, parent must be grid, "
- "not %s" % type(parent))
- row = child_get_property(parent, child, "top-attach")
- for child in parent.get_children():
- if child_get_property(parent, child, "top-attach") == row:
- child.set_visible(visible)
+def set_table_row_visible(child, visible):
+ # Same as set_grid_row_visible but looks for GtkTable.
+ _set_container_row_visible(Gtk.Table, child, visible)
def default_uri(always_system=False):
--
1.7.10.4
More information about the virt-tools-list
mailing list