public ItemVM(IItemProvider provider, ContainerVM parent, string name, bool canRename) { Provider = provider; Parent = parent; _name = name; CanRename = canRename; MetaData = new MetaData(); }
public ValueVM(IItemProvider provider, ContainerVM parent, string name, RegistryValueKind kind, object value) : base(provider, parent, string.IsNullOrEmpty(name) ? "(Default)" : name, false) { MetaData.Add(new MetaEntry { Name = RegistryMetaData.Type.Name, Value = kind }); MetaData.Add(new MetaEntry { Name = RegistryMetaData.Data.Name, Value = value }); }
public IEnumerable<ItemVM> GetSingleChildren(ContainerVM container) { var list = new List<ItemVM>(); var vm = container as KeyVM; if (vm != null) { var key = vm.Key; foreach (var name in key.GetValueNames()) { list.Add(new ValueVM(vm.Provider, vm, name, key.GetValueKind(name), key.GetValue(name, null, RegistryValueOptions.DoNotExpandEnvironmentNames))); } } return list; }
private void resetObjects(ContainerVM container) { if (container == null) { return; } var parentContainer = this.FindName(container.Parent.XAMLGridName) as Grid; if (parentContainer == null) { parentContainer = documentView; } var xamlContainer = this.FindName(container.XAMLBorderName) as Border; if (xamlContainer == null) { xamlContainer = container.AsXAMLUIElement() as Border; parentContainer.Children.Add(xamlContainer); } var xamlInnerGrid = xamlContainer.FindName(container.XAMLGridName) as Grid; xamlInnerGrid.MouseMove -= EditArea_MouseMove; xamlInnerGrid.MouseLeftButtonUp -= EditArea_MouseLeftButtonUp; xamlInnerGrid.MouseLeftButtonDown -= EditArea_MouseLeftButtonDown; xamlInnerGrid.Drop -= EditArea_Drop; xamlInnerGrid.MouseMove += EditArea_MouseMove; xamlInnerGrid.MouseLeftButtonUp += EditArea_MouseLeftButtonUp; xamlInnerGrid.MouseLeftButtonDown += EditArea_MouseLeftButtonDown; xamlInnerGrid.Drop += EditArea_Drop; xamlInnerGrid.AllowDrop = true; xamlInnerGrid.Children.Clear(); foreach (UIObjectVM e in container.ChildElements) { var myUIelem = e.AsXAMLUIElement(); xamlInnerGrid.Children.Add(myUIelem); } foreach (ContainerVM c in container.ChildContainers) { resetObjects(c); } }
public IEnumerable<ContainerVM> GetContainerChildren(ContainerVM container) { var list = new List<ContainerVM>(); var k = container as KeyVM; if (k != null) { foreach (var name in k.Key.GetSubKeyNames()) { try { list.Add(new KeyVM(k.Provider, k, k.Key.OpenSubKey(name, RegistryKeyPermissionCheck.ReadSubTree, System.Security.AccessControl.RegistryRights.ReadKey))); } catch (SecurityException) { } //list.Add(new KeyVM(k.Provider, k, k.Key.OpenSubKey(name, RegistryKeyPermissionCheck.Default, System.Security.AccessControl.RegistryRights.ReadKey))); } } else { var root = container as ComputerVM; if (root != null) { var key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.ClassesRoot, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.ClassesRoot, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.Users, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.Users, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentConfig, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.CurrentConfig, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); } } return list; }
public IEnumerable <ContainerVM> GetContainerChildren(ContainerVM container) { var list = new List <ContainerVM>(); var k = container as KeyVM; if (k != null) { foreach (var name in k.Key.GetSubKeyNames()) { try { list.Add(new KeyVM(k.Provider, k, k.Key.OpenSubKey(name, RegistryKeyPermissionCheck.ReadSubTree, System.Security.AccessControl.RegistryRights.ReadKey))); } catch (SecurityException) { } //list.Add(new KeyVM(k.Provider, k, k.Key.OpenSubKey(name, RegistryKeyPermissionCheck.Default, System.Security.AccessControl.RegistryRights.ReadKey))); } } else { var root = container as ComputerVM; if (root != null) { var key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.ClassesRoot, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.ClassesRoot, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.Users, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.Users, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); key = root.IsRemote ? RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentConfig, root.Name) : RegistryKey.OpenBaseKey(RegistryHive.CurrentConfig, RegistryView.Default); list.Add(new KeyVM(root.Provider, root, key)); } } return(list); }
public IEnumerable <ItemVM> GetSingleChildren(ContainerVM container) { var list = new List <ItemVM>(); var vm = container as KeyVM; if (vm != null) { var key = vm.Key; foreach (var name in key.GetValueNames()) { list.Add(new ValueVM(vm.Provider, vm, name, key.GetValueKind(name), key.GetValue(name, null, RegistryValueOptions.DoNotExpandEnvironmentNames))); } } return(list); }
public void BindServiceProperties() { var service = new DXSplashScreenService() { ViewTemplate = new DataTemplate() { VisualTree = new FrameworkElementFactory(typeof(SplashScreenTestUserControl)) }, }; ISplashScreenService iService = service; Border container = new Border(); ContainerVM vm = ViewModelSource.Create(() => new ContainerVM()); container.DataContext = vm; vm.State = "Loading2"; BindingOperations.SetBinding(service, DXSplashScreenService.ProgressProperty, new Binding("Progress")); BindingOperations.SetBinding(service, DXSplashScreenService.MaxProgressProperty, new Binding("MaxProgress")); BindingOperations.SetBinding(service, DXSplashScreenService.StateProperty, new Binding("State")); Interaction.GetBehaviors(container).Add(service); service.ShowSplashScreen(); SplashScreenTestUserControl.DoEvents(); Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.Progress); Assert.AreEqual(0, SplashScreenTestUserControl.ViewModel.MaxProgress); Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State); Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate); vm.Progress = 50; vm.MaxProgress = 100; SplashScreenTestUserControl.DoEvents(); Assert.AreEqual(50, SplashScreenTestUserControl.ViewModel.Progress); Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.MaxProgress); Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State); Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate); vm.Progress = 100; vm.MaxProgress = 200; SplashScreenTestUserControl.DoEvents(); Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress); Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress); Assert.AreEqual("Loading2", SplashScreenTestUserControl.ViewModel.State); Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate); vm.State = "Test"; SplashScreenTestUserControl.DoEvents(); Assert.AreEqual(100, SplashScreenTestUserControl.ViewModel.Progress); Assert.AreEqual(200, SplashScreenTestUserControl.ViewModel.MaxProgress); Assert.AreEqual("Test", SplashScreenTestUserControl.ViewModel.State); Assert.AreEqual(false, SplashScreenTestUserControl.ViewModel.IsIndeterminate); iService.HideSplashScreen(); }
private void invalidateDocumentView(ContainerVM container) { documentView.Height = _myVM.Document.Height; documentView.Width = _myVM.Document.Width; if (container as DocumentVM != null) { documentView.Children.Clear(); resetObjects(_myVM.Document.SelectedChild as PageVM); documentView.InvalidateArrange(); } else { resetObjects(container); } invalidateSelection(); }
public IEnumerable<ContainerVM> GetContainerChildren(ContainerVM container) { var list = new List<ContainerVM>(); var mine = container as ShellFolderVM; if (mine != null) { foreach (ShellObject sub in mine.Folder) { var folder = sub as ShellFolder; if (folder != null) { list.Add(new ShellFolderVM(mine.Provider, mine, folder)); } else { sub.Dispose(); } } } return list; }
public IEnumerable<ItemVM> GetSingleChildren(ContainerVM container) { var list = new List<ItemVM>(); var mine = container as ShellFolderVM; if (mine != null) { foreach (ShellObject sub in mine.Folder) { var file = sub as ShellFile; if (file != null) { list.Add(new ShellFileVM(mine.Provider, mine, file)); } else { sub.Dispose(); } } } return list; }
public IEnumerable <ContainerVM> GetContainerChildren(ContainerVM container) { var list = new List <ContainerVM>(); var mine = container as ShellFolderVM; if (mine != null) { foreach (ShellObject sub in mine.Folder) { var folder = sub as ShellFolder; if (folder != null) { list.Add(new ShellFolderVM(mine.Provider, mine, folder)); } else { sub.Dispose(); } } } return(list); }
public IEnumerable <ItemVM> GetSingleChildren(ContainerVM container) { var list = new List <ItemVM>(); var mine = container as ShellFolderVM; if (mine != null) { foreach (ShellObject sub in mine.Folder) { var file = sub as ShellFile; if (file != null) { list.Add(new ShellFileVM(mine.Provider, mine, file)); } else { sub.Dispose(); } } } return(list); }
public ShellFolderVM(IItemProvider provider, ContainerVM parent, ShellFolder folder) : base(provider, parent, folder.GetDisplayName(DisplayNameType.Default), false) { Folder = folder; Util.FillCommonData(folder, MetaData); }
//public KeyVM(IItemProvider provider, ContainerVM parent, string name) // : base(provider, parent, name, false) //{ //} public KeyVM(IItemProvider provider, ContainerVM parent, RegistryKey key) : base(provider, parent, Path.GetFileName(key.Name), false) { _key = key; }
public ShellFileVM(IItemProvider provider, ContainerVM parent, ShellFile file) : base(provider, parent, file.GetDisplayName(DisplayNameType.Default), false) { File = file; Util.FillCommonData(file, MetaData); }
private void EditArea_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (!_mouseLeftDown) { return; } _mouseLeftDown = false; //if (sender != this.documentView) // return; if (_addRect == null) { return; } var con = _myVM.Document.SelectedAnyChild as ContainerVM; var parentCon = _myVM.Document.SelectedAnyChild.Parent as ContainerVM; switch (_myVM.SelectedDrawTool) { case ToolBoxMenuVM.ToolEnum.Text: var myText = new TextVM() { Name = "Text", Height = _addRect.Height, Width = _addRect.Width, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = MarginVM.FromThickness(_addRect.Margin) }; if (con != null) { myText.Margin -= (con.MarginToDocument); con.AddChild(myText); } else { myText.Margin -= (parentCon.MarginToDocument); parentCon.AddChild(myText); } break; case ToolBoxMenuVM.ToolEnum.Image: var myImage = new ImageVM() { Name = "Image", Height = _addRect.Height, Width = _addRect.Width, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = MarginVM.FromThickness(_addRect.Margin) }; if (con != null) { myImage.Margin -= (con.MarginToDocument); con.AddChild(myImage); } else { myImage.Margin -= (parentCon.MarginToDocument); parentCon.AddChild(myImage); } break; case ToolBoxMenuVM.ToolEnum.Video: var myVideo = new VideoVM() { Name = "Video", Height = _addRect.Height, Width = _addRect.Width, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = MarginVM.FromThickness(_addRect.Margin) }; if (con != null) { myVideo.Margin -= (con.MarginToDocument); con.AddChild(myVideo); } else { myVideo.Margin -= (parentCon.MarginToDocument); parentCon.AddChild(myVideo); } break; case ToolBoxMenuVM.ToolEnum.Container: var myContainer = new ContainerVM() { Name = "Container", Height = _addRect.Height, Width = _addRect.Width, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = MarginVM.FromThickness(_addRect.Margin), BackgroundColor = Color.FromArgb(44, 255, 255, 255), BorderColor = Colors.DarkGray, BorderThickness = 1 }; if (con != null) { myContainer.Margin -= (con.MarginToDocument); con.AddChild(myContainer); } else { myContainer.Margin -= (parentCon.MarginToDocument); parentCon.AddChild(myContainer); } break; default: break; } documentView.Children.Remove(_addRect); _addRect = null; }
private void _myVM_AnObjectPropertyChanged(ContainerVM container, UIObjectVM obj, string propertyName) { invalidateDocumentView(container); }