All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] depexp.py: port to gtk+3
@ 2016-06-17 14:19 Maxin B. John
  2016-06-17 16:13 ` Richard Purdie
  0 siblings, 1 reply; 4+ messages in thread
From: Maxin B. John @ 2016-06-17 14:19 UTC (permalink / raw)
  To: openembedded-core

Update depexp.py to support gtk+3

Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
 bitbake/lib/bb/ui/depexp.py | 127 ++++++++++++++++++++------------------------
 1 file changed, 58 insertions(+), 69 deletions(-)

diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index 240aafc..8f603dd 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -18,14 +18,15 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 import sys
-import gobject
-import gtk
-import Queue
+import gi
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk, Gdk, GObject
+from multiprocessing import Queue
 import threading
-import xmlrpclib
+from xmlrpc import client
+import time
 import bb
 import bb.event
-from bb.ui.crumbs.progressbar import HobProgressBar
 
 # Package Model
 (COL_PKG_NAME) = (0)
@@ -35,19 +36,19 @@ from bb.ui.crumbs.progressbar import HobProgressBar
 (COL_DEP_TYPE, COL_DEP_PARENT, COL_DEP_PACKAGE) = (0, 1, 2)
 
 
-class PackageDepView(gtk.TreeView):
+class PackageDepView(Gtk.TreeView):
     def __init__(self, model, dep_type, label):
-        gtk.TreeView.__init__(self)
+        Gtk.TreeView.__init__(self)
         self.current = None
         self.dep_type = dep_type
         self.filter_model = model.filter_new()
-        self.filter_model.set_visible_func(self._filter)
+        self.filter_model.set_visible_func(self._filter, data=None)
         self.set_model(self.filter_model)
-        #self.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
-        self.append_column(gtk.TreeViewColumn(label, gtk.CellRendererText(), text=COL_DEP_PACKAGE))
+        self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PACKAGE))
 
-    def _filter(self, model, iter):
-        (this_type, package) = model.get(iter, COL_DEP_TYPE, COL_DEP_PARENT)
+    def _filter(self, model, iter, data):
+        this_type = model[iter][COL_DEP_TYPE]
+        package = model[iter][COL_DEP_PARENT]
         if this_type != self.dep_type: return False
         return package == self.current
 
@@ -56,17 +57,17 @@ class PackageDepView(gtk.TreeView):
         self.filter_model.refilter()
 
 
-class PackageReverseDepView(gtk.TreeView):
+class PackageReverseDepView(Gtk.TreeView):
     def __init__(self, model, label):
-        gtk.TreeView.__init__(self)
+        Gtk.TreeView.__init__(self)
         self.current = None
         self.filter_model = model.filter_new()
         self.filter_model.set_visible_func(self._filter)
         self.set_model(self.filter_model)
-        self.append_column(gtk.TreeViewColumn(label, gtk.CellRendererText(), text=COL_DEP_PARENT))
+        self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PARENT))
 
-    def _filter(self, model, iter):
-        package = model.get_value(iter, COL_DEP_PACKAGE)
+    def _filter(self, model, iter, data):
+        package = model[iter][COL_DEP_PACKAGE]
         return package == self.current
 
     def set_current_package(self, package):
@@ -74,50 +75,50 @@ class PackageReverseDepView(gtk.TreeView):
         self.filter_model.refilter()
 
 
-class DepExplorer(gtk.Window):
+class DepExplorer(Gtk.Window):
     def __init__(self):
-        gtk.Window.__init__(self)
+        Gtk.Window.__init__(self)
         self.set_title("Dependency Explorer")
         self.set_default_size(500, 500)
-        self.connect("delete-event", gtk.main_quit)
+        self.connect("delete-event", Gtk.main_quit)
 
         # Create the data models
-        self.pkg_model = gtk.ListStore(gobject.TYPE_STRING)
-        self.pkg_model.set_sort_column_id(COL_PKG_NAME, gtk.SORT_ASCENDING)
-        self.depends_model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING, gobject.TYPE_STRING)
-        self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, gtk.SORT_ASCENDING)
+        self.pkg_model = Gtk.ListStore(GObject.TYPE_STRING)
+        self.pkg_model.set_sort_column_id(COL_PKG_NAME, Gtk.SortType.ASCENDING)
+        self.depends_model = Gtk.ListStore(GObject.TYPE_INT, GObject.TYPE_STRING, GObject.TYPE_STRING)
+        self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, Gtk.SortType.ASCENDING)
 
-        pane = gtk.HPaned()
+        pane = Gtk.HPaned()
         pane.set_position(250)
         self.add(pane)
 
         # The master list of packages
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
 
-        self.pkg_treeview = gtk.TreeView(self.pkg_model)
+        self.pkg_treeview = Gtk.TreeView(self.pkg_model)
         self.pkg_treeview.get_selection().connect("changed", self.on_cursor_changed)
-        column = gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME)
+        column = Gtk.TreeViewColumn("Package", Gtk.CellRendererText(), text=COL_PKG_NAME)
         self.pkg_treeview.append_column(column)
         pane.add1(scrolled)
         scrolled.add(self.pkg_treeview)
 
-        box = gtk.VBox(homogeneous=True, spacing=4)
+        box = Gtk.VBox(homogeneous=True, spacing=4)
 
         # Runtime Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.rdep_treeview = PackageDepView(self.depends_model, TYPE_RDEP, "Runtime Depends")
         self.rdep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
         scrolled.add(self.rdep_treeview)
         box.add(scrolled)
 
         # Build Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.dep_treeview = PackageDepView(self.depends_model, TYPE_DEP, "Build Depends")
         self.dep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
         scrolled.add(self.dep_treeview)
@@ -125,9 +126,9 @@ class DepExplorer(gtk.Window):
         pane.add2(box)
 
         # Reverse Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.revdep_treeview = PackageReverseDepView(self.depends_model, "Reverse Depends")
         self.revdep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PARENT)
         scrolled.add(self.revdep_treeview)
@@ -185,9 +186,10 @@ class gtkthread(threading.Thread):
         self.shutdown = shutdown
 
     def run(self):
-        gobject.threads_init()
-        gtk.gdk.threads_init()
-        gtk.main()
+        time.sleep(1)
+        GObject.threads_init()
+        Gdk.threads_init()
+        Gtk.main()
         gtkthread.quit.set()
 
 
@@ -212,12 +214,12 @@ def main(server, eventHandler, params):
         elif ret != True:
             print("Error running command '%s': returned %s" % (cmdline, ret))
             return 1
-    except xmlrpclib.Fault as x:
+    except client.Fault as x:
         print("XMLRPC Fault getting commandline:\n %s" % x)
         return
 
     try:
-        gtk.init_check()
+        Gtk.init_check()
     except RuntimeError:
         sys.stderr.write("Please set DISPLAY variable before running this command \n")
         return
@@ -227,16 +229,14 @@ def main(server, eventHandler, params):
     gtkgui = gtkthread(shutdown)
     gtkgui.start()
 
-    gtk.gdk.threads_enter()
+    Gdk.threads_enter()
     dep = DepExplorer()
-    bardialog = gtk.Dialog(parent=dep,
-                           flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
+    bardialog = Gtk.Dialog(parent=dep,
+            flags=Gtk.DialogFlags.MODAL|Gtk.DialogFlags.DESTROY_WITH_PARENT)
     bardialog.set_default_size(400, 50)
-    pbar = HobProgressBar()
-    bardialog.vbox.pack_start(pbar)
     bardialog.show_all()
-    bardialog.connect("delete-event", gtk.main_quit)
-    gtk.gdk.threads_leave()
+    bardialog.connect("delete-event", Gtk.main_quit)
+    Gdk.threads_leave()
 
     progress_total = 0
     while True:
@@ -253,17 +253,12 @@ def main(server, eventHandler, params):
 
             if isinstance(event, bb.event.CacheLoadStarted):
                 progress_total = event.total
-                gtk.gdk.threads_enter()
+                Gdk.threads_enter()
                 bardialog.set_title("Loading Cache")
-                pbar.update(0)
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.event.CacheLoadProgress):
                 x = event.current
-                gtk.gdk.threads_enter()
-                pbar.update(x * 1.0 / progress_total)
-                pbar.set_title('')
-                gtk.gdk.threads_leave()
                 continue
 
             if isinstance(event, bb.event.CacheLoadCompleted):
@@ -274,18 +269,12 @@ def main(server, eventHandler, params):
                 progress_total = event.total
                 if progress_total == 0:
                     continue
-                gtk.gdk.threads_enter()
-                pbar.update(0)
+                Gdk.threads_enter()
                 bardialog.set_title("Processing recipes")
-
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.event.ParseProgress):
                 x = event.current
-                gtk.gdk.threads_enter()
-                pbar.update(x * 1.0 / progress_total)
-                pbar.set_title('')
-                gtk.gdk.threads_leave()
                 continue
 
             if isinstance(event, bb.event.ParseCompleted):
@@ -293,9 +282,9 @@ def main(server, eventHandler, params):
                 continue
 
             if isinstance(event, bb.event.DepTreeGenerated):
-                gtk.gdk.threads_enter()
+                Gdk.threads_enter()
                 dep.parse(event._depgraph)
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.command.CommandCompleted):
                 continue
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] depexp.py: port to gtk+3
  2016-06-17 14:19 [PATCH] depexp.py: port to gtk+3 Maxin B. John
@ 2016-06-17 16:13 ` Richard Purdie
  2016-06-17 16:31   ` Richard Purdie
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2016-06-17 16:13 UTC (permalink / raw)
  To: Maxin B. John, openembedded-core

On Fri, 2016-06-17 at 17:19 +0300, Maxin B. John wrote:
> Update depexp.py to support gtk+3
> 
> Signed-off-by: Maxin B. John <maxin.john@intel.com>
> ---
>  bitbake/lib/bb/ui/depexp.py | 127 ++++++++++++++++++++--------------
> ----------
>  1 file changed, 58 insertions(+), 69 deletions(-)
> 
> diff --git a/bitbake/lib/bb/ui/depexp.py
> b/bitbake/lib/bb/ui/depexp.py
> index 240aafc..8f603dd 100644
> --- a/bitbake/lib/bb/ui/depexp.py
> +++ b/bitbake/lib/bb/ui/depexp.py
> @@ -18,14 +18,15 @@
>  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Thanks for this, it certainly improves something which is currently
much more broken. I've queued in master-next. Note that this really
should go to the bitbake list in future.

I also am a bit worried about the time.sleep(), am seeing if we can
figure out how to avoid that before it merges...

Cheers,

Richard


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] depexp.py: port to gtk+3
  2016-06-17 16:13 ` Richard Purdie
@ 2016-06-17 16:31   ` Richard Purdie
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Purdie @ 2016-06-17 16:31 UTC (permalink / raw)
  To: Maxin B. John, openembedded-core; +Cc: Lock, Joshua, Bartosh, Eduard

On Fri, 2016-06-17 at 17:13 +0100, Richard Purdie wrote:
> On Fri, 2016-06-17 at 17:19 +0300, Maxin B. John wrote:
> > Update depexp.py to support gtk+3
> > 
> > Signed-off-by: Maxin B. John <maxin.john@intel.com>
> > ---
> >  bitbake/lib/bb/ui/depexp.py | 127 ++++++++++++++++++++------------
> > --
> > ----------
> >  1 file changed, 58 insertions(+), 69 deletions(-)
> > 
> > diff --git a/bitbake/lib/bb/ui/depexp.py
> > b/bitbake/lib/bb/ui/depexp.py
> > index 240aafc..8f603dd 100644
> > --- a/bitbake/lib/bb/ui/depexp.py
> > +++ b/bitbake/lib/bb/ui/depexp.py
> > @@ -18,14 +18,15 @@
> >  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> 
> Thanks for this, it certainly improves something which is currently
> much more broken. I've queued in master-next. Note that this really
> should go to the bitbake list in future.
> 
> I also am a bit worried about the time.sleep(), am seeing if we can
> figure out how to avoid that before it merges...

Looks like its the gtk.init_check() in the bitbake thread before we
setup a separate gtk thread. The check needs to move to the other
thread with appropriate error handling, then we don't need the sleep.

The bitbake main thread needs to likely wait on the gtk init having
finished too.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] depexp.py: port to gtk+3
@ 2016-06-17 14:41 Maxin B. John
  0 siblings, 0 replies; 4+ messages in thread
From: Maxin B. John @ 2016-06-17 14:41 UTC (permalink / raw)
  To: bitbake-devel

Update depexp.py to support gtk+3

Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
 bitbake/lib/bb/ui/depexp.py | 127 ++++++++++++++++++++------------------------
 1 file changed, 58 insertions(+), 69 deletions(-)

diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index 240aafc..8f603dd 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -18,14 +18,15 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 import sys
-import gobject
-import gtk
-import Queue
+import gi
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk, Gdk, GObject
+from multiprocessing import Queue
 import threading
-import xmlrpclib
+from xmlrpc import client
+import time
 import bb
 import bb.event
-from bb.ui.crumbs.progressbar import HobProgressBar
 
 # Package Model
 (COL_PKG_NAME) = (0)
@@ -35,19 +36,19 @@ from bb.ui.crumbs.progressbar import HobProgressBar
 (COL_DEP_TYPE, COL_DEP_PARENT, COL_DEP_PACKAGE) = (0, 1, 2)
 
 
-class PackageDepView(gtk.TreeView):
+class PackageDepView(Gtk.TreeView):
     def __init__(self, model, dep_type, label):
-        gtk.TreeView.__init__(self)
+        Gtk.TreeView.__init__(self)
         self.current = None
         self.dep_type = dep_type
         self.filter_model = model.filter_new()
-        self.filter_model.set_visible_func(self._filter)
+        self.filter_model.set_visible_func(self._filter, data=None)
         self.set_model(self.filter_model)
-        #self.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
-        self.append_column(gtk.TreeViewColumn(label, gtk.CellRendererText(), text=COL_DEP_PACKAGE))
+        self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PACKAGE))
 
-    def _filter(self, model, iter):
-        (this_type, package) = model.get(iter, COL_DEP_TYPE, COL_DEP_PARENT)
+    def _filter(self, model, iter, data):
+        this_type = model[iter][COL_DEP_TYPE]
+        package = model[iter][COL_DEP_PARENT]
         if this_type != self.dep_type: return False
         return package == self.current
 
@@ -56,17 +57,17 @@ class PackageDepView(gtk.TreeView):
         self.filter_model.refilter()
 
 
-class PackageReverseDepView(gtk.TreeView):
+class PackageReverseDepView(Gtk.TreeView):
     def __init__(self, model, label):
-        gtk.TreeView.__init__(self)
+        Gtk.TreeView.__init__(self)
         self.current = None
         self.filter_model = model.filter_new()
         self.filter_model.set_visible_func(self._filter)
         self.set_model(self.filter_model)
-        self.append_column(gtk.TreeViewColumn(label, gtk.CellRendererText(), text=COL_DEP_PARENT))
+        self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PARENT))
 
-    def _filter(self, model, iter):
-        package = model.get_value(iter, COL_DEP_PACKAGE)
+    def _filter(self, model, iter, data):
+        package = model[iter][COL_DEP_PACKAGE]
         return package == self.current
 
     def set_current_package(self, package):
@@ -74,50 +75,50 @@ class PackageReverseDepView(gtk.TreeView):
         self.filter_model.refilter()
 
 
-class DepExplorer(gtk.Window):
+class DepExplorer(Gtk.Window):
     def __init__(self):
-        gtk.Window.__init__(self)
+        Gtk.Window.__init__(self)
         self.set_title("Dependency Explorer")
         self.set_default_size(500, 500)
-        self.connect("delete-event", gtk.main_quit)
+        self.connect("delete-event", Gtk.main_quit)
 
         # Create the data models
-        self.pkg_model = gtk.ListStore(gobject.TYPE_STRING)
-        self.pkg_model.set_sort_column_id(COL_PKG_NAME, gtk.SORT_ASCENDING)
-        self.depends_model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING, gobject.TYPE_STRING)
-        self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, gtk.SORT_ASCENDING)
+        self.pkg_model = Gtk.ListStore(GObject.TYPE_STRING)
+        self.pkg_model.set_sort_column_id(COL_PKG_NAME, Gtk.SortType.ASCENDING)
+        self.depends_model = Gtk.ListStore(GObject.TYPE_INT, GObject.TYPE_STRING, GObject.TYPE_STRING)
+        self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, Gtk.SortType.ASCENDING)
 
-        pane = gtk.HPaned()
+        pane = Gtk.HPaned()
         pane.set_position(250)
         self.add(pane)
 
         # The master list of packages
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
 
-        self.pkg_treeview = gtk.TreeView(self.pkg_model)
+        self.pkg_treeview = Gtk.TreeView(self.pkg_model)
         self.pkg_treeview.get_selection().connect("changed", self.on_cursor_changed)
-        column = gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME)
+        column = Gtk.TreeViewColumn("Package", Gtk.CellRendererText(), text=COL_PKG_NAME)
         self.pkg_treeview.append_column(column)
         pane.add1(scrolled)
         scrolled.add(self.pkg_treeview)
 
-        box = gtk.VBox(homogeneous=True, spacing=4)
+        box = Gtk.VBox(homogeneous=True, spacing=4)
 
         # Runtime Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.rdep_treeview = PackageDepView(self.depends_model, TYPE_RDEP, "Runtime Depends")
         self.rdep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
         scrolled.add(self.rdep_treeview)
         box.add(scrolled)
 
         # Build Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.dep_treeview = PackageDepView(self.depends_model, TYPE_DEP, "Build Depends")
         self.dep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PACKAGE)
         scrolled.add(self.dep_treeview)
@@ -125,9 +126,9 @@ class DepExplorer(gtk.Window):
         pane.add2(box)
 
         # Reverse Depends
-        scrolled = gtk.ScrolledWindow()
-        scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        scrolled.set_shadow_type(gtk.SHADOW_IN)
+        scrolled = Gtk.ScrolledWindow()
+        scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
+        scrolled.set_shadow_type(Gtk.ShadowType.IN)
         self.revdep_treeview = PackageReverseDepView(self.depends_model, "Reverse Depends")
         self.revdep_treeview.connect("row-activated", self.on_package_activated, COL_DEP_PARENT)
         scrolled.add(self.revdep_treeview)
@@ -185,9 +186,10 @@ class gtkthread(threading.Thread):
         self.shutdown = shutdown
 
     def run(self):
-        gobject.threads_init()
-        gtk.gdk.threads_init()
-        gtk.main()
+        time.sleep(1)
+        GObject.threads_init()
+        Gdk.threads_init()
+        Gtk.main()
         gtkthread.quit.set()
 
 
@@ -212,12 +214,12 @@ def main(server, eventHandler, params):
         elif ret != True:
             print("Error running command '%s': returned %s" % (cmdline, ret))
             return 1
-    except xmlrpclib.Fault as x:
+    except client.Fault as x:
         print("XMLRPC Fault getting commandline:\n %s" % x)
         return
 
     try:
-        gtk.init_check()
+        Gtk.init_check()
     except RuntimeError:
         sys.stderr.write("Please set DISPLAY variable before running this command \n")
         return
@@ -227,16 +229,14 @@ def main(server, eventHandler, params):
     gtkgui = gtkthread(shutdown)
     gtkgui.start()
 
-    gtk.gdk.threads_enter()
+    Gdk.threads_enter()
     dep = DepExplorer()
-    bardialog = gtk.Dialog(parent=dep,
-                           flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
+    bardialog = Gtk.Dialog(parent=dep,
+            flags=Gtk.DialogFlags.MODAL|Gtk.DialogFlags.DESTROY_WITH_PARENT)
     bardialog.set_default_size(400, 50)
-    pbar = HobProgressBar()
-    bardialog.vbox.pack_start(pbar)
     bardialog.show_all()
-    bardialog.connect("delete-event", gtk.main_quit)
-    gtk.gdk.threads_leave()
+    bardialog.connect("delete-event", Gtk.main_quit)
+    Gdk.threads_leave()
 
     progress_total = 0
     while True:
@@ -253,17 +253,12 @@ def main(server, eventHandler, params):
 
             if isinstance(event, bb.event.CacheLoadStarted):
                 progress_total = event.total
-                gtk.gdk.threads_enter()
+                Gdk.threads_enter()
                 bardialog.set_title("Loading Cache")
-                pbar.update(0)
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.event.CacheLoadProgress):
                 x = event.current
-                gtk.gdk.threads_enter()
-                pbar.update(x * 1.0 / progress_total)
-                pbar.set_title('')
-                gtk.gdk.threads_leave()
                 continue
 
             if isinstance(event, bb.event.CacheLoadCompleted):
@@ -274,18 +269,12 @@ def main(server, eventHandler, params):
                 progress_total = event.total
                 if progress_total == 0:
                     continue
-                gtk.gdk.threads_enter()
-                pbar.update(0)
+                Gdk.threads_enter()
                 bardialog.set_title("Processing recipes")
-
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.event.ParseProgress):
                 x = event.current
-                gtk.gdk.threads_enter()
-                pbar.update(x * 1.0 / progress_total)
-                pbar.set_title('')
-                gtk.gdk.threads_leave()
                 continue
 
             if isinstance(event, bb.event.ParseCompleted):
@@ -293,9 +282,9 @@ def main(server, eventHandler, params):
                 continue
 
             if isinstance(event, bb.event.DepTreeGenerated):
-                gtk.gdk.threads_enter()
+                Gdk.threads_enter()
                 dep.parse(event._depgraph)
-                gtk.gdk.threads_leave()
+                Gdk.threads_leave()
 
             if isinstance(event, bb.command.CommandCompleted):
                 continue
-- 
2.4.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-06-17 16:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-17 14:19 [PATCH] depexp.py: port to gtk+3 Maxin B. John
2016-06-17 16:13 ` Richard Purdie
2016-06-17 16:31   ` Richard Purdie
2016-06-17 14:41 Maxin B. John

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.