TUI rendering mostly working

This commit is contained in:
Evan Almloff committed 2023-02-01 14:36:56 -06:00
1 parent 39a3db68bd
commit 71a0bdf71d
8 files changed
+20 -44

No files matched your search

+9
View File
@@ -610,6 +610,7 @@ pub trait NodeImmutable<V: FromAnyValue + Send + Sync>: Sized {
pub trait NodeMutable<V: FromAnyValue + Send + Sync>: Sized + NodeImmutable<V> {
fn get_mut<T: Any + Sync + Send>(&mut self) -> Option<&mut T>;
fn insert<T: Any + Sync + Send>(&mut self, value: T);
}
#[derive(Clone, Copy)]
@@ -648,6 +649,10 @@ impl<'a, V: FromAnyValue + Send + Sync> NodeMutable<V> for NodeMut<'a, V> {
fn get_mut<T: Any + Sync + Send>(&mut self) -> Option<&mut T> {
todo!("get_mut with mark as dirty")
}
fn insert<T: Any + Sync + Send>(&mut self, _: T) {
todo!("insert with mark as dirty")
}
}
impl<'a, V: FromAnyValue + Send + Sync> NodeMut<'a, V> {
@@ -777,4 +782,8 @@ impl<'a, V: FromAnyValue + Send + Sync> NodeMutable<V> for NodeMutRaw<'a, V> {
fn get_mut<T: Any + Sync + Send>(&mut self) -> Option<&mut T> {
self.dom.tree.get_mut::<T>(self.id)
}
fn insert<T: Any + Sync + Send>(&mut self, value: T) {
self.dom.tree.insert(self.id, value);
}
}