Squashed 'yocto-poky/' content from commit ea562de
git-subtree-dir: yocto-poky
git-subtree-split: ea562de57590c966cd5a75fda8defecd397e6436
diff --git a/bitbake/lib/bb/ui/crumbs/sanitycheckpage.py b/bitbake/lib/bb/ui/crumbs/sanitycheckpage.py
new file mode 100644
index 0000000..76ce2ec
--- /dev/null
+++ b/bitbake/lib/bb/ui/crumbs/sanitycheckpage.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+#
+# BitBake Graphical GTK User Interface
+#
+# Copyright (C) 2012 Intel Corporation
+#
+# Authored by Bogdan Marinescu <bogdan.a.marinescu@intel.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import gtk, gobject
+from bb.ui.crumbs.progressbar import HobProgressBar
+from bb.ui.crumbs.hobwidget import hic
+from bb.ui.crumbs.hobpages import HobPage
+
+#
+# SanityCheckPage
+#
+class SanityCheckPage (HobPage):
+
+ def __init__(self, builder):
+ super(SanityCheckPage, self).__init__(builder)
+ self.running = False
+ self.create_visual_elements()
+ self.show_all()
+
+ def make_label(self, text, bold=True):
+ label = gtk.Label()
+ label.set_alignment(0.0, 0.5)
+ mark = "<span %s>%s</span>" % (self.span_tag('x-large', 'bold') if bold else self.span_tag('medium'), text)
+ label.set_markup(mark)
+ return label
+
+ def start(self):
+ if not self.running:
+ self.running = True
+ gobject.timeout_add(100, self.timer_func)
+
+ def stop(self):
+ self.running = False
+
+ def is_running(self):
+ return self.running
+
+ def timer_func(self):
+ self.progress_bar.pulse()
+ return self.running
+
+ def create_visual_elements(self):
+ # Table'd layout. 'rows' and 'cols' give the table size
+ rows, cols = 30, 50
+ self.table = gtk.Table(rows, cols, True)
+ self.pack_start(self.table, expand=False, fill=False)
+ sx, sy = 2, 2
+ # 'info' icon
+ image = gtk.Image()
+ image.set_from_file(hic.ICON_INFO_DISPLAY_FILE)
+ self.table.attach(image, sx, sx + 2, sy, sy + 3 )
+ image.show()
+ # 'Checking' message
+ label = self.make_label('Hob is checking for correct build system setup')
+ self.table.attach(label, sx + 2, cols, sy, sy + 3, xpadding=5 )
+ label.show()
+ # 'Shouldn't take long' message.
+ label = self.make_label("The check shouldn't take long.", False)
+ self.table.attach(label, sx + 2, cols, sy + 3, sy + 4, xpadding=5)
+ label.show()
+ # Progress bar
+ self.progress_bar = HobProgressBar()
+ self.table.attach(self.progress_bar, sx + 2, cols - 3, sy + 5, sy + 7, xpadding=5)
+ self.progress_bar.show()
+ # All done
+ self.table.show()
+