Esempio n. 1
0
 public ItemVM(IItemProvider provider, ContainerVM parent, string name, bool canRename)
 {
     Provider = provider;
     Parent = parent;
     _name = name;
     CanRename = canRename;
     MetaData = new MetaData();
 }
Esempio n. 2
0
 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
     });
 }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        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();
        }
Esempio n. 10
0
        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;
        }
Esempio n. 11
0
        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;
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
 public ShellFolderVM(IItemProvider provider, ContainerVM parent, ShellFolder folder)
     : base(provider, parent, folder.GetDisplayName(DisplayNameType.Default), false)
 {
     Folder = folder;
     Util.FillCommonData(folder, MetaData);
 }
Esempio n. 15
0
 //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;
 }
Esempio n. 16
0
 //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;
 }
Esempio n. 17
0
 public ShellFileVM(IItemProvider provider, ContainerVM parent, ShellFile file)
     : base(provider, parent, file.GetDisplayName(DisplayNameType.Default), false)
 {
     File = file;
     Util.FillCommonData(file, MetaData);
 }
Esempio n. 18
0
 public ShellFileVM(IItemProvider provider, ContainerVM parent, ShellFile file)
     : base(provider, parent, file.GetDisplayName(DisplayNameType.Default), false)
 {
     File = file;
     Util.FillCommonData(file, MetaData);
 }
Esempio n. 19
0
        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;
        }
Esempio n. 20
0
 private void _myVM_AnObjectPropertyChanged(ContainerVM container, UIObjectVM obj, string propertyName)
 {
     invalidateDocumentView(container);
 }
Esempio n. 21
0
 public ShellFolderVM(IItemProvider provider, ContainerVM parent, ShellFolder folder)
     : base(provider, parent, folder.GetDisplayName(DisplayNameType.Default), false)
 {
     Folder = folder;
     Util.FillCommonData(folder, MetaData);
 }
Esempio n. 22
0
 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 });
 }