[Ocfs2-tools-commits] manish commits r763 - trunk/ocfs2console/ocfs2interface

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Mar 28 21:24:39 CST 2005


Author: manish
Date: 2005-03-28 21:24:37 -0600 (Mon, 28 Mar 2005)
New Revision: 763

Modified:
   trunk/ocfs2console/ocfs2interface/guiutil.py
   trunk/ocfs2console/ocfs2interface/menu.py
   trunk/ocfs2console/ocfs2interface/toolbar.py
Log:
Move callback function generation to guiutil


Modified: trunk/ocfs2console/ocfs2interface/guiutil.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/guiutil.py	2005-03-29 03:18:02 UTC (rev 762)
+++ trunk/ocfs2console/ocfs2interface/guiutil.py	2005-03-29 03:24:37 UTC (rev 763)
@@ -80,6 +80,22 @@
 
     return text
 
+
+def make_callback(obj, callback, sub_callback):
+    cb = getattr(obj, callback)
+
+    if sub_callback:
+        sub_cb = getattr(obj, sub_callback)
+
+        def cb_func(*args):
+            cb()
+            sub_cb()
+    else:
+        def cb_func(*args):
+            cb()
+
+    return cb_func
+
 if hasattr(gtk.Dialog, 'set_alternative_button_order'):
     Dialog = gtk.Dialog
 else:

Modified: trunk/ocfs2console/ocfs2interface/menu.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/menu.py	2005-03-29 03:18:02 UTC (rev 762)
+++ trunk/ocfs2console/ocfs2interface/menu.py	2005-03-29 03:24:37 UTC (rev 763)
@@ -17,6 +17,8 @@
 
 import gtk
 
+from guiutil import make_callback
+
 from fsck import fsck_ok
 
 UNMOUNTED_ONLY = 42
@@ -87,25 +89,11 @@
                 del item[4:]
 
             if callback:
-                def make_cb():
-                    cb = getattr(window, callback)
+                if sub_callback:
+                    del item[3:]
 
-                    if sub_callback:
-                        del item[3:]
+                item[2] = make_callback(window, callback, sub_callback)
 
-                        sub_cb = getattr(window, sub_callback)
-
-                        def cb_func(a, w):
-                            cb()
-                            sub_cb()
-                    else:
-                        def cb_func(a, w):
-                            cb()
-
-                    return cb_func
-
-                item[2] = make_cb()
-
             self.items.append(tuple(item))
 
     def get_widgets(self):

Modified: trunk/ocfs2console/ocfs2interface/toolbar.py
===================================================================
--- trunk/ocfs2console/ocfs2interface/toolbar.py	2005-03-29 03:18:02 UTC (rev 762)
+++ trunk/ocfs2console/ocfs2interface/toolbar.py	2005-03-29 03:24:37 UTC (rev 763)
@@ -17,6 +17,8 @@
 
 import gtk
 
+from guiutil import make_callback
+
 toolbar_data = (
     ('Mount',   gtk.STOCK_EXECUTE, 'mount',   'refresh'),
     ('Unmount', gtk.STOCK_STOP,    'unmount', 'refresh'),
@@ -34,25 +36,11 @@
         for data in toolbar_data:
             label, stock_id, callback, sub_callback = data
 
-            def make_cb():
-                cb = getattr(self.window, callback)
+            cb = make_callback(self.window, callback, sub_callback)
 
-                if sub_callback:
-                    sub_cb = getattr(self.window, sub_callback)
-
-                    def cb_func(w):
-                        cb()
-                        sub_cb()
-                else:
-                    def cb_func(w):
-                        cb()
-
-                return cb_func
-
             icon = gtk.Image()
             icon.set_from_stock(stock_id, gtk.ICON_SIZE_BUTTON)
-            items[callback] = toolbar.append_item(label, label, None, icon,
-                                                  make_cb())
+            items[callback] = toolbar.append_item(label, label, None, icon, cb)
 
         toolbar.append_space()
 



More information about the Ocfs2-tools-commits mailing list