This commit is contained in:
starnakin 2023-05-27 13:21:24 +02:00
parent f17dee09e8
commit e8a27f2455

23
Menu.py
View File

@ -42,6 +42,14 @@ class Menu():
or self.options[self.cursor_pos] == ""): or self.options[self.cursor_pos] == ""):
self._down() self._down()
def _left(self):
if (self.cursor_pos_x > 0):
self.cursor_pos_x = self.cursor_pos_x - 1;
def _right(self):
self.cursor_pos_x = self.cursor_pos_x + 1;
def show(self): def show(self):
while (True): while (True):
self._display_menu(); self._display_menu();
@ -50,6 +58,10 @@ class Menu():
self._up() self._up()
elif (key == "down"): elif (key == "down"):
self._down() self._down()
if (key == "left"):
self._left()
elif (key == "right"):
self._right()
elif (key == "enter"): elif (key == "enter"):
return (self.cursor_pos) return (self.cursor_pos)
@ -71,11 +83,16 @@ class Menu():
for i, option in enumerate(self.options[min_y:max_y]): for i, option in enumerate(self.options[min_y:max_y]):
element = option element = option
if (i == display_pos): if (i == display_pos):
line = self.cursor + element min_x, max_x, display_pos_x = utils.render(self.cursor_pos_x,
0,
len(element),
len(element) // 2,
option)
line = self.cursor + element[min_x:max_x]
else: else:
line = " " * len(self.cursor) + element line = " " * len(self.cursor) + element
print(line) print(line)
self._preview() print(preview)
def _preview(self): def _preview(self):
if (len(self.preview_args) < self.cursor_pos): if (len(self.preview_args) < self.cursor_pos):
@ -143,7 +160,7 @@ class Menu():
return 'space' return 'space'
def preview(lst): def preview(lst):
return ("\n".join(lst)) return ("je suis la")
menu = Menu("fdddddddddddddddddddddddddddddddddddddddddddddddddddddddda", preview_body_function=preview); menu = Menu("fdddddddddddddddddddddddddddddddddddddddddddddddddddddddda", preview_body_function=preview);
menu.show() menu.show()