pyqt_reactive.widgets.shared.manager_list_updater

List update pipeline for AbstractManagerWidget.

Classes

ManagerListUpdateOperations(item_list, ...)

Nominal operation port consumed by ManagerListUpdater.

ManagerListUpdateSnapshot(backing_items, ...)

Current and desired list state for one manager update pass.

ManagerListUpdater()

Owns the list-widget update phases for manager widgets.

class pyqt_reactive.widgets.shared.manager_list_updater.ManagerListUpdateOperations(item_list: Any, backing_items: list[Any], item_id: Callable[[Any], str], should_preserve_selection: Callable[[], bool], placeholder: Callable[[], tuple[str, Any] | None], prepare_update: Callable[[], Any], clear_scope_cache: Callable[[], None], subscribed_scope_ids: Callable[[], set[str]], scope_for_item: Callable[[Any], str], cleanup_flash_subscriptions: Callable[[], None], clear_scope_to_list_item: Callable[[], None], format_item: Callable[[Any, int, Any], Any], list_item_data_for: Callable[[Any, int], Any], tooltip_for: Callable[[Any], str], extra_data_for: Callable[[Any, int], dict[int, Any]], set_styling_roles: Callable[[QListWidgetItem, Any, Any], None], apply_scope_color: Callable[[QListWidgetItem, Any, int], None], subscribe_flash: Callable[[Any, QListWidgetItem, str], None], post_update: Callable[[], None], update_button_states: Callable[[], None])[source]

Nominal operation port consumed by ManagerListUpdater.

item_list: Any
backing_items: list[Any]
item_id: Callable[[Any], str]
should_preserve_selection: Callable[[], bool]
placeholder: Callable[[], tuple[str, Any] | None]
prepare_update: Callable[[], Any]
clear_scope_cache: Callable[[], None]
subscribed_scope_ids: Callable[[], set[str]]
scope_for_item: Callable[[Any], str]
cleanup_flash_subscriptions: Callable[[], None]
clear_scope_to_list_item: Callable[[], None]
format_item: Callable[[Any, int, Any], Any]
list_item_data_for: Callable[[Any, int], Any]
tooltip_for: Callable[[Any], str]
extra_data_for: Callable[[Any, int], dict[int, Any]]
set_styling_roles: Callable[[QListWidgetItem, Any, Any], None]
apply_scope_color: Callable[[QListWidgetItem, Any, int], None]
subscribe_flash: Callable[[Any, QListWidgetItem, str], None]
post_update: Callable[[], None]
update_button_states: Callable[[], None]
__init__(item_list: Any, backing_items: list[Any], item_id: Callable[[Any], str], should_preserve_selection: Callable[[], bool], placeholder: Callable[[], tuple[str, Any] | None], prepare_update: Callable[[], Any], clear_scope_cache: Callable[[], None], subscribed_scope_ids: Callable[[], set[str]], scope_for_item: Callable[[Any], str], cleanup_flash_subscriptions: Callable[[], None], clear_scope_to_list_item: Callable[[], None], format_item: Callable[[Any, int, Any], Any], list_item_data_for: Callable[[Any, int], Any], tooltip_for: Callable[[Any], str], extra_data_for: Callable[[Any, int], dict[int, Any]], set_styling_roles: Callable[[QListWidgetItem, Any, Any], None], apply_scope_color: Callable[[QListWidgetItem, Any, int], None], subscribe_flash: Callable[[Any, QListWidgetItem, str], None], post_update: Callable[[], None], update_button_states: Callable[[], None]) None
class pyqt_reactive.widgets.shared.manager_list_updater.ManagerListUpdateSnapshot(backing_items: list[Any], current_count: int, subscribed_scope_ids: set[str])[source]

Current and desired list state for one manager update pass.

backing_items: list[Any]
current_count: int
subscribed_scope_ids: set[str]
property expected_count: int
scopes_changed(operations: ManagerListUpdateOperations) bool[source]
can_update_in_place(operations: ManagerListUpdateOperations) bool[source]
__init__(backing_items: list[Any], current_count: int, subscribed_scope_ids: set[str]) None
class pyqt_reactive.widgets.shared.manager_list_updater.ManagerListUpdater[source]

Owns the list-widget update phases for manager widgets.

update(operations: ManagerListUpdateOperations) None[source]