* [PATCH 0/4] Hob tweaks
@ 2012-04-06 23:18 Joshua Lock
2012-04-06 23:18 ` [PATCH 1/4] lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees Joshua Lock
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Joshua Lock @ 2012-04-06 23:18 UTC (permalink / raw)
To: bitbake-devel
A series of minor tweaks based on feedback from design in bug #2182
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2182
Cheers,
Joshua
The following changes since commit d49db15badb77855cef855ee73430fcbc16b6916:
Hob: a minor fix on pmake (2012-04-05 18:47:37 +0100)
are available in the git repository at:
git://github.com/incandescant/bitbake josh/hob
https://github.com/incandescant/bitbake/tree/josh/hob
Joshua Lock (4):
lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees
lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included'
view
lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included
col
selectionpage: show persistent tooltips on click
lib/bb/ui/crumbs/hobwidget.py | 15 ++++++++
lib/bb/ui/crumbs/packageselectionpage.py | 38 +++++++++++++--------
lib/bb/ui/crumbs/recipeselectionpage.py | 53 +++++++++++++++++++----------
3 files changed, 73 insertions(+), 33 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
@ 2012-04-06 23:18 ` Joshua Lock
2012-04-06 23:18 ` [PATCH 2/4] lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included' view Joshua Lock
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2012-04-06 23:18 UTC (permalink / raw)
To: bitbake-devel
The design calls for a single 'Brought in by' item to be shown in the
tree views with any extra items to be shown in the tooltip.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/hobwidget.py | 13 +++++++++++++
lib/bb/ui/crumbs/packageselectionpage.py | 2 +-
lib/bb/ui/crumbs/recipeselectionpage.py | 2 +-
3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index edb85db..3f6dd34 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -150,6 +150,10 @@ class HobViewTable (gtk.VBox):
col.pack_end(cell, True)
col.set_attributes(cell, active=column['col_id'])
self.toggle_columns.append(column['col_name'])
+ elif column['col_style'] == 'binb':
+ cell = gtk.CellRendererText()
+ col.pack_start(cell, True)
+ col.set_cell_data_func(cell, self.display_binb_cb, column['col_id'])
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
@@ -157,6 +161,15 @@ class HobViewTable (gtk.VBox):
scroll.add(self.table_tree)
self.pack_start(scroll, True, True, 0)
+ def display_binb_cb(self, col, cell, model, it, col_id):
+ binb = model.get_value(it, col_id)
+ # Just display the first item
+ if binb:
+ bin = binb.split(', ')
+ cell.set_property('text', bin[0])
+
+ return True
+
def set_model(self, tree_model):
self.table_tree.set_model(tree_model)
diff --git a/lib/bb/ui/crumbs/packageselectionpage.py b/lib/bb/ui/crumbs/packageselectionpage.py
index 7926636..78963f6 100755
--- a/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/lib/bb/ui/crumbs/packageselectionpage.py
@@ -45,7 +45,7 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Brought in by',
'col_id' : PackageListModel.COL_BINB,
- 'col_style': 'text',
+ 'col_style': 'binb',
'col_min' : 100,
'col_max' : 350
}, {
diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py b/lib/bb/ui/crumbs/recipeselectionpage.py
index e4616a8..956b02d 100755
--- a/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -45,7 +45,7 @@ class RecipeSelectionPage (HobPage):
}, {
'col_name' : 'Brought in by',
'col_id' : RecipeListModel.COL_BINB,
- 'col_style': 'text',
+ 'col_style': 'binb',
'col_min' : 100,
'col_max' : 500
}, {
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included' view
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
2012-04-06 23:18 ` [PATCH 1/4] lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees Joshua Lock
@ 2012-04-06 23:18 ` Joshua Lock
2012-04-06 23:18 ` [PATCH 3/4] lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included col Joshua Lock
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2012-04-06 23:18 UTC (permalink / raw)
To: bitbake-devel
The 'Included' tab of the notebook should show the 'Group' a recipe
belongs to, per the design.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/recipeselectionpage.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py b/lib/bb/ui/crumbs/recipeselectionpage.py
index 956b02d..8314449 100755
--- a/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -49,6 +49,12 @@ class RecipeSelectionPage (HobPage):
'col_min' : 100,
'col_max' : 500
}, {
+ 'col_name' : 'Group',
+ 'col_id' : RecipeListModel.COL_GROUP,
+ 'col_style': 'text',
+ 'col_min' : 100,
+ 'col_max' : 300
+ }, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'check toggle',
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included col
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
2012-04-06 23:18 ` [PATCH 1/4] lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees Joshua Lock
2012-04-06 23:18 ` [PATCH 2/4] lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included' view Joshua Lock
@ 2012-04-06 23:18 ` Joshua Lock
2012-04-06 23:18 ` [PATCH 4/4] selectionpage: show persistent tooltips on click Joshua Lock
2012-04-10 22:48 ` [PATCH 0/4] Hob tweaks Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2012-04-06 23:18 UTC (permalink / raw)
To: bitbake-devel
Set the expand property on all columns other than the 'Included' column
so that the included column remains at the max size set.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/hobwidget.py | 2 +
lib/bb/ui/crumbs/packageselectionpage.py | 23 +++++++++++-------
lib/bb/ui/crumbs/recipeselectionpage.py | 36 ++++++++++++++++++-----------
3 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index 3f6dd34..9ea70ad 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -127,6 +127,8 @@ class HobViewTable (gtk.VBox):
col.set_min_width(column['col_min'])
if 'col_max' in column.keys():
col.set_max_width(column['col_max'])
+ if 'expand' in column.keys():
+ col.set_expand(True)
self.table_tree.append_column(col)
if (not 'col_style' in column.keys()) or column['col_style'] == 'text':
diff --git a/lib/bb/ui/crumbs/packageselectionpage.py b/lib/bb/ui/crumbs/packageselectionpage.py
index 78963f6..b1a199c 100755
--- a/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/lib/bb/ui/crumbs/packageselectionpage.py
@@ -41,25 +41,28 @@ class PackageSelectionPage (HobPage):
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 300
+ 'col_max' : 300,
+ 'expand' : 'True'
}, {
'col_name' : 'Brought in by',
'col_id' : PackageListModel.COL_BINB,
'col_style': 'binb',
'col_min' : 100,
- 'col_max' : 350
+ 'col_max' : 350,
+ 'expand' : 'True'
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 300
+ 'col_max' : 300,
+ 'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'check toggle',
- 'col_min' : 50,
- 'col_max' : 50
+ 'col_min' : 100,
+ 'col_max' : 100
}]
}, {
'name' : 'All packages',
@@ -69,19 +72,21 @@ class PackageSelectionPage (HobPage):
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 500
+ 'col_max' : 500,
+ 'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'check toggle',
- 'col_min' : 50,
- 'col_max' : 50
+ 'col_min' : 100,
+ 'col_max' : 100
}]
}
]
diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py b/lib/bb/ui/crumbs/recipeselectionpage.py
index 8314449..d70fe52 100755
--- a/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -41,25 +41,28 @@ class RecipeSelectionPage (HobPage):
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Brought in by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'binb',
'col_min' : 100,
- 'col_max' : 500
+ 'col_max' : 500,
+ 'expand' : 'True'
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 300
+ 'col_max' : 300,
+ 'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'check toggle',
- 'col_min' : 50,
- 'col_max' : 50
+ 'col_min' : 100,
+ 'col_max' : 100
}]
}, {
'name' : 'All recipes',
@@ -69,25 +72,28 @@ class RecipeSelectionPage (HobPage):
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'License',
'col_id' : RecipeListModel.COL_LIC,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'check toggle',
- 'col_min' : 50,
- 'col_max' : 50
+ 'col_min' : 100,
+ 'col_max' : 100
}]
}, {
'name' : 'Tasks',
@@ -97,19 +103,21 @@ class RecipeSelectionPage (HobPage):
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Description',
'col_id' : RecipeListModel.COL_DESC,
'col_style': 'text',
'col_min' : 100,
- 'col_max' : 400
+ 'col_max' : 400,
+ 'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'check toggle',
- 'col_min' : 50,
- 'col_max' : 50
+ 'col_min' : 100,
+ 'col_max' : 100
}]
}
]
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] selectionpage: show persistent tooltips on click
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
` (2 preceding siblings ...)
2012-04-06 23:18 ` [PATCH 3/4] lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included col Joshua Lock
@ 2012-04-06 23:18 ` Joshua Lock
2012-04-10 22:48 ` [PATCH 0/4] Hob tweaks Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2012-04-06 23:18 UTC (permalink / raw)
To: bitbake-devel
Requiring a double click to show the tooltips isn't very intuitive, add
a callback to show the persistent tooltips on button release.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/ui/crumbs/packageselectionpage.py | 13 ++++++++-----
lib/bb/ui/crumbs/recipeselectionpage.py | 13 ++++++++-----
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/lib/bb/ui/crumbs/packageselectionpage.py b/lib/bb/ui/crumbs/packageselectionpage.py
index b1a199c..81ff76d 100755
--- a/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/lib/bb/ui/crumbs/packageselectionpage.py
@@ -117,7 +117,7 @@ class PackageSelectionPage (HobPage):
tab.set_model(self.package_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb)
if page['name'] == "Included":
- tab.connect("row-activated", self.tree_row_activated_cb)
+ tab.connect("button-release-event", self.button_click_cb)
label = gtk.Label(page['name'])
self.ins.append_page(tab, label)
@@ -146,10 +146,13 @@ class PackageSelectionPage (HobPage):
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
- def tree_row_activated_cb(self, table, tree_model, path):
- binb = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_BINB)
- if binb:
- self.builder.show_binb_dialog(binb)
+ def button_click_cb(self, widget, event):
+ path, col = widget.table_tree.get_cursor()
+ tree_model = widget.table_tree.get_model()
+ if path: # else activation is likely a removal
+ binb = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_BINB)
+ if binb:
+ self.builder.show_binb_dialog(binb)
def build_image_clicked_cb(self, button):
self.builder.build_image()
diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py b/lib/bb/ui/crumbs/recipeselectionpage.py
index d70fe52..019f9f3 100755
--- a/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -148,7 +148,7 @@ class RecipeSelectionPage (HobPage):
tab.set_model(self.recipe_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb)
if page['name'] == "Included":
- tab.connect("row-activated", self.tree_row_activated_cb)
+ tab.connect("button-release-event", self.button_click_cb)
label = gtk.Label(page['name'])
self.ins.append_page(tab, label)
@@ -177,10 +177,13 @@ class RecipeSelectionPage (HobPage):
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
- def tree_row_activated_cb(self, table, tree_model, path):
- binb = tree_model.get_value(tree_model.get_iter(path), RecipeListModel.COL_BINB)
- if binb:
- self.builder.show_binb_dialog(binb)
+ def button_click_cb(self, widget, event):
+ path, col = widget.table_tree.get_cursor()
+ tree_model = widget.table_tree.get_model()
+ if path: # else activation is likely a removal
+ binb = tree_model.get_value(tree_model.get_iter(path), RecipeListModel.COL_BINB)
+ if binb:
+ self.builder.show_binb_dialog(binb)
def build_packages_clicked_cb(self, button):
self.builder.build_packages()
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] Hob tweaks
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
` (3 preceding siblings ...)
2012-04-06 23:18 ` [PATCH 4/4] selectionpage: show persistent tooltips on click Joshua Lock
@ 2012-04-10 22:48 ` Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Richard Purdie @ 2012-04-10 22:48 UTC (permalink / raw)
To: Joshua Lock; +Cc: bitbake-devel
On Fri, 2012-04-06 at 16:18 -0700, Joshua Lock wrote:
> A series of minor tweaks based on feedback from design in bug #2182
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=2182
>
> Cheers,
> Joshua
>
> The following changes since commit d49db15badb77855cef855ee73430fcbc16b6916:
>
> Hob: a minor fix on pmake (2012-04-05 18:47:37 +0100)
>
> are available in the git repository at:
> git://github.com/incandescant/bitbake josh/hob
> https://github.com/incandescant/bitbake/tree/josh/hob
>
> Joshua Lock (4):
> lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees
> lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included'
> view
> lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included
> col
> selectionpage: show persistent tooltips on click
Merged to master, thanks.
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-04-10 22:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-06 23:18 [PATCH 0/4] Hob tweaks Joshua Lock
2012-04-06 23:18 ` [PATCH 1/4] lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees Joshua Lock
2012-04-06 23:18 ` [PATCH 2/4] lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included' view Joshua Lock
2012-04-06 23:18 ` [PATCH 3/4] lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included col Joshua Lock
2012-04-06 23:18 ` [PATCH 4/4] selectionpage: show persistent tooltips on click Joshua Lock
2012-04-10 22:48 ` [PATCH 0/4] Hob tweaks Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox