Source code for simvx.core.ui.enums
"""UI enums — FocusMode, AnchorPreset, SizeFlags."""
from enum import IntEnum, IntFlag
__all__ = ["FocusMode", "AnchorPreset", "SizeFlags"]
[docs]
class FocusMode(IntEnum):
"""Determines how a control receives keyboard focus."""
NONE = 0 # Cannot receive focus
CLICK = 1 # Focus on click only
ALL = 2 # Focus on click and tab navigation
[docs]
class AnchorPreset(IntEnum):
"""Common anchor configurations for quick layout."""
TOP_LEFT = 0
TOP_RIGHT = 1
BOTTOM_LEFT = 2
BOTTOM_RIGHT = 3
CENTER_LEFT = 4
CENTER_RIGHT = 5
CENTER_TOP = 6
CENTER_BOTTOM = 7
CENTER = 8
LEFT_WIDE = 9
RIGHT_WIDE = 10
TOP_WIDE = 11
BOTTOM_WIDE = 12
FULL_RECT = 15
[docs]
class SizeFlags(IntFlag):
"""Controls how a widget behaves inside a container layout.
Composable via bitwise OR: ``SizeFlags.EXPAND | SizeFlags.FILL``.
"""
SHRINK_BEGIN = 0
FILL = 1
EXPAND = 2
EXPAND_FILL = 3 # EXPAND | FILL
SHRINK_CENTER = 4
SHRINK_END = 8