public virtual void TearDown() { GraphElementHelper.UseNewStylesheets = m_SavedUseNewStylesheets; UIForModel.Reset(); if (m_EnablePersistence) { window.ClearPersistentViewData(); } Clear(); GraphViewSettings.UserSettings.EnableSnapToPort = m_SnapToPortEnabled; GraphViewSettings.UserSettings.EnableSnapToBorders = m_SnapToBorderEnabled; GraphViewSettings.UserSettings.EnableSnapToGrid = m_SnapToGridEnabled; GraphViewSettings.UserSettings.EnableSnapToSpacing = m_SnapToSpacingEnabled; GraphViewSettings.UserSettings.SpacingMarginValue = m_SpacingMarginValue; }
// If you need this, ask yourself if you should not use a UnityTest and CommandDispatcher.State.GraphViewState.RequestUIRebuild(); public void RebuildUI(IGraphModel graphModel, CommandDispatcher commandDispatcher) { var nodeList = Nodes.ToList(); foreach (var node in nodeList) { RemoveElement(node); } var edgeList = Edges.ToList(); foreach (var edge in edgeList) { RemoveElement(edge); } var stickyList = Stickies.ToList(); foreach (var sticky in stickyList) { RemoveElement(sticky); } var placematList = Placemats.ToList(); foreach (var placemat in placematList) { RemoveElement(placemat); } UIForModel.Reset(); foreach (var nodeModel in graphModel.NodeModels) { var element = GraphElementFactory.CreateUI <GraphElement>(this, commandDispatcher, nodeModel); AddElement(element); } foreach (var edgeModel in graphModel.EdgeModels) { var element = GraphElementFactory.CreateUI <GraphElement>(this, commandDispatcher, edgeModel); AddElement(element); } foreach (var stickyNoteModel in graphModel.StickyNoteModels) { var element = GraphElementFactory.CreateUI <GraphElement>(this, commandDispatcher, stickyNoteModel); AddElement(element); } List <IModelUI> placemats = new List <IModelUI>(); foreach (var placematModel in graphModel.PlacematModels) { var element = GraphElementFactory.CreateUI <GraphElement>(this, commandDispatcher, placematModel); AddElement(element); placemats.Add(element); } // Update placemats to make sure hidden elements are all hidden (since // a placemat can hide a placemat UI created after itself). foreach (var placemat in placemats) { placemat.UpdateFromModel(); } }