Source code for ClearMap.Utils.events

from dataclasses import dataclass
from typing import Tuple, List, Any, Optional, Dict

# Intent may not actually materialize in the config
[docs] @dataclass(frozen=True) class UiChannelRenamed: old: str new: str
[docs] @dataclass(frozen=True) class UiChannelsChanged: before: List[str] after: List[str]
# Fact: actual change in the config
[docs] @dataclass(frozen=True) class ChannelRenamed: old: str new: str
[docs] @dataclass(frozen=True) class ChannelsChanged: before: List[str] after: List[str]
[docs] @dataclass(frozen=True) class ChannelsSnapshot: names: List[str]
[docs] @dataclass(frozen=True) class ChannelDefaultsChanged: partners: Dict[str, Dict[str, Optional[str]]]
[docs] @dataclass(frozen=True) class WorkspaceChanged: exp_dir: str
[docs] @dataclass(frozen=True) class UiOrientationChanged: channel_name: str orientation: Tuple[int, int, int]
[docs] @dataclass(frozen=True) class UiCropChanged: channel_name: str slice_x: Any slice_y: Any slice_z: Any
[docs] @dataclass(frozen=True) class UiPrepareRawDataForClearMap: channel_name: str
[docs] @dataclass(frozen=True) class UiRequestPlotMiniBrain: channel_index: int
[docs] @dataclass(frozen=True) class UiRequestPlotAtlas: channel_index: int
[docs] @dataclass(frozen=True) class UiRequestLandmarksDialog: page_index: int
[docs] @dataclass(frozen=True) class UiLayoutChannelChanged: channel_name: str layout_channel: str
[docs] @dataclass(frozen=True) class UiUseExistingLayoutChanged: channel_name: str use_existing: bool
[docs] @dataclass(frozen=True) class UiAlignWithChanged: channel_name: str align_with: Optional[str]
[docs] @dataclass(frozen=True) class UiAtlasIdChanged: atlas_base_name: str
[docs] @dataclass(frozen=True) class UiAtlasStructureTreeIdChanged: tree_id: str
[docs] @dataclass(frozen=True) class UiVesselGraphFiltersChanged: pass
[docs] @dataclass(frozen=True) class TabsUpdated: titles: List[str] tabs: List[Any]
[docs] @dataclass(frozen=True) class UiTabActivated: key: str
[docs] @dataclass(frozen=True) class TabActivationResult: key: str ok: bool message: str
[docs] @dataclass(frozen=True) class UiRequestRefreshTabs: pass
# App/domain → UI notifications
[docs] @dataclass(frozen=True) class CfgChanged: changed_keys: Tuple[str, ...]
[docs] @dataclass(frozen=True) class RegistrationStatusChanged: pass
[docs] @dataclass(frozen=True) class UiBatchResultsFolderChanged: folder: str
[docs] @dataclass(frozen=True) class UiBatchGroupsChanged: groups: Dict[str, List[str]]