X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=lightcards%2Fdisplay.py;h=0e1c01c7c35a0886cb3722d3e153d879177ab517;hb=85327074f6aaa4e46ec36cec6fd6f07317e96ea6;hp=b167828246aab37634d184ab27db261399f485b3;hpb=9f6704125cc3c62a4ccab66d700f4eaf39a11a30;p=lightcards.git diff --git a/lightcards/display.py b/lightcards/display.py index b167828..0e1c01c 100644 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -19,6 +19,13 @@ def panel_create(x, y): return (win, panel) +class CursesError(BaseException): + def __init__(self, message="lightcards: Curses error!"): + self.message = message + print(self.message) + sys.exit(3) + + class Help: def __init__(self, outer, mlines=21, mcols=52): """Initialize help screen""" @@ -182,11 +189,11 @@ class Menu: class Display: - def __init__(self, stack, headers, obj): + def __init__(self, stack, headers, obj, view): self.stack = stack self.headers = headers self.obj = obj - self.view = 1 + self.view = view def run(self, stdscr): """Set important options that require stdscr before starting""" @@ -264,9 +271,9 @@ class Display: f"{str(self.obj.index).zfill(len(str(len(self.stack))))}" f"/{str(len(self.stack))})]" ) - if self.view == 3: + if self.view != 3: bar_end += ( - f" [{self.headers[self.current_card().side]} (" + f" [{self.get_side()} (" f"{str(int(self.current_card().side) + 1)})]" ) bar_end += f" [View {str(self.view)}]" @@ -289,6 +296,12 @@ class Display: wrap_width = 80 return wrap_width + def get_side(self): + if self.obj.side == 0: + return self.headers[self.current_card().side] + else: + return self.headers[self.current_card().get_reverse()] + def disp_card(self): (_, mcols) = self.win.getmaxyx() self.main_panel.bottom() @@ -309,12 +322,12 @@ class Display: self.obj.side = 1 if self.current_card().side == 0: - top = num_done + " | " + self.headers[self.obj.side] + top = num_done + " | " + self.get_side() else: top = ( num_done + " | " - + self.headers[self.obj.side] + + self.get_side() + ' | "' + str(self.current_card().get()[self.obj.get_reverse()]) + '"'