Let's not require people to press a button to edit primitives
This commit is contained in:
@@ -181,7 +181,7 @@ namespace Torch.Views
|
|||||||
{
|
{
|
||||||
Content = "Edit Collection"
|
Content = "Edit Collection"
|
||||||
};
|
};
|
||||||
button.SetBinding(Button.DataContextProperty, $"{property.Name}");
|
button.SetBinding(Button.DataContextProperty, property.Name);
|
||||||
|
|
||||||
var gt = propertyType.GetGenericArguments()[0];
|
var gt = propertyType.GetGenericArguments()[0];
|
||||||
|
|
||||||
@@ -197,11 +197,21 @@ namespace Torch.Views
|
|||||||
|
|
||||||
valueControl = button;
|
valueControl = button;
|
||||||
}
|
}
|
||||||
else
|
else if (propertyType.IsPrimitive || propertyType == typeof(string))
|
||||||
{
|
{
|
||||||
valueControl = new TextBox();
|
valueControl = new TextBox();
|
||||||
valueControl.SetBinding(TextBox.TextProperty, property.Name);
|
valueControl.SetBinding(TextBox.TextProperty, property.Name);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var button = new Button
|
||||||
|
{
|
||||||
|
Content = "Edit Object"
|
||||||
|
};
|
||||||
|
button.SetBinding(Button.DataContextProperty, property.Name);
|
||||||
|
button.Click += (sender, args) => EditObject(((Button)sender).DataContext);
|
||||||
|
valueControl = button;
|
||||||
|
}
|
||||||
|
|
||||||
valueControl.Margin = new Thickness(3);
|
valueControl.Margin = new Thickness(3);
|
||||||
valueControl.VerticalAlignment = VerticalAlignment.Center;
|
valueControl.VerticalAlignment = VerticalAlignment.Center;
|
||||||
@@ -241,6 +251,11 @@ namespace Torch.Views
|
|||||||
new ObjectCollectionEditor().Edit(c, title);
|
new ObjectCollectionEditor().Edit(c, title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void EditObject(object o, string title = "Edit Object")
|
||||||
|
{
|
||||||
|
new ObjectEditor().Edit(o, title);
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateFilter(object sender, TextChangedEventArgs e)
|
private void UpdateFilter(object sender, TextChangedEventArgs e)
|
||||||
{
|
{
|
||||||
var filterText = ((TextBox)sender).Text;
|
var filterText = ((TextBox)sender).Text;
|
||||||
|
Reference in New Issue
Block a user