lib/bb/ui/crumbs/hobwidget: add HobButton widget for the primary action

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.

(Bitbake rev: 9aa477f7bd16d3e360bf9b51c1f9d5032a6c5288)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Lock 2012-03-22 16:05:42 -07:00 committed by Richard Purdie
parent 9dd7461eca
commit 78fb40958a
1 changed files with 20 additions and 0 deletions

View File

@ -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