Make RadioInput accept optional selected_index

This commit is contained in:
Keavon Chambers
2023-09-11 15:40:05 -07:00
parent b29acbd784
commit 88bdf9580f
12 changed files with 23 additions and 23 deletions
@@ -94,7 +94,7 @@ impl ToolColorOptions {
entry
})
.collect();
let radio = RadioInput::new(entries).selected_index(self.color_type.clone() as u32).widget_holder();
let radio = RadioInput::new(entries).selected_index(Some(self.color_type.clone() as u32)).widget_holder();
widgets.push(radio);
widgets.push(Separator::new(SeparatorType::Related).widget_holder());
@@ -186,7 +186,7 @@ impl LayoutHolder for BrushTool {
.into_iter()
.map(|draw_mode| RadioEntryData::new(format!("{draw_mode:?}")).on_update(move |_| BrushToolMessage::UpdateOptions(BrushToolMessageOptionsUpdate::DrawMode(draw_mode)).into()))
.collect();
widgets.push(RadioInput::new(draw_mode_entries).selected_index(self.options.draw_mode as u32).widget_holder());
widgets.push(RadioInput::new(draw_mode_entries).selected_index(Some(self.options.draw_mode as u32)).widget_holder());
widgets.push(Separator::new(SeparatorType::Section).widget_holder());
@@ -115,7 +115,7 @@ impl LayoutHolder for GradientTool {
.tooltip("Radial Gradient")
.on_update(move |_| GradientToolMessage::UpdateOptions(GradientOptionsUpdate::Type(GradientType::Radial)).into()),
])
.selected_index((self.selected_gradient().unwrap_or(self.options.gradient_type) == GradientType::Radial) as u32)
.selected_index(Some((self.selected_gradient().unwrap_or(self.options.gradient_type) == GradientType::Radial) as u32))
.widget_holder();
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets: vec![gradient_type] }]))
@@ -110,7 +110,7 @@ fn create_star_option_widget(primitive_shape_type: PrimitiveShapeType) -> Widget
RadioEntryData::new("Polygon").on_update(move |_| PolygonToolMessage::UpdateOptions(PolygonOptionsUpdate::PrimitiveShapeType(PrimitiveShapeType::Polygon)).into()),
RadioEntryData::new("Star").on_update(move |_| PolygonToolMessage::UpdateOptions(PolygonOptionsUpdate::PrimitiveShapeType(PrimitiveShapeType::Star)).into()),
];
RadioInput::new(entries).selected_index(primitive_shape_type as u32).widget_holder()
RadioInput::new(entries).selected_index(Some(primitive_shape_type as u32)).widget_holder()
}
fn create_weight_widget(line_weight: f64) -> WidgetHolder {