diff options
Diffstat (limited to 'src/views/main.rs')
-rw-r--r-- | src/views/main.rs | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/views/main.rs b/src/views/main.rs index 98b8849..e1e9f1d 100644 --- a/src/views/main.rs +++ b/src/views/main.rs @@ -43,35 +43,47 @@ impl MainView { self.tabs.add_tab_for_query(self.rt.clone(), query) } - pub fn get_current_tab(&self) -> Option<&cursive_multiplex::Mux> { + pub fn get_current_tab(&self) -> Option<&crate::tabs::Tab> { + debug!("Getting current tab"); if let Some(mux) = self.tabs.get_active_tab() { - mux.downcast_ref::<cursive_multiplex::Mux>() + debug!("Found current tab, returning mux: {:?}", mux.type_id()); + mux.downcast_ref::<crate::tabs::Tab>() } else { + debug!("No current tab found"); None } } pub fn get_current_mux(&self) -> Option<&Box<dyn cursive::View>> { - if let Some(mux) = self.get_current_tab() { - return mux.get_current_view() + debug!("Get current mux"); + if let Some(tab) = self.get_current_tab() { + debug!("Some(mux) found, getting current view"); + return tab.mux().get_current_view() } + debug!("No mux found"); None } - pub fn get_current_tab_mut(&mut self) -> Option<&mut cursive_multiplex::Mux> { + pub fn get_current_tab_mut(&mut self) -> Option<&mut crate::tabs::Tab> { + debug!("Getting current tab (mut)"); if let Some(mux) = self.tabs.get_active_tab_mut() { - mux.downcast_mut::<cursive_multiplex::Mux>() + debug!("Got current tab (mut), casting ot crate::tabs::Tab"); + mux.downcast_mut::<crate::tabs::Tab>() } else { + debug!("Did not get current tab (mut)"); None } } pub fn get_current_mux_mut(&mut self) -> Option<&mut Box<dyn cursive::View>> { - if let Some(mut mux) = self.get_current_tab_mut() { - return mux.get_current_view_mut() + debug!("Getting current tab (mut)"); + if let Some(mut tab) = self.get_current_tab_mut() { + debug!("Got current tab (mut), getting view from mux (mut)"); + return tab.mux_mut().get_current_view_mut() } + debug!("Did not get current tab (mut))"); None } |