Openembedded Bitbake Development
 help / color / mirror / Atom feed
* [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