use re_ui::UiExt as _;
use re_viewer_context::MaybeMutRef;
pub fn edit_bool(
_ctx: &re_viewer_context::AppContext<'_>,
ui: &mut egui::Ui,
value: &mut MaybeMutRef<'_, impl std::ops::DerefMut<Target = re_sdk_types::encodings::Bool>>,
) -> egui::Response {
let mut value: MaybeMutRef<'_, bool> = match value {
MaybeMutRef::Ref(value) => MaybeMutRef::Ref(value),
MaybeMutRef::MutRef(value) => MaybeMutRef::MutRef(&mut value.deref_mut().0),
};
edit_bool_impl(ui, &mut value)
}
fn edit_bool_impl(ui: &mut egui::Ui, value: &mut MaybeMutRef<'_, bool>) -> egui::Response {
match value {
MaybeMutRef::Ref(value) => {
let mut value_copy: bool = **value;
ui.add_enabled_ui(false, |ui| ui.re_checkbox(&mut value_copy, ""))
.inner
}
MaybeMutRef::MutRef(value) => ui.re_checkbox(value, ""),
}
}