|
@@ -148,11 +148,14 @@ namespace InABox.DynamicGrid
|
|
|
|
|
|
protected List<Button> CreateButtons(out bool bDisableEditor)
|
|
protected List<Button> CreateButtons(out bool bDisableEditor)
|
|
{
|
|
{
|
|
- var buttons = new List<Button>();
|
|
|
|
|
|
+ var result = new List<Button>();
|
|
bDisableEditor = false;
|
|
bDisableEditor = false;
|
|
if (EditorDefinition != null && EditorDefinition is IButtonEditor ce && ce.Buttons is not null)
|
|
if (EditorDefinition != null && EditorDefinition is IButtonEditor ce && ce.Buttons is not null)
|
|
{
|
|
{
|
|
- foreach (var ceb in ce.Buttons.Reverse())
|
|
|
|
|
|
+ var generator = Activator.CreateInstance(ce.Buttons) as IButtonGenerator;
|
|
|
|
+ var buttons = generator?.Generate();
|
|
|
|
+
|
|
|
|
+ foreach (var ceb in buttons.Reverse())
|
|
{
|
|
{
|
|
if (ceb.DisableEditor)
|
|
if (ceb.DisableEditor)
|
|
bDisableEditor = true;
|
|
bDisableEditor = true;
|
|
@@ -173,9 +176,10 @@ namespace InABox.DynamicGrid
|
|
};
|
|
};
|
|
button.Click += (o, e) =>
|
|
button.Click += (o, e) =>
|
|
{
|
|
{
|
|
- var b = (Button)o;
|
|
|
|
- var eb = b.Tag as EditorButton;
|
|
|
|
- eb.Click(this);
|
|
|
|
|
|
+ Host.EditorButtonClicked(EditorDefinition);
|
|
|
|
+ // var b = (Button)o;
|
|
|
|
+ // var eb = b.Tag as EditorButton;
|
|
|
|
+ // eb.Click(this);
|
|
};
|
|
};
|
|
ceb.OnVisible += (visible) =>
|
|
ceb.OnVisible += (visible) =>
|
|
{
|
|
{
|
|
@@ -185,10 +189,10 @@ namespace InABox.DynamicGrid
|
|
{
|
|
{
|
|
button.IsEnabled = enabled;
|
|
button.IsEnabled = enabled;
|
|
};
|
|
};
|
|
- buttons.Add(button);
|
|
|
|
|
|
+ result.Add(button);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return buttons;
|
|
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|