diff options
author | Liming An <limingx.l.an@intel.com> | 2012-03-26 14:04:20 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-28 16:49:18 +0100 |
commit | 26cce34e4dd0171d06407fb417577e67db3a5dc9 (patch) | |
tree | 50b8e03177ccea80d481e5f63e9fb88b10bbd00f /bitbake/lib/bb/ui/crumbs/builddetailspage.py | |
parent | 044376692d231f016245844f172f7824f43f3187 (diff) | |
download | poky-26cce34e4dd0171d06407fb417577e67db3a5dc9.tar.gz |
Hob: change the implementation way about get config info for building log
Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running
[YOCTO #2144]
(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)
(Bitbake rev: 983f8848da0be02dadb1bb6530ff736325d014ba)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/builddetailspage.py')
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builddetailspage.py | 86 |
1 files changed, 82 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py index df8304e06c..db45fe8e77 100755 --- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py | |||
@@ -21,13 +21,90 @@ | |||
21 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 21 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
22 | 22 | ||
23 | import gtk | 23 | import gtk |
24 | import pango | ||
25 | import gobject | ||
24 | from bb.ui.crumbs.progressbar import HobProgressBar | 26 | from bb.ui.crumbs.progressbar import HobProgressBar |
25 | from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton | 27 | from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText |
26 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView | 28 | from bb.ui.crumbs.runningbuild import RunningBuildTreeView |
27 | from bb.ui.crumbs.runningbuild import BuildConfigurationTreeView | ||
28 | from bb.ui.crumbs.runningbuild import BuildFailureTreeView | 29 | from bb.ui.crumbs.runningbuild import BuildFailureTreeView |
29 | from bb.ui.crumbs.hobpages import HobPage | 30 | from bb.ui.crumbs.hobpages import HobPage |
30 | 31 | ||
32 | class BuildConfigurationTreeView(gtk.TreeView): | ||
33 | def __init__ (self): | ||
34 | gtk.TreeView.__init__(self) | ||
35 | self.set_rules_hint(False) | ||
36 | self.set_headers_visible(False) | ||
37 | self.set_property("hover-expand", True) | ||
38 | self.get_selection().set_mode(gtk.SELECTION_SINGLE) | ||
39 | |||
40 | # The icon that indicates whether we're building or failed. | ||
41 | renderer0 = gtk.CellRendererText() | ||
42 | renderer0.set_property('font-desc', pango.FontDescription('courier bold 12')) | ||
43 | col0 = gtk.TreeViewColumn ("Name", renderer0, text=0) | ||
44 | self.append_column (col0) | ||
45 | |||
46 | # The message of configuration. | ||
47 | renderer1 = HobWarpCellRendererText(col_number=1) | ||
48 | col1 = gtk.TreeViewColumn ("Values", renderer1, text=1) | ||
49 | self.append_column (col1) | ||
50 | |||
51 | def set_vars(self, key="", var=[""]): | ||
52 | d = {} | ||
53 | if type(var) == str: | ||
54 | d = {key: [var]} | ||
55 | elif type(var) == list and len(var) > 1: | ||
56 | #create the sub item line | ||
57 | l = [] | ||
58 | text = "" | ||
59 | for item in var: | ||
60 | text = " - " + item | ||
61 | l.append(text) | ||
62 | d = {key: var} | ||
63 | |||
64 | return d | ||
65 | |||
66 | def set_config_model(self, show_vars): | ||
67 | listmodel = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING) | ||
68 | parent = None | ||
69 | for var in show_vars: | ||
70 | for subitem in var.items(): | ||
71 | name = subitem[0] | ||
72 | is_parent = True | ||
73 | for value in subitem[1]: | ||
74 | if is_parent: | ||
75 | parent = listmodel.append(parent, (name, value)) | ||
76 | is_parent = False | ||
77 | else: | ||
78 | listmodel.append(parent, (None, value)) | ||
79 | name = " - " | ||
80 | parent = None | ||
81 | # renew the tree model after get the configuration messages | ||
82 | self.set_model(listmodel) | ||
83 | |||
84 | def show(self, src_config_info, src_params): | ||
85 | vars = [] | ||
86 | vars.append(self.set_vars("BB VERSION:", src_params.bb_version)) | ||
87 | vars.append(self.set_vars("TARGET_ARCH:", src_params.target_arch)) | ||
88 | vars.append(self.set_vars("TARGET_OS:", src_params.target_os)) | ||
89 | vars.append(self.set_vars("MACHINE:", src_config_info.curr_mach)) | ||
90 | vars.append(self.set_vars("DISTRO:", src_config_info.curr_distro)) | ||
91 | vars.append(self.set_vars("DISTRO_VERSION:", src_params.distro_version)) | ||
92 | vars.append(self.set_vars("SDK_MACHINE:", src_config_info.curr_sdk_machine)) | ||
93 | vars.append(self.set_vars("TUNE_FEATURE:", src_params.tune_pkgarch)) | ||
94 | vars.append(self.set_vars("LAYERS:", src_config_info.layers)) | ||
95 | |||
96 | for path in src_config_info.layers: | ||
97 | import os, os.path | ||
98 | if os.path.exists(path): | ||
99 | f = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path) | ||
100 | if f: | ||
101 | branch = f.readline().lstrip('\n').rstrip('\n') | ||
102 | vars.append(self.set_vars("BRANCH:", branch)) | ||
103 | f.close() | ||
104 | break | ||
105 | |||
106 | self.set_config_model(vars) | ||
107 | |||
31 | # | 108 | # |
32 | # BuildDetailsPage | 109 | # BuildDetailsPage |
33 | # | 110 | # |
@@ -60,8 +137,6 @@ class BuildDetailsPage (HobPage): | |||
60 | 137 | ||
61 | self.notebook = HobNotebook() | 138 | self.notebook = HobNotebook() |
62 | self.config_tv = BuildConfigurationTreeView() | 139 | self.config_tv = BuildConfigurationTreeView() |
63 | self.config_model = self.builder.handler.build.model.config_model() | ||
64 | self.config_tv.set_model(self.config_model) | ||
65 | self.scrolled_view_config = gtk.ScrolledWindow () | 140 | self.scrolled_view_config = gtk.ScrolledWindow () |
66 | self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) | 141 | self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) |
67 | self.scrolled_view_config.add(self.config_tv) | 142 | self.scrolled_view_config.add(self.config_tv) |
@@ -161,3 +236,6 @@ class BuildDetailsPage (HobPage): | |||
161 | self.endpath = path | 236 | self.endpath = path |
162 | if v_adj.value == (v_adj.upper - v_adj.page_size): # check the gtk.adjustment position is at end boundary or not | 237 | if v_adj.value == (v_adj.upper - v_adj.page_size): # check the gtk.adjustment position is at end boundary or not |
163 | treeview.scroll_to_cell(path) | 238 | treeview.scroll_to_cell(path) |
239 | |||
240 | def show_configurations(self, configurations, params): | ||
241 | self.config_tv.show(configurations, params) | ||