Compare commits
No commits in common. "e0177d0e101b2bbed7d4fb43ffdef0dc6b847855" and "6655fd097af828ebe6506fe820d14283ae95f59a" have entirely different histories.
e0177d0e10
...
6655fd097a
|
@ -19,10 +19,9 @@ class CliMenuHeader:
|
||||||
|
|
||||||
class CliMenuOption:
|
class CliMenuOption:
|
||||||
"""Hold a menu option"""
|
"""Hold a menu option"""
|
||||||
def __init__(self, text, num, item=None):
|
def __init__(self, text, num):
|
||||||
self.text = text
|
self.text = text
|
||||||
self.num = num
|
self.num = num
|
||||||
self.item = item
|
|
||||||
self.focusable = True
|
self.focusable = True
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,27 +96,19 @@ class CliMenu:
|
||||||
for option in options:
|
for option in options:
|
||||||
self.add_option(option)
|
self.add_option(option)
|
||||||
|
|
||||||
def add_header(self, title, indent=True):
|
def add_header(self, title, indent=False):
|
||||||
for text in title.split('\n'):
|
for text in title.split('\n'):
|
||||||
self._items.append(CliMenuHeader(text, indent=indent))
|
self._items.append(CliMenuHeader(text))
|
||||||
|
|
||||||
def add_option(self, text, item=None):
|
def add_option(self, text):
|
||||||
self._items.append(CliMenuOption(text, self._item_num, item=item))
|
self._items.append(CliMenuOption(text, self._item_num))
|
||||||
self._item_num += 1
|
self._item_num += 1
|
||||||
|
|
||||||
def get_selection(self):
|
def get_selection(self):
|
||||||
if not self._ran:
|
if not self._ran:
|
||||||
self._run()
|
self._run()
|
||||||
|
|
||||||
item = self._items[self._pos]
|
return self._items[self._pos].num
|
||||||
|
|
||||||
return (item.num, item.item)
|
|
||||||
|
|
||||||
def get_selection_num(self):
|
|
||||||
return self.get_selection()[0]
|
|
||||||
|
|
||||||
def get_selection_item(self):
|
|
||||||
return self.get_selection()[1]
|
|
||||||
|
|
||||||
def cursor(self):
|
def cursor(self):
|
||||||
return '{} '.format(self._cursor)
|
return '{} '.format(self._cursor)
|
||||||
|
@ -146,7 +137,7 @@ class CliMenu:
|
||||||
style = s.option_style
|
style = s.option_style
|
||||||
else:
|
else:
|
||||||
if item.indent:
|
if item.indent:
|
||||||
indent += ' ' * (self._header_indent + len(self._cursor) + 1)
|
indent += ' ' * self._header_indent
|
||||||
style = s.header_style
|
style = s.header_style
|
||||||
|
|
||||||
return Transformation([('', indent), (style, prefix + text)])
|
return Transformation([('', indent), (style, prefix + text)])
|
||||||
|
|
Loading…
Reference in New Issue