Fix generic UIs after last commit
This commit is contained in:
parent
c22e522629
commit
d5d54f0c06
2 changed files with 6 additions and 14 deletions
|
@ -41,24 +41,19 @@ pub fn create(
|
||||||
setter: &ParamSetter,
|
setter: &ParamSetter,
|
||||||
widget: impl ParamWidget,
|
widget: impl ParamWidget,
|
||||||
) {
|
) {
|
||||||
let param_map = params.param_map();
|
|
||||||
let param_ids = params.param_ids();
|
|
||||||
|
|
||||||
let padding = Vec2::splat(ui.text_style_height(&TextStyle::Body) * 0.2);
|
let padding = Vec2::splat(ui.text_style_height(&TextStyle::Body) * 0.2);
|
||||||
egui::containers::ScrollArea::vertical()
|
egui::containers::ScrollArea::vertical()
|
||||||
// Take up all remaining space, use a wrapper container to adjust how much space that is
|
// Take up all remaining space, use a wrapper container to adjust how much space that is
|
||||||
.auto_shrink([false, false])
|
.auto_shrink([false, false])
|
||||||
.show(ui, |ui| {
|
.show(ui, |ui| {
|
||||||
for (widget_idx, id) in param_ids.into_iter().enumerate() {
|
for (widget_idx, (_, param_ptr, _)) in params.param_map().into_iter().enumerate() {
|
||||||
let param = param_map[&id];
|
|
||||||
|
|
||||||
// This list looks weird without a little padding
|
// This list looks weird without a little padding
|
||||||
if widget_idx > 0 {
|
if widget_idx > 0 {
|
||||||
ui.allocate_space(padding);
|
ui.allocate_space(padding);
|
||||||
}
|
}
|
||||||
|
|
||||||
ui.label(unsafe { param.name() });
|
ui.label(unsafe { param_ptr.name() });
|
||||||
unsafe { widget.add_widget_raw(ui, ¶m, setter) };
|
unsafe { widget.add_widget_raw(ui, ¶m_ptr, setter) };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,18 +166,15 @@ where
|
||||||
.padding(padding)
|
.padding(padding)
|
||||||
.align_items(Alignment::Center);
|
.align_items(Alignment::Center);
|
||||||
|
|
||||||
let param_map = self.params.param_map();
|
|
||||||
let param_ids = self.params.param_ids();
|
|
||||||
|
|
||||||
// Make sure we already have widget state for each widget
|
// Make sure we already have widget state for each widget
|
||||||
for param_ptr in param_map.values() {
|
let param_map = self.params.param_map();
|
||||||
|
for (_, param_ptr, _) in ¶m_map {
|
||||||
if !widget_state.contains_key(param_ptr) {
|
if !widget_state.contains_key(param_ptr) {
|
||||||
widget_state.insert(*param_ptr, Default::default());
|
widget_state.insert(*param_ptr, Default::default());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for param_id in param_ids {
|
for (_, param_ptr, _) in param_map {
|
||||||
let param_ptr = param_map[¶m_id];
|
|
||||||
// SAFETY: We only borrow each item once, and the plugin framework statically asserted
|
// SAFETY: We only borrow each item once, and the plugin framework statically asserted
|
||||||
// that parameter indices are unique and this widget state cannot outlive this
|
// that parameter indices are unique and this widget state cannot outlive this
|
||||||
// function
|
// function
|
||||||
|
|
Loading…
Add table
Reference in a new issue