Remove unused Selector class (#2938)
The code is unused as of 88b91ae201.
This commit is contained in:
parent
ee2ed3fe54
commit
f2bc5ff280
|
|
@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any
|
|||
|
||||
from archinstall.tui import Chars, FrameProperties, FrameStyle, MenuItem, MenuItemGroup, PreviewStyle, ResultType, SelectMenu, Tui
|
||||
|
||||
from ..output import error, unicode_ljust
|
||||
from ..output import error
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from archinstall.lib.translationhandler import DeferredTranslation
|
||||
|
|
@ -13,136 +13,6 @@ if TYPE_CHECKING:
|
|||
_: Callable[[str], DeferredTranslation]
|
||||
|
||||
|
||||
class Selector:
|
||||
def __init__(
|
||||
self,
|
||||
description: str,
|
||||
func: Callable[[Any], Any] | None = None,
|
||||
display_func: Callable | None = None,
|
||||
default: Any | None = None,
|
||||
enabled: bool = False,
|
||||
dependencies: list[str] = [],
|
||||
dependencies_not: list[str] = [],
|
||||
exec_func: Callable | None = None,
|
||||
preview_func: Callable | None = None,
|
||||
mandatory: bool = False,
|
||||
no_store: bool = False
|
||||
):
|
||||
"""
|
||||
Create a new menu selection entry
|
||||
|
||||
:param description: Text that will be displayed as the menu entry
|
||||
:type description: str
|
||||
|
||||
:param func: Function that is called when the menu entry is selected
|
||||
:type func: Callable
|
||||
|
||||
:param display_func: After specifying a setting for a menu item it is displayed
|
||||
on the right side of the item as is; with this function one can modify the entry
|
||||
to be displayed; e.g. when specifying a password one can display **** instead
|
||||
:type display_func: Callable
|
||||
|
||||
:param default: Default value for this menu entry
|
||||
:type default: Any
|
||||
|
||||
:param enabled: Specify if this menu entry should be displayed
|
||||
:type enabled: bool
|
||||
|
||||
:param dependencies: Specify dependencies for this menu entry; if the dependencies
|
||||
are not set yet, then this item is not displayed; e.g. disk_layout depends on selectiong
|
||||
harddrive(s) first
|
||||
:type dependencies: list
|
||||
|
||||
:param dependencies_not: These are the exclusive options; the menu item will only be
|
||||
displayed if non of the entries in the list have been specified
|
||||
:type dependencies_not: list
|
||||
|
||||
:param exec_func: A function with the name and the result of the selection as input parameter and which returns boolean.
|
||||
Can be used for any action deemed necessary after selection. If it returns True, exits the menu loop, if False,
|
||||
menu returns to the selection screen. If not specified it is assumed the return is False
|
||||
:type exec_func: Callable
|
||||
|
||||
:param preview_func: A callable which invokws a preview screen
|
||||
:type preview_func: Callable
|
||||
|
||||
:param mandatory: A boolean which determines that the field is mandatory, i.e. menu can not be exited if it is not set
|
||||
:type mandatory: bool
|
||||
|
||||
:param no_store: A boolean which determines that the field should or shouldn't be stored in the data storage
|
||||
:type no_store: bool
|
||||
"""
|
||||
self._display_func = display_func
|
||||
self._no_store = no_store
|
||||
|
||||
self.description = description
|
||||
self.func = func
|
||||
self.current_selection = default
|
||||
self.enabled = enabled
|
||||
self.dependencies = dependencies
|
||||
self.dependencies_not = dependencies_not
|
||||
self.exec_func = exec_func
|
||||
self.preview_func = preview_func
|
||||
self.mandatory = mandatory
|
||||
self.default = default
|
||||
|
||||
def do_store(self) -> bool:
|
||||
return self._no_store is False
|
||||
|
||||
def set_enabled(self, status: bool = True) -> None:
|
||||
self.enabled = status
|
||||
|
||||
def update_description(self, description: str) -> None:
|
||||
self.description = description
|
||||
|
||||
def menu_text(self, padding: int = 0) -> str:
|
||||
if self.description == '': # special menu option for __separator__
|
||||
return ''
|
||||
|
||||
current = ''
|
||||
|
||||
if self._display_func:
|
||||
current = self._display_func(self.current_selection)
|
||||
else:
|
||||
if self.current_selection is not None:
|
||||
current = str(self.current_selection)
|
||||
|
||||
if current:
|
||||
padding += 5
|
||||
description = unicode_ljust(str(self.description), padding, ' ')
|
||||
else:
|
||||
description = self.description
|
||||
current = ''
|
||||
|
||||
return f'{description} {current}'
|
||||
|
||||
def set_current_selection(self, current: Any | None) -> None:
|
||||
self.current_selection = current
|
||||
|
||||
def has_selection(self) -> bool:
|
||||
if not self.current_selection:
|
||||
return False
|
||||
return True
|
||||
|
||||
def get_selection(self) -> Any:
|
||||
return self.current_selection
|
||||
|
||||
def is_empty(self) -> bool:
|
||||
if self.current_selection is None:
|
||||
return True
|
||||
elif isinstance(self.current_selection, str | list | dict) and len(self.current_selection) == 0:
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_enabled(self) -> bool:
|
||||
return self.enabled
|
||||
|
||||
def is_mandatory(self) -> bool:
|
||||
return self.mandatory
|
||||
|
||||
def set_mandatory(self, value: bool) -> None:
|
||||
self.mandatory = value
|
||||
|
||||
|
||||
class AbstractMenu:
|
||||
def __init__(
|
||||
self,
|
||||
|
|
|
|||
Loading…
Reference in New Issue