/// <summary>
/// Propagates an action request down the hierarchy of docking elements.
/// </summary>
/// <param name="action">Action that is requested to be performed.</param>
/// <param name="uniqueNames">Array of unique names of the pages the action relates to.</param>
public override void PropogateAction(DockingPropogateAction action, string[] uniqueNames)
{
switch (action)
{
case DockingPropogateAction.HidePages:
case DockingPropogateAction.RemovePages:
case DockingPropogateAction.RemoveAndDisposePages:
case DockingPropogateAction.StorePages:
// Ask the sliding panel to remove its display if an incoming name matches
foreach (string uniqueName in uniqueNames)
{
_slidePanel.HideUniqueName(uniqueName);
}
break;
case DockingPropogateAction.Loading:
case DockingPropogateAction.HideAllPages:
case DockingPropogateAction.RemoveAllPages:
case DockingPropogateAction.RemoveAndDisposeAllPages:
case DockingPropogateAction.StoreAllPages:
// Remove any slide out page
_slidePanel.HideUniqueName();
break;
case DockingPropogateAction.StringChanged:
// Pushed changed strings to the tooltips
KryptonDockingManager dockingManager = DockingManager;
if (dockingManager?.Strings != null)
{
_slidePanel.DockspaceControl.PinTooltip = dockingManager.Strings.TextDock;
_slidePanel.DockspaceControl.CloseTooltip = dockingManager.Strings.TextClose;
_slidePanel.DockspaceControl.DropDownTooltip = dockingManager.Strings.TextWindowLocation;
}
break;
}
// Let base class perform standard processing
base.PropogateAction(action, uniqueNames);
}