shellui.ui package

shellui.ui.abstracts module

class shellui.ui.abstracts.AbstractLayout(*args, **kwargs)

Bases: BaseElement

Represents abstract class for interface elements layout

add_elements(*args, **kwargs)
class_base_tag = 'AbstractLayout'
render()

Builds element contents

Returns:

String if the widget is last one, else elements list

search_elements_by_tag(tag: str) Collection
update()

Updates element state

class shellui.ui.abstracts.AbstractWidget(*args, **kwargs)

Bases: BaseElement

Represents abstract class for interface widgets

class_base_tag = 'AbstractWidget'
class shellui.ui.abstracts.BaseElement(*args, **kwargs)

Bases: ABC

Represents abstract base class for all interface elements and layouts

class BaseFlags(*args, **kwargs)

Bases: Protocol

get_flag(key) bool
isFixedSize: bool
set_flag(key, value) None
build() Buffer

Builds element buffer

Returns:

Element buffer

class_base_tag = 'BaseElement'
deselect() None

Sets widget state to “ElementState.MISSED”

abstract get_size() Size
abstract render() str | List[Buffer]

Builds element contents

Returns:

String if the widget is last one, else elements list

select() None

Sets widget state to “ElementState.SELECTED”

set_fixed_size(*args, **kwargs)
set_floating_size()
abstract update() Any

Updates element state

shellui.ui.board module

class shellui.ui.board.BaseFlags(*args, **kwargs)

Bases: BaseFlags

isActiveElement: bool
class shellui.ui.board.Button(*args, **kwargs)

Bases: Label

Represents graphical button element

class_base_tag = 'Button'
class shellui.ui.board.CheckBox(*args, **kwargs)

Bases: Label

Represents graphical checkbox element

class_base_tag = 'CheckBox'
get_size()
isChecked()
on_click(key)
render()

Builds element contents

Returns:

String if the widget is last one, else elements list

class shellui.ui.board.HLayout(*args, **kwargs)

Bases: Layout

Represents a vertical layout

class_base_tag = 'HLayout'
class shellui.ui.board.Label(*args, **kwargs)

Bases: Widget

Represents graphic text label element

class_base_tag = 'Label'
get_size()
render()

Builds element contents

Returns:

String if the widget is last one, else elements list

set_text(text: str)
class shellui.ui.board.Layout(*args, **kwargs)

Bases: AbstractLayout

class_base_tag = 'Layout'
deselect()

Sets widget state to “ElementState.MISSED”

get_size()
key_down(key) bool
key_up(key) bool
on_click(key) Any
select()

Sets widget state to “ElementState.SELECTED”

update()

Updates element state

class shellui.ui.board.VLayout(*args, **kwargs)

Bases: Layout

Represents a vertical layout

class_base_tag = 'VLayout'
class shellui.ui.board.Widget(*args, **kwargs)

Bases: AbstractWidget

Represents abstract class of widget for layout

class_base_tag = 'Widget'
get_size() Size
on_click(key: int) Any
render()

Builds element contents

Returns:

String if the widget is last one, else elements list

update()

Updates element state

shellui.ui.root module

class shellui.ui.root.Root(*args, **kwargs)

Bases: Layout

Represents link between layout and terminal

read_keys()

Reads key in terminal and sends it to layout’s key_pressed event

refresh() None

Sets rendering buffer for terminal and builds layout’s element buffer

render()

Builds element contents

Returns:

String if the widget is last one, else elements list

set_layout(layout: BaseElement) None

Sets main layout for root

update()

Updates layout’s element state