pub struct AppModel {
pub active_window: WindowId,
pub windows: IndexMap<WindowId, WindowRecord>,
pub workspaces: IndexMap<WorkspaceId, Workspace>,
}Fields§
§active_window: WindowId§windows: IndexMap<WindowId, WindowRecord>§workspaces: IndexMap<WorkspaceId, Workspace>Implementations§
Source§impl AppModel
impl AppModel
pub fn new(label: impl Into<String>) -> Self
pub fn demo() -> Self
pub fn active_window(&self) -> Option<&WindowRecord>
pub fn active_workspace_id(&self) -> Option<WorkspaceId>
pub fn active_workspace(&self) -> Option<&Workspace>
pub fn create_workspace(&mut self, label: impl Into<String>) -> WorkspaceId
pub fn rename_workspace( &mut self, workspace_id: WorkspaceId, label: impl Into<String>, ) -> Result<(), DomainError>
pub fn switch_workspace( &mut self, window_id: WindowId, workspace_id: WorkspaceId, ) -> Result<(), DomainError>
pub fn create_workspace_window( &mut self, workspace_id: WorkspaceId, direction: Direction, ) -> Result<PaneId, DomainError>
pub fn split_pane( &mut self, workspace_id: WorkspaceId, target_pane: Option<PaneId>, axis: SplitAxis, ) -> Result<PaneId, DomainError>
pub fn focus_workspace_window( &mut self, workspace_id: WorkspaceId, workspace_window_id: WorkspaceWindowId, ) -> Result<(), DomainError>
pub fn focus_pane( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, ) -> Result<(), DomainError>
pub fn acknowledge_pane_notifications( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, ) -> Result<(), DomainError>
pub fn mark_surface_completed( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, surface_id: SurfaceId, ) -> Result<(), DomainError>
pub fn focus_pane_direction( &mut self, workspace_id: WorkspaceId, direction: Direction, ) -> Result<(), DomainError>
pub fn resize_active_window( &mut self, workspace_id: WorkspaceId, direction: Direction, amount: i32, ) -> Result<(), DomainError>
pub fn resize_active_pane_split( &mut self, workspace_id: WorkspaceId, direction: Direction, amount: i32, ) -> Result<(), DomainError>
pub fn set_workspace_window_frame( &mut self, workspace_id: WorkspaceId, workspace_window_id: WorkspaceWindowId, frame: WindowFrame, ) -> Result<(), DomainError>
pub fn set_window_split_ratio( &mut self, workspace_id: WorkspaceId, workspace_window_id: WorkspaceWindowId, path: &[bool], ratio: u16, ) -> Result<(), DomainError>
pub fn set_workspace_viewport( &mut self, workspace_id: WorkspaceId, viewport: WorkspaceViewport, ) -> Result<(), DomainError>
pub fn update_pane_metadata( &mut self, pane_id: PaneId, patch: PaneMetadataPatch, ) -> Result<(), DomainError>
pub fn update_surface_metadata( &mut self, surface_id: SurfaceId, patch: PaneMetadataPatch, ) -> Result<(), DomainError>
pub fn apply_signal( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, event: SignalEvent, ) -> Result<(), DomainError>
pub fn apply_surface_signal( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, surface_id: SurfaceId, event: SignalEvent, ) -> Result<(), DomainError>
pub fn create_surface( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, kind: PaneKind, ) -> Result<SurfaceId, DomainError>
pub fn focus_surface( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, surface_id: SurfaceId, ) -> Result<(), DomainError>
pub fn close_surface( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, surface_id: SurfaceId, ) -> Result<(), DomainError>
pub fn close_pane( &mut self, workspace_id: WorkspaceId, pane_id: PaneId, ) -> Result<(), DomainError>
pub fn close_workspace( &mut self, workspace_id: WorkspaceId, ) -> Result<(), DomainError>
pub fn workspace_summaries( &self, window_id: WindowId, ) -> Result<Vec<WorkspaceSummary>, DomainError>
pub fn activity_items(&self) -> Vec<ActivityItem>
pub fn snapshot(&self) -> PersistedSession
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AppModel
impl<'de> Deserialize<'de> for AppModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for AppModel
impl StructuralPartialEq for AppModel
Auto Trait Implementations§
impl Freeze for AppModel
impl RefUnwindSafe for AppModel
impl Send for AppModel
impl Sync for AppModel
impl Unpin for AppModel
impl UnsafeUnpin for AppModel
impl UnwindSafe for AppModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.