diff --git a/crates/app/src/api.rs b/crates/app/src/api.rs index 08e4b5a0..a5e414da 100644 --- a/crates/app/src/api.rs +++ b/crates/app/src/api.rs @@ -8,7 +8,24 @@ macro_rules! cmd { ($cmd:expr) => {{ $cmd; None }}; } macro_rules! cmd_todo { ($msg:literal) => {{ println!($msg); None }}; } expose!([self: Tek] - ([bool]) + ([bool] + (":mode-editor" self.is_editing()) + (":mode-clip" !self.is_editing() && self.selected.is_clip()) + (":mode-track" !self.is_editing() && self.selected.is_track()) + (":mode-scene" !self.is_editing() && self.selected.is_scene()) + (":mode-mix" !self.is_editing() && self.selected.is_mix()) + (":mode-pool-import" matches!( + self.pool.as_ref().map(|p|p.mode.as_ref()).flatten(), + Some(PoolMode::Import(..)))) + (":mode-pool-export" matches!( + self.pool.as_ref().map(|p|p.mode.as_ref()).flatten(), + Some(PoolMode::Export(..)))) + (":mode-pool-rename" matches!( + self.pool.as_ref().map(|p|p.mode.as_ref()).flatten(), + Some(PoolMode::Rename(..)))) + (":mode-pool-length" matches!( + self.pool.as_ref().map(|p|p.mode.as_ref()).flatten(), + Some(PoolMode::Length(..))))) ([isize]) ([Color]) ([Arc>])