pyceo/ceo/tui/views/WelcomeView.py

32 lines
1.1 KiB
Python

import urwid
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)))
self.set_rows(
rows,
right_col_weight=3,
no_back_button=True,
no_next_button=True,
)
self.flash_text.set_text('Press q or Esc to quit')