def to_html(self): hyps = [h.to_html() for h in self.hypotheses] if self.left_focus >= 0 and self.left_focus < len(self.hypotheses): hyps[self.left_focus] = (html.span() % { 'style': 'color: red' }) << hyps[self.left_focus] t = self.theorem.to_html() else: t = (html.span() % { 'style': 'color: red' }) << self.theorem.to_html() left = html.text(', ').intersperse(hyps) return left & html.raw_html(' ⊢ ') & t
def name_field(element): if not element['name']: return '' title={} help = element.get('help') if help: title['title'] = help return markup.span(markup.strong('%s:' % element['name']), **title)
def radiobuttons(self, name, items, checked=None, joiner='<br/>'): if checked is None: checked = items[0] joiner = "%s\n" % joiner retval = [] for item in items: title = None if hasattr(item, '__iter__'): item, title = item kw = dict(type='radio', name=name, value=item) if item == checked: kw['checked'] = None # display contextual help if title: title = dict(title=title) else: title = {} retval.append(markup.span('%s%s' % (item, markup.input(**kw)), **title)) return joiner.join(retval)