generated from dopt-python/py311
generic typing of field definitions and value getter function for single widgets
This commit is contained in:
@@ -4,12 +4,17 @@ import dataclasses as dc
|
||||
import enum
|
||||
import uuid
|
||||
from collections.abc import Sequence
|
||||
from typing import Any, Final
|
||||
from typing import TYPE_CHECKING, Any, Final, Generic, TypeVar
|
||||
|
||||
import babel
|
||||
|
||||
from wce_crm.custom_widget_registry import CUSTOM_WIDGET_NAMES
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from PySide6.QtWidgets import QWidget
|
||||
|
||||
T = TypeVar("T", bound="QWidget")
|
||||
|
||||
|
||||
class FormFieldType(enum.StrEnum):
|
||||
GROUP = enum.auto()
|
||||
@@ -31,7 +36,7 @@ class FormFieldType(enum.StrEnum):
|
||||
|
||||
|
||||
@dc.dataclass(slots=True)
|
||||
class FormField:
|
||||
class FormField(Generic[T]):
|
||||
label: str
|
||||
type: FormFieldType
|
||||
children: Sequence[FormField] = dc.field(default_factory=list)
|
||||
|
||||
Reference in New Issue
Block a user