fix(docking): enforce DockDocument children in DockGroup and fix style
This commit is contained in:
@@ -19,7 +19,7 @@ public abstract class DockContainer : DockModule
|
|||||||
OnChildrenUpdated();
|
OnChildrenUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddChild(DockModule module)
|
public virtual void AddChild(DockModule module)
|
||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(module);
|
ArgumentNullException.ThrowIfNull(module);
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ public abstract class DockContainer : DockModule
|
|||||||
_children.Add(module);
|
_children.Add(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveChild(DockModule module)
|
public virtual void RemoveChild(DockModule module)
|
||||||
{
|
{
|
||||||
ArgumentNullException.ThrowIfNull(module);
|
ArgumentNullException.ThrowIfNull(module);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using Microsoft.UI.Xaml;
|
using Microsoft.UI.Xaml;
|
||||||
using Microsoft.UI.Xaml.Controls;
|
using Microsoft.UI.Xaml.Controls;
|
||||||
|
|
||||||
using Microsoft.UI.Xaml.Data;
|
using Microsoft.UI.Xaml.Data;
|
||||||
|
|
||||||
namespace Ghost.Editor.View.Controls.Docking;
|
namespace Ghost.Editor.View.Controls.Docking;
|
||||||
@@ -16,6 +15,16 @@ public partial class DockGroup : DockContainer
|
|||||||
DefaultStyleKey = typeof(DockGroup);
|
DefaultStyleKey = typeof(DockGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void AddChild(DockModule module)
|
||||||
|
{
|
||||||
|
if (module is not DockDocument)
|
||||||
|
{
|
||||||
|
throw new ArgumentException($"{nameof(DockGroup)} only accepts {nameof(DockDocument)} children.", nameof(module));
|
||||||
|
}
|
||||||
|
|
||||||
|
base.AddChild(module);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnApplyTemplate()
|
protected override void OnApplyTemplate()
|
||||||
{
|
{
|
||||||
base.OnApplyTemplate();
|
base.OnApplyTemplate();
|
||||||
|
|||||||
Reference in New Issue
Block a user