示例#1
0
        /// <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();
        }
示例#2
0
        /// <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);
            }
        }
示例#3
0
        /// <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();
        }