private void RemoveDocument(ContentDocument pane, bool canCancel)
{
bool cancelled = false;
pane.Control.PanelClosing(canCancel, ref cancelled);
if (canCancel && cancelled)
{
return;
}
if (pane.Control.DockingContainer.DockState != DockingState.Hidden &&
pane.Control.DockingContainer.DockState != DockingState.Unknown)
{
pane.Control.DockingContainer.Hide();
}
pane.Visible = false;
_panes.Remove(pane);
_panesInOrderUsed.Remove(pane);
if (pane == _currentPane)
{
if (_panes.Count > 0)
{
SetActiveDocument(_panesInOrderUsed[0]);
}
else
{
_currentPane = null;
if (ActiveDocumentChanged != null)
{
ActiveDocumentChanged(null);
}
}
}
RefreshWindowsMenu();
}