Refactor the WidgetLayout struct to remove SubLayout and avoid sending LayoutTarget to frontend

This commit is contained in:
Keavon Chambers
2025-12-04 02:44:54 -08:00
parent 4581689d9c
commit 3c4ad8b720
50 changed files with 207 additions and 247 deletions
@@ -220,7 +220,7 @@ impl LayoutHolder for BrushTool {
.widget_instance(),
);
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -151,7 +151,7 @@ impl LayoutHolder for FreehandTool {
widgets.push(Separator::new(SeparatorType::Unrelated).widget_instance());
widgets.push(create_weight_widget(self.options.line_weight));
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -107,7 +107,7 @@ impl LayoutHolder for GradientTool {
.selected_index(Some((self.selected_gradient().unwrap_or(self.options.gradient_type) == GradientType::Radial) as u32))
.widget_instance();
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets: vec![gradient_type] }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets: vec![gradient_type] }]))
}
}
@@ -342,7 +342,7 @@ impl LayoutHolder for PathTool {
let _pin_pivot = pin_pivot_widget(self.tool_data.pivot_gizmo.pin_active(), false, PivotToolSource::Path);
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row {
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row {
widgets: vec![
x_location,
related_seperator.clone(),
@@ -238,7 +238,7 @@ impl LayoutHolder for PenTool {
.widget_instance(),
);
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -252,14 +252,14 @@ impl LayoutHolder for SelectTool {
widgets.extend(self.alignment_widgets(disabled));
// widgets.push(
// PopoverButton::new()
// .popover_layout(vec![
// .popover_layout(WidgetLayout(vec![
// LayoutGroup::Row {
// widgets: vec![TextLabel::new("Align").bold(true).widget_instance()],
// },
// LayoutGroup::Row {
// widgets: vec![TextLabel::new("Coming soon").widget_instance()],
// },
// ])
// ]))
// .disabled(disabled)
// .widget_instance(),
// );
@@ -277,7 +277,7 @@ impl LayoutHolder for SelectTool {
widgets.push(Separator::new(SeparatorType::Unrelated).widget_instance());
widgets.extend(self.boolean_widgets(self.tool_data.selected_layers_count));
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -335,7 +335,7 @@ impl LayoutHolder for ShapeTool {
widgets.push(Separator::new(SeparatorType::Unrelated).widget_instance());
widgets.push(create_weight_widget(self.options.line_weight));
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -158,7 +158,7 @@ impl LayoutHolder for SplineTool {
widgets.push(Separator::new(SeparatorType::Unrelated).widget_instance());
widgets.push(create_weight_widget(self.options.line_weight));
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}
@@ -203,7 +203,7 @@ impl LayoutHolder for TextTool {
},
));
Layout::WidgetLayout(WidgetLayout::new(vec![LayoutGroup::Row { widgets }]))
Layout::WidgetLayout(WidgetLayout(vec![LayoutGroup::Row { widgets }]))
}
}