mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-10 21:56:42 +01:00
wip: refactor pt.9, 403 errors
This commit is contained in:
parent
a784f7a6f2
commit
8aa1ba8d0f
29 changed files with 1008 additions and 902 deletions
|
|
@ -1,39 +1,44 @@
|
|||
use crate::*;
|
||||
|
||||
pub struct App<E, T, C, S>
|
||||
pub struct App<T, E, C, U, A, S>
|
||||
where
|
||||
E: Engine,
|
||||
T: Widget<Engine = E> + Handle<E> + Audio,
|
||||
C: Command<T>,
|
||||
S: Widget<Engine = E>
|
||||
U: From<Arc<RwLock<T>>> + Widget<Engine = E> + Handle<E>,
|
||||
A: From<Arc<RwLock<T>>> + Audio,
|
||||
S: From<Arc<RwLock<T>>> + StatusBar<E>
|
||||
{
|
||||
state: T,
|
||||
cursor: (usize, usize),
|
||||
entered: bool,
|
||||
menu_bar: Option<MenuBar<E, T, C>>,
|
||||
status_bar: Option<S>
|
||||
status_bar: Option<S>,
|
||||
history: Vec<C>,
|
||||
size: Measure<E>,
|
||||
ui: U,
|
||||
audio: A,
|
||||
model: Arc<RwLock<T>>,
|
||||
}
|
||||
|
||||
impl App<Tui, TransportView<Tui>, TransportViewCommand, TransportStatusBar> {
|
||||
fn new () -> Self {
|
||||
impl<T, E, C, U, A, S> From<T> for App<T, E, C, U, A, S>
|
||||
where
|
||||
E: Engine,
|
||||
C: Command<T>,
|
||||
U: From<Arc<RwLock<T>>> + Widget<Engine = E> + Handle<E>,
|
||||
A: From<Arc<RwLock<T>>> + Audio,
|
||||
S: From<Arc<RwLock<T>>> + Widget<Engine = E>
|
||||
{
|
||||
fn from (model: T) -> Self {
|
||||
let model = Arc::new(RwLock::new(model));
|
||||
Self {
|
||||
state: TransportView {
|
||||
_engine: Default::default(),
|
||||
state: Transport {
|
||||
jack: Default::default(),
|
||||
transport: Default::default(),
|
||||
clock: Default::default(),
|
||||
metronome: false
|
||||
}
|
||||
},
|
||||
cursor: (0, 0),
|
||||
entered: false,
|
||||
menu_bar: None,
|
||||
status_bar: None,
|
||||
history: vec![],
|
||||
size: Default::default(),
|
||||
cursor: (0, 0),
|
||||
entered: false,
|
||||
menu_bar: None,
|
||||
status_bar: None,
|
||||
history: vec![],
|
||||
size: (0, 0).into(),
|
||||
ui: U::from(model.clone()),
|
||||
audio: A::from(model.clone()),
|
||||
model,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue