40 lines
1022 B
Python
40 lines
1022 B
Python
import urwid
|
|
|
|
from .View import View
|
|
from .utils import wrap_in_frame
|
|
from ceo.tui.app import App
|
|
|
|
|
|
class PlainTextView(View):
|
|
def __init__(self, model, controller, app):
|
|
super().__init__(model, controller, app)
|
|
|
|
def set_lines(
|
|
self,
|
|
lines,
|
|
align='center',
|
|
min_width=None,
|
|
on_back=None,
|
|
on_next=None,
|
|
flash_text=None,
|
|
):
|
|
if min_width is None:
|
|
if align == 'center':
|
|
min_width = App.WIDTH
|
|
else:
|
|
min_width = max(map(len, lines))
|
|
self.original_widget = wrap_in_frame(
|
|
urwid.Padding(
|
|
urwid.Filler(
|
|
urwid.Text('\n'.join(lines), align=align)
|
|
),
|
|
align='center',
|
|
width=('relative', App.REL_WIDTH_PCT),
|
|
min_width=min_width,
|
|
),
|
|
self.model.title,
|
|
on_back=on_back,
|
|
on_next=on_next,
|
|
flash_text=flash_text,
|
|
)
|