public SystemViewModel(QuickArch.Model.System system) : base(system) { if (system == null) throw new ArgumentNullException("system"); ComponentVMs = new ObservableCollection<ComponentViewModel>(); if(system.Components.Count > 0) ComponentVMs.Add(new ComponentPlaceHolder()); ((QuickArch.Model.System)_component).ComponentsChanged += OnComponentsChanged; _commands = new ObservableCollection<CommandViewModel> (new CommandViewModel[] { CommandUtilities.NewCommand("New Subsystem", param => this.AddSubsystem(), Resources.gear), CommandUtilities.NewCommand("Create New Link", param => this.TestAddConnector(), Resources.line) }); }
public static ComponentViewModel GetViewModel(QuickArch.Model.Component component) { if (component is QuickArch.Model.System) { return new SystemViewModel(component as QuickArch.Model.System); } else if (component is Sequence) { return new SequenceViewModel(component as Sequence); } else if (component is Document) { return new DocumentViewModel(component as Document); } else if (component is SystemDiagram) { return new SystemDiagramViewModel(component as QuickArch.Model.SystemDiagram); } else return null; }