pyqt_reactive.widgets.shared.tree_state_adapter

Tree expansion/selection state synchronization.

Classes

DictPayloadTreeItemKeyBuilder()

Default key builder for items with dict payload metadata.

TreeItemKeyBuilderABC()

Build stable keys for tree items.

TreeStateAdapter(key_builder)

Capture/restore tree expansion and selection state by item keys.

class pyqt_reactive.widgets.shared.tree_state_adapter.TreeItemKeyBuilderABC[source]

Build stable keys for tree items.

abstractmethod item_segment_key(item: QTreeWidgetItem) str[source]

Return one path segment for an item.

class pyqt_reactive.widgets.shared.tree_state_adapter.DictPayloadTreeItemKeyBuilder[source]

Default key builder for items with dict payload metadata.

item_segment_key(item: QTreeWidgetItem) str[source]

Return one path segment for an item.

class pyqt_reactive.widgets.shared.tree_state_adapter.TreeStateAdapter(key_builder: TreeItemKeyBuilderABC)[source]

Capture/restore tree expansion and selection state by item keys.

__init__(key_builder: TreeItemKeyBuilderABC) None[source]
classmethod default() TreeStateAdapter[source]

Build the default dict-payload tree state adapter.

item_tree_key(item: QTreeWidgetItem) str[source]
capture_expansion_state(tree: QTreeWidget) Dict[str, bool][source]
restore_expansion_state(tree: QTreeWidget, state: Dict[str, bool]) None[source]
capture_selected_keys(tree: QTreeWidget) Set[str][source]
restore_selected_keys(tree: QTreeWidget, selected_keys: Set[str]) None[source]