internal void AddComponent(NComponent component) { NComponents.Add(component); pathResolver.BuildGraph(); component.Accept(viewVisitor); component.Accept(vertexMovedVisitor); if (ComponentAdded != null) { ComponentAdded(component); } this.Invalidate(); }
public override void Visit(NConnector component) { NVisitor visitor = new NStartConnectVisitor(component); NComponent box = components.Find(x => x.GetFlatModel().ID == component.Model.StartBoxID); if (box != null) { box.Accept(visitor); } visitor = new NEndConnectVisitor(component); box = components.Find(x => x.GetFlatModel().ID == component.Model.EndBoxID); if (box != null) { box.Accept(visitor); } }
internal void SetFlatModeJSON(string strJSON) { this.NComponents.Clear(); NVisitor visitor = new NLoadVisitor(this.NComponents); FlowChart chart = JSONUtil.Deserialize <FlowChart>(strJSON); chart.FlatModels.OrderBy(x => x.SortOrder).ToList().ForEach(x => { NComponent component = (NComponent)Activator.CreateInstance(Type.GetType(x.ControllerClassName)); component.SetFlatModel(x); this.AddComponent(component); component.Accept(visitor); }); visitor = new NConnectorConnetVisitor(this.pathResolver); this.NComponents.ForEach(x => { x.Accept(visitor); }); }