diff options
Diffstat (limited to 'bitbake/lib/bb/ui/goggle.py')
-rw-r--r-- | bitbake/lib/bb/ui/goggle.py | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py index 40923ba88d..3c6a014dc2 100644 --- a/bitbake/lib/bb/ui/goggle.py +++ b/bitbake/lib/bb/ui/goggle.py | |||
@@ -24,19 +24,32 @@ import xmlrpclib | |||
24 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView, RunningBuild | 24 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView, RunningBuild |
25 | from bb.ui.crumbs.progress import ProgressBar | 25 | from bb.ui.crumbs.progress import ProgressBar |
26 | 26 | ||
27 | import Queue | ||
28 | |||
29 | |||
27 | def event_handle_idle_func (eventHandler, build, pbar): | 30 | def event_handle_idle_func (eventHandler, build, pbar): |
28 | 31 | ||
29 | # Consume as many messages as we can in the time available to us | 32 | # Consume as many messages as we can in the time available to us |
30 | event = eventHandler.getEvent() | 33 | event = eventHandler.getEvent() |
31 | while event: | 34 | while event: |
32 | build.handle_event (event, pbar) | ||
33 | event = eventHandler.getEvent() | 35 | event = eventHandler.getEvent() |
36 | build.handle_event (event, pbar) | ||
34 | 37 | ||
35 | return True | 38 | return True |
36 | 39 | ||
37 | def scroll_tv_cb (model, path, iter, view): | 40 | def scroll_tv_cb (model, path, iter, view): |
38 | view.scroll_to_cell (path) | 41 | view.scroll_to_cell (path) |
39 | 42 | ||
43 | |||
44 | # @todo hook these into the GUI so the user has feedback... | ||
45 | def running_build_failed_cb (running_build): | ||
46 | pass | ||
47 | |||
48 | |||
49 | def running_build_succeeded_cb (running_build): | ||
50 | pass | ||
51 | |||
52 | |||
40 | class MainWindow (gtk.Window): | 53 | class MainWindow (gtk.Window): |
41 | def __init__ (self): | 54 | def __init__ (self): |
42 | gtk.Window.__init__ (self, gtk.WINDOW_TOPLEVEL) | 55 | gtk.Window.__init__ (self, gtk.WINDOW_TOPLEVEL) |
@@ -49,6 +62,7 @@ class MainWindow (gtk.Window): | |||
49 | self.set_default_size(640, 480) | 62 | self.set_default_size(640, 480) |
50 | scrolled_window.add (self.cur_build_tv) | 63 | scrolled_window.add (self.cur_build_tv) |
51 | 64 | ||
65 | |||
52 | def main (server, eventHandler): | 66 | def main (server, eventHandler): |
53 | gobject.threads_init() | 67 | gobject.threads_init() |
54 | gtk.gdk.threads_init() | 68 | gtk.gdk.threads_init() |
@@ -61,9 +75,11 @@ def main (server, eventHandler): | |||
61 | running_build = RunningBuild () | 75 | running_build = RunningBuild () |
62 | window.cur_build_tv.set_model (running_build.model) | 76 | window.cur_build_tv.set_model (running_build.model) |
63 | running_build.model.connect("row-inserted", scroll_tv_cb, window.cur_build_tv) | 77 | running_build.model.connect("row-inserted", scroll_tv_cb, window.cur_build_tv) |
78 | running_build.connect ("build-succeeded", running_build_succeeded_cb) | ||
79 | running_build.connect ("build-failed", running_build_failed_cb) | ||
80 | |||
64 | try: | 81 | try: |
65 | cmdline = server.runCommand(["getCmdLineAction"]) | 82 | cmdline = server.runCommand(["getCmdLineAction"]) |
66 | print(cmdline) | ||
67 | if not cmdline: | 83 | if not cmdline: |
68 | return 1 | 84 | return 1 |
69 | ret = server.runCommand(cmdline) | 85 | ret = server.runCommand(cmdline) |
@@ -76,10 +92,18 @@ def main (server, eventHandler): | |||
76 | 92 | ||
77 | # Use a timeout function for probing the event queue to find out if we | 93 | # Use a timeout function for probing the event queue to find out if we |
78 | # have a message waiting for us. | 94 | # have a message waiting for us. |
79 | gobject.timeout_add (200, | 95 | gobject.timeout_add (100, |
80 | event_handle_idle_func, | 96 | event_handle_idle_func, |
81 | eventHandler, | 97 | eventHandler, |
82 | running_build, | 98 | running_build, |
83 | pbar) | 99 | pbar) |
84 | 100 | ||
85 | gtk.main() | 101 | try: |
102 | gtk.main() | ||
103 | except EnvironmentError as ioerror: | ||
104 | # ignore interrupted io | ||
105 | if ioerror.args[0] == 4: | ||
106 | pass | ||
107 | finally: | ||
108 | server.runCommand(["stateStop"]) | ||
109 | |||