/// <summary> /// /// </summary> /// <param name="group"></param> private void PasteGroup(DeviceGroup group, DeviceGroupViewModel parentViewModel) { var vgg = mDocument.GetGroups(group); var ggg = group.Clone(); DeviceGroup parent = (this.Parent is DeviceGroupViewModel) ? (Parent as DeviceGroupViewModel).Model : null; ggg.Name = Document.GetAvaiableGroupName(ggg.Name, parent != null ? parent.FullName : string.Empty); Document.AddDeviceGroup(parent, ggg); var vmodel = new DeviceGroupViewModel() { Model = ggg, Document = this.Document, Parent = parentViewModel }; parentViewModel.Children.Add(vmodel); foreach (IDeviceDevelop vv in ggg.Devices.ToArray()) { vv.Group = ggg.FullName; Document.AddDevice(vv); vmodel.Children.Add(new DeviceTreeViewModel() { Model = vv, Document = this.Document, Parent = vmodel }); var driver = (vv as DeviceDevelop).Driver; if (driver != null) { var driverdoc = GetMachineViewModel(this).Model.Driver; driverdoc?.AddDriver(driver); } } foreach (var vv in vgg) { PasteGroup(vv, vmodel); } parentViewModel.RefreshView(); }
/// <summary> /// /// </summary> protected override void LoadData() { foreach (var vv in mDocument.ListDeviceGroup(this.FullName)) { var vmm = new DeviceGroupViewModel() { Document = this.Document, Model = vv, Parent = this }; Children.Add(vmm); } foreach (var vv in mDocument.ListDevice(this.FullName)) { var vvv = new DeviceTreeViewModel() { Document = this.Document, Model = vv, Parent = this }; Children.Add(vvv); } }
/// <summary> /// /// </summary> public override void AddGroup() { string sname = mDocument.GetAvaiableGroupName("Group", this.FullName); var vgd = new DeviceGroup() { Parent = this.mModel, Name = sname }; if (mDocument.AddDeviceGroup(this.Model, vgd)) { var vmm = new DeviceGroupViewModel() { Document = this.Document, Model = vgd, Parent = this }; this.Children.Add(vmm); vmm.IsSelected = true; vmm.IsEdit = true; } this.IsExpanded = true; base.AddGroup(); }