[bitbake-devel] [PATCH 7/9] lib/bb/ui/crumbs/hobwidget: add HobButton widget for the primary action
Joshua Lock
josh at linux.intel.com
Thu Mar 22 23:31:12 UTC 2012
The design uses a big, bold labelled, orange button for the primary action
on each dialogue. The HobButton implements this design as a reusable widget.
HobButton makes use of Pango Markup to use a relative size, x-large, for
the button text to ensure it's relative to the system configured font
sizes.
Signed-off-by: Joshua Lock <josh at linux.intel.com>
---
lib/bb/ui/crumbs/hobwidget.py | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/lib/bb/ui/crumbs/hobwidget.py b/lib/bb/ui/crumbs/hobwidget.py
index b93e9d4..9d144c9 100644
--- a/lib/bb/ui/crumbs/hobwidget.py
+++ b/lib/bb/ui/crumbs/hobwidget.py
@@ -196,6 +196,26 @@ def soften_color(widget, state=gtk.STATE_NORMAL):
color.blue = color.blue * blend + style.base[state].blue * (1.0 - blend)
return color.to_string()
+class HobButton(gtk.Button):
+ """
+ A gtk.Button subclass which follows the visual design of Hob for primary
+ action buttons
+
+ label: the text to display as the button's label
+ """
+ def __init__(self, label):
+ gtk.Button.__init__(self, "<span size='x-large'><b>%s</b></span>" % gobject.markup_escape_text(label))
+ self.child.set_use_markup(True)
+
+ style = self.get_style()
+ button_color = gtk.gdk.Color(HobColors.ORANGE)
+ self.modify_bg(gtk.STATE_NORMAL, button_color)
+ self.modify_bg(gtk.STATE_PRELIGHT, button_color)
+ self.modify_bg(gtk.STATE_SELECTED, button_color)
+
+ self.set_flags(gtk.CAN_DEFAULT)
+ self.grab_default()
+
class HobAltButton(gtk.Button):
"""
A gtk.Button subclass which has no relief, and so is more discrete
--
1.7.7.6
More information about the bitbake-devel
mailing list