public void ClearMapObjects(bool isSaveStates = true)
{
Selector.Clear();
if (isSaveStates)
{
foreach (NodeControl node in GetNodeControls())
{
MapInformation.SetCollapseState(node.ViewModelNode.Proxy.Id, node.CollapseState);
MapInformation.SetVisibility(node.ViewModelNode.Proxy.Id,
node.IsCollapsed ? Visibility.Collapsed : Visibility.Visible);
}
if (Context != null)
{
MapInformation.NodeLocations = GetVisibleNodeLocations();
}
}
var removedArrows = ArrowFactory.Clear();
foreach (ArrowControlFactorySet removedArrowSet in removedArrows)
{
NodeContainer.Children.Remove(removedArrowSet.Control);
}
var removedNodes = NodeFactory.Clear();
foreach (NodeControlFactorySet removedNodeSet in removedNodes)
{
NodeContainer.Children.Remove(removedNodeSet.Control);
if (removedNodeSet.Control != null)
{
removedNodeSet.Control.Dispose();
}
}
_moveGraphTransform = new TranslateTransform();
IoC.GetInstance<ArrowCreationManager>().RenderTransform = MoveGraphTransform;
}