Remove debug_elements_callbacks
from App
Co-Authored-By: Nathan Sobo <nathan@zed.dev> Co-Authored-By: Max Brunsfeld <max@zed.dev>
This commit is contained in:
parent
bc9c034baa
commit
a25f21df39
1 changed files with 2 additions and 18 deletions
|
@ -761,7 +761,6 @@ pub struct MutableAppContext {
|
||||||
release_observations: Arc<Mutex<HashMap<usize, BTreeMap<usize, ReleaseObservationCallback>>>>,
|
release_observations: Arc<Mutex<HashMap<usize, BTreeMap<usize, ReleaseObservationCallback>>>>,
|
||||||
presenters_and_platform_windows:
|
presenters_and_platform_windows:
|
||||||
HashMap<usize, (Rc<RefCell<Presenter>>, Box<dyn platform::Window>)>,
|
HashMap<usize, (Rc<RefCell<Presenter>>, Box<dyn platform::Window>)>,
|
||||||
debug_elements_callbacks: HashMap<usize, Box<dyn Fn(&AppContext) -> crate::json::Value>>,
|
|
||||||
foreground: Rc<executor::Foreground>,
|
foreground: Rc<executor::Foreground>,
|
||||||
pending_effects: VecDeque<Effect>,
|
pending_effects: VecDeque<Effect>,
|
||||||
pending_notifications: HashSet<usize>,
|
pending_notifications: HashSet<usize>,
|
||||||
|
@ -808,7 +807,6 @@ impl MutableAppContext {
|
||||||
observations: Default::default(),
|
observations: Default::default(),
|
||||||
release_observations: Default::default(),
|
release_observations: Default::default(),
|
||||||
presenters_and_platform_windows: HashMap::new(),
|
presenters_and_platform_windows: HashMap::new(),
|
||||||
debug_elements_callbacks: HashMap::new(),
|
|
||||||
foreground,
|
foreground,
|
||||||
pending_effects: VecDeque::new(),
|
pending_effects: VecDeque::new(),
|
||||||
pending_notifications: HashSet::new(),
|
pending_notifications: HashSet::new(),
|
||||||
|
@ -852,7 +850,6 @@ impl MutableAppContext {
|
||||||
pub fn remove_all_windows(&mut self) {
|
pub fn remove_all_windows(&mut self) {
|
||||||
for (window_id, _) in self.cx.windows.drain() {
|
for (window_id, _) in self.cx.windows.drain() {
|
||||||
self.presenters_and_platform_windows.remove(&window_id);
|
self.presenters_and_platform_windows.remove(&window_id);
|
||||||
self.debug_elements_callbacks.remove(&window_id);
|
|
||||||
}
|
}
|
||||||
self.flush_effects();
|
self.flush_effects();
|
||||||
}
|
}
|
||||||
|
@ -873,18 +870,10 @@ impl MutableAppContext {
|
||||||
&self.cx.background
|
&self.cx.background
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn on_debug_elements<F>(&mut self, window_id: usize, callback: F)
|
|
||||||
where
|
|
||||||
F: 'static + Fn(&AppContext) -> crate::json::Value,
|
|
||||||
{
|
|
||||||
self.debug_elements_callbacks
|
|
||||||
.insert(window_id, Box::new(callback));
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn debug_elements(&self, window_id: usize) -> Option<crate::json::Value> {
|
pub fn debug_elements(&self, window_id: usize) -> Option<crate::json::Value> {
|
||||||
self.debug_elements_callbacks
|
self.presenters_and_platform_windows
|
||||||
.get(&window_id)
|
.get(&window_id)
|
||||||
.map(|debug_elements| debug_elements(&self.cx))
|
.and_then(|(presenter, _)| presenter.borrow().debug_elements(self))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn add_action<A, V, F>(&mut self, handler: F)
|
pub fn add_action<A, V, F>(&mut self, handler: F)
|
||||||
|
@ -1404,7 +1393,6 @@ impl MutableAppContext {
|
||||||
pub fn remove_window(&mut self, window_id: usize) {
|
pub fn remove_window(&mut self, window_id: usize) {
|
||||||
self.cx.windows.remove(&window_id);
|
self.cx.windows.remove(&window_id);
|
||||||
self.presenters_and_platform_windows.remove(&window_id);
|
self.presenters_and_platform_windows.remove(&window_id);
|
||||||
self.debug_elements_callbacks.remove(&window_id);
|
|
||||||
self.flush_effects();
|
self.flush_effects();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1456,10 +1444,6 @@ impl MutableAppContext {
|
||||||
|
|
||||||
self.presenters_and_platform_windows
|
self.presenters_and_platform_windows
|
||||||
.insert(window_id, (presenter.clone(), window));
|
.insert(window_id, (presenter.clone(), window));
|
||||||
|
|
||||||
self.on_debug_elements(window_id, move |cx| {
|
|
||||||
presenter.borrow().debug_elements(cx).unwrap()
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn build_presenter(&mut self, window_id: usize, titlebar_height: f32) -> Presenter {
|
pub fn build_presenter(&mut self, window_id: usize, titlebar_height: f32) -> Presenter {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue