dash-frontend: popup manager
This commit is contained in:
@@ -8,8 +8,10 @@ use wgui::{
|
||||
};
|
||||
|
||||
use crate::{
|
||||
frontend::FrontendTask,
|
||||
tab::{Tab, TabParams, TabType},
|
||||
util::{self, desktop_finder::DesktopEntry},
|
||||
views,
|
||||
};
|
||||
|
||||
pub struct TabApps {
|
||||
@@ -95,10 +97,14 @@ impl AppList {
|
||||
let data = parser_state.parse_template(doc_params, "AppEntry", params.layout, list_parent.id, template_params)?;
|
||||
|
||||
let button = data.fetch_component_as::<ComponentButton>("button")?;
|
||||
button.on_click(Box::new(move |_common, _evt| {
|
||||
log::info!("click");
|
||||
Ok(())
|
||||
}));
|
||||
|
||||
button.on_click({
|
||||
let frontend = params.frontend.clone();
|
||||
Box::new(move |_common, _evt| {
|
||||
frontend.borrow_mut().push_task(FrontendTask::MountPopup);
|
||||
Ok(())
|
||||
})
|
||||
});
|
||||
|
||||
self.data.push(data);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ use wgui::{
|
||||
layout::{Layout, WidgetID},
|
||||
};
|
||||
|
||||
use crate::frontend::{FrontendTask, RcFrontend};
|
||||
use crate::frontend::{FrontendTask, FrontendWidgets, RcFrontend};
|
||||
|
||||
pub mod apps;
|
||||
pub mod games;
|
||||
@@ -30,6 +30,7 @@ pub struct TabParams<'a> {
|
||||
pub layout: &'a mut Layout,
|
||||
pub parent_id: WidgetID,
|
||||
pub frontend: &'a RcFrontend,
|
||||
pub frontend_widgets: &'a FrontendWidgets,
|
||||
pub settings: &'a mut crate::settings::Settings,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user