def __init__(self, title): super().__init__( Color.frame_header( Pile([ Text(""), Padding.center_79(Text(title)), Text(""), ])))
def __init__(self, title=None, excerpt=None): widgets = [Text("")] if title is not None: widgets.append(Padding.center_79(Text(title))) widgets.append(Text("")) widgets = [Color.frame_header(Pile(widgets))] if excerpt is not None: widgets.extend([ Text(""), Padding.center_79(Text(excerpt)), ]) super().__init__(Pile(widgets))
def __init__(self, title, right_icon): if isinstance(title, str): title = Text(title) title = HeaderColumns([ Text(""), title, right_icon, Text(""), ]) super().__init__( Pile([ (1, Color.frame_header_fringe(SolidFill("\N{lower half block}"))), Color.frame_header(title), (1, Color.frame_header_fringe(SolidFill("\N{upper half block}"))), ]))
def __init__(self, title): if isinstance(title, str): title = Text(title) title = Padding.center_79(title, min_width=76) super().__init__(Color.frame_header(Pile([Text(""), title, Text("")])))
def __init__(self, parent): self.parent = parent close = header_btn(parent.base_widget.label) about = menu_item(_("About this installer"), on_press=self.parent.about) keys = menu_item(_("Keyboard shortcuts"), on_press=self.parent.shortcuts) drop_to_shell = menu_item(_("Enter shell"), on_press=self.parent.debug_shell) buttons = { about, close, drop_to_shell, keys, } if self.parent.ssh_password is not None: ssh_help = menu_item(_("Help on SSH access"), on_press=self.parent.ssh_help) buttons.add(ssh_help) if self.parent.app.opts.run_on_serial: rich = menu_item(_("Toggle rich mode"), on_press=self.parent.toggle_rich) buttons.add(rich) local_title, local_doc = parent.app.ui.body.local_help() if local_title is not None: local = menu_item(local_title, on_press=self.parent.show_local( local_title, local_doc)) buttons.add(local) else: local = Text( ('info_minor header', " " + _("Help on this screen") + " ")) if self.parent.app.controllers.Error.reports: view_errors = menu_item( _("View error reports").format(local_title), on_press=self.parent.show_errors) buttons.add(view_errors) else: view_errors = Text( ('info_minor header', " " + _("View error reports") + " ")) for button in buttons: connect_signal(button.base_widget, 'click', self._close) entries = [ local, keys, drop_to_shell, view_errors, hline, about, ] if self.parent.ssh_password is not None: entries.append(ssh_help) if self.parent.app.opts.run_on_serial: entries.extend([ hline, rich, ]) rows = [ Columns([ ('fixed', 1, tlcorner), hline, (widget_width(close), close), ('fixed', 1, trcorner), ]), ] for entry in entries: if isinstance(entry, Divider): left, right = ltee, rtee else: left = right = vline rows.append( Columns([ ('fixed', 1, left), entry, ('fixed', 1, right), ])) rows.append(Columns([ (1, blcorner), hline, (1, brcorner), ])) self.width = max( [widget_width(b) for b in entries if not isinstance(b, Divider)]) + 2 self.height = len(entries) + 2 super().__init__(Color.frame_header(Filler(Pile(rows))))
def __init__(self, parent): self.parent = parent close = header_btn(parent.base_widget.label) about = menu_item(_("About this installer"), on_press=self._about) keys = menu_item(_("Keyboard shortcuts"), on_press=self._shortcuts) drop_to_shell = menu_item(_("Enter shell"), on_press=self._debug_shell) color = menu_item(_("Toggle color on/off"), on_press=self._toggle_color) buttons = { close, about, keys, drop_to_shell, color, } local_title, local_doc = parent.app.ui.body.local_help() if local_title is not None: local = menu_item(local_title, on_press=self._show_local( local_title, local_doc)) buttons.add(local) else: local = Text( ('info_minor header', " " + _("Help on this screen") + " ")) for button in buttons: connect_signal(button.base_widget, 'click', self._close) entries = [ local, keys, drop_to_shell, hline, about, hline, color, ] rows = [ Columns([ ('fixed', 1, tlcorner), hline, (widget_width(close), close), ('fixed', 1, trcorner), ]), ] for entry in entries: if isinstance(entry, Divider): left, right = ltee, rtee else: left = right = vline rows.append( Columns([ ('fixed', 1, left), entry, ('fixed', 1, right), ])) rows.append(Columns([ (1, blcorner), hline, (1, brcorner), ])) self.width = max( [widget_width(b) for b in entries if not isinstance(b, Divider)]) + 2 self.height = len(entries) + 2 super().__init__(Color.frame_header(Filler(Pile(rows))))