mod base;
mod carat;
mod counts;
mod cut_faces;
mod cut_rows;
mod editing;
mod exclusions;
mod format;
mod host;
mod inclusions;
mod inputs;
mod library_link;
mod locate;
mod mesh_task;
mod metrics;
mod obj_import;
mod run;
mod saved;
mod session;
mod shape_worker;
mod view;
use self::host::open_planner;
pub(in crate::gui) use self::host::{
close_planner_window, planner_work_at_risk, refresh_links_enabled,
};
use crate::{MainWindow, RoughPlanModel, bridge::library::source::LibrarySource};
use indicatrix_vault::db::sqlite::Database;
use slint::ComponentHandle;
use std::sync::{Arc, Mutex};
pub(in crate::gui) fn exclusions_changed() {
host::on_host(exclusions::changed);
}
pub(in crate::gui) fn setup_rough_plan_callbacks(
ui: &MainWindow,
db: &Arc<Mutex<Database>>,
source: &Arc<Mutex<LibrarySource>>,
) {
let (weak, db, source) = (ui.as_weak(), Arc::clone(db), Arc::clone(source));
ui.global::<RoughPlanModel>().on_open(move || {
if let Some(ui) = weak.upgrade() {
open_planner(&ui, &db, &source);
}
});
}