pyqt_reactive.widgets.shared.manager_list_updater
List update pipeline for AbstractManagerWidget.
Classes
|
Nominal operation port consumed by ManagerListUpdater. |
|
Current and desired list state for one manager update pass. |
Owns the list-widget update phases for manager widgets. |
- class pyqt_reactive.widgets.shared.manager_list_updater.ManagerListUpdateOperations(item_list: QListWidget, backing_items: list[ListItemT], item_id: Callable[[ListItemT], str], should_preserve_selection: Callable[[], bool], placeholder: Callable[[], tuple[str, PlaceholderDataT] | None], prepare_update: Callable[[], UpdateContextT], clear_scope_cache: Callable[[], None], subscribed_scope_ids: Callable[[], set[str]], scope_for_item: Callable[[ListItemT], str], cleanup_flash_subscriptions: Callable[[], None], clear_scope_to_list_item: Callable[[], None], format_item: Callable[[ListItemT, int, UpdateContextT], DisplayTextT], should_refresh_text_for_scope_change: Callable[[ListItemT, set[str]], bool], list_item_data_for: Callable[[ListItemT, int], ListItemDataT], tooltip_for: Callable[[ListItemT], str], extra_data_for: Callable[[ListItemT, int], dict[int, RoleValueT]], set_styling_roles: Callable[[QListWidgetItem, DisplayTextT, ListItemT], None], refresh_styling_roles: Callable[[QListWidgetItem, ListItemT], None], apply_scope_color: Callable[[QListWidgetItem, ListItemT, int], None], subscribe_flash: Callable[[ListItemT, QListWidgetItem, str], None], post_update: Callable[[], None], update_button_states: Callable[[], None])[source]
Nominal operation port consumed by ManagerListUpdater.
- item_list: QListWidget
- __init__(item_list: QListWidget, backing_items: list[ListItemT], item_id: Callable[[ListItemT], str], should_preserve_selection: Callable[[], bool], placeholder: Callable[[], tuple[str, PlaceholderDataT] | None], prepare_update: Callable[[], UpdateContextT], clear_scope_cache: Callable[[], None], subscribed_scope_ids: Callable[[], set[str]], scope_for_item: Callable[[ListItemT], str], cleanup_flash_subscriptions: Callable[[], None], clear_scope_to_list_item: Callable[[], None], format_item: Callable[[ListItemT, int, UpdateContextT], DisplayTextT], should_refresh_text_for_scope_change: Callable[[ListItemT, set[str]], bool], list_item_data_for: Callable[[ListItemT, int], ListItemDataT], tooltip_for: Callable[[ListItemT], str], extra_data_for: Callable[[ListItemT, int], dict[int, RoleValueT]], set_styling_roles: Callable[[QListWidgetItem, DisplayTextT, ListItemT], None], refresh_styling_roles: Callable[[QListWidgetItem, ListItemT], None], apply_scope_color: Callable[[QListWidgetItem, ListItemT, int], None], subscribe_flash: Callable[[ListItemT, 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[ListItemT], current_count: int, subscribed_scope_ids: set[str])[source]
Current and desired list state for one manager update pass.
- scopes_changed(operations: ManagerListUpdateOperations[ListItemT, UpdateContextT, DisplayTextT, ListItemDataT, PlaceholderDataT, RoleValueT]) → bool[source]
- can_update_in_place(operations: ManagerListUpdateOperations[ListItemT, UpdateContextT, DisplayTextT, ListItemDataT, PlaceholderDataT, RoleValueT]) → bool[source]
- class pyqt_reactive.widgets.shared.manager_list_updater.ManagerListUpdater[source]
Owns the list-widget update phases for manager widgets.
- update(operations: ManagerListUpdateOperations[ListItemT, UpdateContextT, DisplayTextT, ListItemDataT, PlaceholderDataT, RoleValueT]) → None[source]
- refresh_scopes(operations: ManagerListUpdateOperations[ListItemT, UpdateContextT, DisplayTextT, ListItemDataT, PlaceholderDataT, RoleValueT], scope_ids: set[str], changed_paths_by_scope: dict[str, set[str]] | None = None) → bool[source]
Refresh visual roles for existing rows addressed by ObjectState scope.