pyceo/ceo/tui/views/WelcomeView.py

36 lines
1.2 KiB
Python

import urwid
import ceo.tui.utils as utils
from .ColumnView import ColumnView
from .utils import decorate_button
class WelcomeView(ColumnView):
def __init__(self, model, controller, app):
super().__init__(model, controller, app)
rows = []
for category, model_classes in model.categories.items():
if len(rows) > 0:
# Place dividers between sections
rows.append((urwid.Divider(), urwid.Divider()))
for i, model_class in enumerate(model_classes):
if i == 0:
left_col_elem = urwid.Text(category, align='right')
else:
left_col_elem = urwid.Divider()
button = urwid.Button(
model_class.title,
on_press=self.controller.get_next_menu_callback(model_class.name),
)
rows.append((left_col_elem, decorate_button(button)))
extra_widgets = [
urwid.Divider(),
urwid.Text('Press q or Esc to quit')
]
self.set_rows(
rows,
right_col_weight=3,
extra_widgets=extra_widgets,
no_back_button=True,
no_next_button=True,
)