public void ItemInfoBinding()
        {
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService();

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);
            EnqueueShowRealWindow();
            ITaskbarButtonService taskbarService  = taskbarServiceImpl;
            ImageSource           icon_1          = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));
            ThumbButtonInfo       thumbButtonInfo = new ThumbButtonInfo()
            {
                Description = "thumbButton51"
            };

            RealWindow.TaskbarItemInfo.ProgressValue = 0.5;
            RealWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Error;
            RealWindow.TaskbarItemInfo.Overlay       = icon_1;
            RealWindow.TaskbarItemInfo.Description   = "test1";
            RealWindow.TaskbarItemInfo.ThumbButtonInfos.Add(thumbButtonInfo);
            RealWindow.TaskbarItemInfo.ThumbnailClipMargin = new Thickness {
                Bottom = 1, Left = 50, Right = 99, Top = 11
            };
            Assert.AreEqual(0.5, taskbarService.ProgressValue);
            Assert.AreEqual(TaskbarItemProgressState.Error, taskbarService.ProgressState);
            Assert.AreEqual(icon_1, taskbarService.OverlayIcon);
            Assert.AreEqual("test1", taskbarService.Description);
            AssertHelper.AssertEnumerablesAreEqual(new TaskbarThumbButtonInfo[] {
                new TaskbarThumbButtonInfo()
                {
                    Description = "thumbButton51"
                }
            }, taskbarService.ThumbButtonInfos, true, new string[] { "ItemInfo" });
            Assert.AreEqual(new Thickness {
                Bottom = 1, Left = 50, Right = 99, Top = 11
            }, taskbarService.ThumbnailClipMargin);
        }
        public void RejectedReasons()
        {
            ImageSource invalidIcon = new BitmapImage()
            {
                UriSource = AssemblyHelper.GetResourceUri(typeof(ApplicationJumpListServiceTests).Assembly, "INVALID")
            };
            ImageSource icon = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(
                AssemblyHelper.GetResourceUri(typeof(ApplicationJumpListServiceTests).Assembly, "Services/ApplicationJumpListService/demoicon.ico"));

            applicationJumpListService.Items.Add("a:None");
            applicationJumpListService.Items.Add("b:InvalidItem");
            applicationJumpListService.Items.Add("c:NoRegisteredHandler");
            applicationJumpListService.Items.Add("d:RemovedByUser");
            AssertHelper.AssertThrows <ArgumentException>(() => {
                applicationJumpListService.Items.Add("e", invalidIcon, () => { }, "e");
            }, e => {
                Assert.AreEqual("icon", e.ParamName);
                Assert.IsTrue(e.InnerException is ApplicationJumpTaskInvalidIconException);
            });
            AssertHelper.AssertThrows <ApplicationJumpTaskBothIconAndIconResourcePathSpecifiedException>(() => {
                applicationJumpListService.Items.Add(new ApplicationJumpTaskInfo()
                {
                    Title = "g", Icon = icon, IconResourcePath = "C:\\1.ico", Action = () => { }, CommandId = "g"
                });
            });
            IEnumerable <RejectedApplicationJumpItem> rejection = applicationJumpListService.Apply();

            AssertHelper.AssertEnumerablesAreEqual(new JumpItemRejectionReason[] {
                JumpItemRejectionReason.None,
                JumpItemRejectionReason.InvalidItem,
                JumpItemRejectionReason.NoRegisteredHandler,
                JumpItemRejectionReason.RemovedByUser,
            }, rejection.Select(r => r.Reason));
        }
 protected override void SetUpCore()
 {
     base.SetUpCore();
     ApplicationJumpListServiceTestsImageSourceHelper.RegisterPackScheme();
     clipMarginShift = 0.0;
     getThumbnailClipMarginExecute = false;
 }
예제 #4
0
 protected override void SetUpCore()
 {
     base.SetUpCore();
     ApplicationJumpListServiceTestsImageSourceHelper.RegisterPackScheme();
     NativeResourceManager.CompanyNameOverride = "DevExpress Tests";
     NativeResourceManager.ProductNameOverride = "DevExpress.Xpf.Core Tests";
     NativeResourceManager.VersionOverride     = AssemblyInfo.Version;
 }
 protected override void SetUpCore()
 {
     base.SetUpCore();
     ApplicationJumpListServiceTestsImageSourceHelper.RegisterPackScheme();
     NativeResourceManager.CompanyNameOverride = "DevExpress Tests Long Path Test Long Path Test Long Path Test Long Path Test";
     NativeResourceManager.ProductNameOverride = "DevExpress.Xpf.Core Tests Long Path Test Long Path Test Long Path Test";
     NativeResourceManager.VersionOverride     = AssemblyInfo.Version;
     nativeJumpList             = new TestNativeJumpList();
     applicationJumpListService = applicationJumpListServiceInstance = CreateTestService(nativeJumpList, out jumpActionsManager);
 }
        public void AttachServiceToWindowWithTaskbarButtonInfo()
        {
            ImageSource icon_1 = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));
            ImageSource icon_2 = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon2.png"));

            RealWindow.TaskbarItemInfo = new TaskbarItemInfo()
            {
                ProgressState    = TaskbarItemProgressState.Paused,
                ProgressValue    = 0.1,
                Description      = "desc",
                Overlay          = icon_1,
                ThumbButtonInfos = new ThumbButtonInfoCollection {
                    new ThumbButtonInfo()
                    {
                        Description = "thumbButton1"
                    }
                },
                ThumbnailClipMargin = new Thickness {
                    Left = 100, Top = 105, Right = 130, Bottom = 110
                }
            };
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService()
            {
                ProgressState    = TaskbarItemProgressState.Error,
                ProgressValue    = 0.2,
                Description      = "desc2",
                OverlayIcon      = icon_2,
                ThumbButtonInfos = new TaskbarThumbButtonInfoCollection {
                    new TaskbarThumbButtonInfo()
                    {
                        Description = "thumbButton2"
                    }
                },
                ThumbnailClipMargin = new Thickness {
                    Left = 50, Top = 555, Right = 135, Bottom = 90
                }
            };

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);
            EnqueueShowRealWindow();
            Assert.AreEqual(TaskbarItemProgressState.Error, RealWindow.TaskbarItemInfo.ProgressState);
            Assert.AreEqual(0.2, RealWindow.TaskbarItemInfo.ProgressValue);
            Assert.AreEqual("desc2", RealWindow.TaskbarItemInfo.Description);
            AssertHelper.AssertEnumerablesAreEqual(new ThumbButtonInfo[] {
                new ThumbButtonInfo()
                {
                    Description = "thumbButton2"
                },
            }, RealWindow.TaskbarItemInfo.ThumbButtonInfos, true, new string[] { "Command" });

            Assert.AreEqual(new Thickness {
                Left = 50, Top = 555, Right = 135, Bottom = 90
            }, RealWindow.TaskbarItemInfo.ThumbnailClipMargin);
        }
예제 #7
0
 protected override void SetUpCore()
 {
     base.SetUpCore();
     ApplicationJumpListServiceTestsImageSourceHelper.RegisterPackScheme();
     NativeResourceManager.CompanyNameOverride = "DevExpress Tests Long Path Test Long Path Test Long Path Test Long Path Test";
     NativeResourceManager.ProductNameOverride = "DevExpress.Xpf.Core Tests Long Path Test Long Path Test Long Path Test";
     NativeResourceManager.VersionOverride     = AssemblyInfo.Version;
     nativeJumpList             = new TestNativeJumpList();
     jumpActionsManager         = new TestJumpActionsManager();
     applicationJumpListService = new TestApplicationJumpListService(nativeJumpList, jumpActionsManager);
     Assert.IsNotNull(applicationJumpListService);
     applicationJumpListService.Items.Clear();
 }
        public void AddApplicationJumpTaskWithIcon_CheckIconJumpTaskIconResourcePath()
        {
            ImageSource icon = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(
                AssemblyHelper.GetResourceUri(typeof(ApplicationJumpListServiceTests).Assembly, "Services/ApplicationJumpListService/demoicon.ico"));
            ApplicationJumpTaskInfo applicationJumpTask = applicationJumpListService.Items.Add("title", icon, () => { });

            applicationJumpListService.Apply();
            ApplicationJumpTaskWrap jumpTask = (ApplicationJumpTaskWrap)nativeJumpList.AppliedList.JumpItems.Single();

            Assert.IsNotNull(jumpTask.IconResourcePath);
            byte[] expectedIcon = StreamHelper.CopyAllBytes(
                AssemblyHelper.GetResourceStream(typeof(ApplicationJumpListServiceTests).Assembly, "Services/ApplicationJumpListService/demoicon.ico", true));
            byte[] actualIcon = File.ReadAllBytes(jumpTask.IconResourcePath);
            AssertHelper.AssertEnumerablesAreEqual(expectedIcon, actualIcon);
        }
        public void SetOverlayIcon()
        {
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService();

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);
            EnqueueShowRealWindow();
            ITaskbarButtonService taskbarService = taskbarServiceImpl;
            ImageSource           icon_1         = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));
            ImageSource           icon_2         = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon2.ico"));

            taskbarService.OverlayIcon = icon_1;
            Assert.AreEqual(icon_1, RealWindow.TaskbarItemInfo.Overlay);
            taskbarService.OverlayIcon = icon_2;
            Assert.AreEqual(icon_2, RealWindow.TaskbarItemInfo.Overlay);
        }
        void TestUri(params Uri[] uris)
        {
            List <ImageSource> sources = new List <ImageSource>();

            foreach (Uri uri in uris)
            {
                sources.Add(new BitmapImage(uri));
                sources.Add(ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(uri));
            }
            foreach (ImageSource source in sources)
            {
                byte[] data = ImageLoader2.ImageToByteArray(source);
                Assert.IsNotNull(data);
                Assert.AreNotEqual(0, data.Length);
                Bitmap bitmap = new Bitmap(new MemoryStream(data));
                Assert.AreEqual(ImageFormat.Png, bitmap.RawFormat);
            }
        }
        public void BindOverlayIcon()
        {
            VM vm = VM.Create();

            RealWindow.DataContext = vm;
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService();

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);
            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.OverlayIconProperty, new Binding("OverlayIcon"));
            EnqueueShowRealWindow();
            ITaskbarButtonService taskbarService = taskbarServiceImpl;
            ImageSource           icon_1         = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));
            ImageSource           icon_2         = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon2.ico"));

            vm.OverlayIcon = icon_1;
            Assert.AreEqual(icon_1, RealWindow.TaskbarItemInfo.Overlay);
            vm.OverlayIcon = icon_2;
            Assert.AreEqual(icon_2, RealWindow.TaskbarItemInfo.Overlay);
        }
        public void ThumbButtonPropertiesChanged()
        {
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService();

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);
            EnqueueShowRealWindow();
            ImageSource            imageSource1      = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));
            ImageSource            imageSource2      = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon2.ico"));
            ITaskbarButtonService  taskbarService    = taskbarServiceImpl;
            TaskbarThumbButtonInfo thumbButtonInfo_1 = new TaskbarThumbButtonInfo()
            {
                Description         = "thumbButton1",
                IsEnabled           = true,
                IsInteractive       = true,
                IsBackgroundVisible = false,
                DismissWhenClicked  = false,
                Visibility          = Visibility.Visible,
                ImageSource         = imageSource1
            };

            taskbarService.ThumbButtonInfos.Add(thumbButtonInfo_1);
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].Description         = "thumbButton2";
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].IsEnabled           = false;
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].IsInteractive       = false;
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].IsBackgroundVisible = true;
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].DismissWhenClicked  = true;
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].Visibility          = Visibility.Collapsed;
            RealWindow.TaskbarItemInfo.ThumbButtonInfos[0].ImageSource         = imageSource2;
            EnqueueShowRealWindow();
            AssertHelper.AssertEnumerablesAreEqual(new TaskbarThumbButtonInfo[] {
                new TaskbarThumbButtonInfo()
                {
                    Description         = "thumbButton2",
                    IsEnabled           = false,
                    IsInteractive       = false,
                    IsBackgroundVisible = true,
                    DismissWhenClicked  = true,
                    Visibility          = Visibility.Collapsed,
                    ImageSource         = imageSource2
                },
            }, taskbarService.ThumbButtonInfos, true, new string[] { "ItemInfo" });
        }
        public void BindPropertyAndListenPropertyChanged()
        {
            VM vm = VM.Create();

            RealWindow.DataContext = vm;
            TaskbarButtonService taskbarServiceImpl = new TaskbarButtonService();

            Interaction.GetBehaviors(RealWindow).Add(taskbarServiceImpl);

            int progressStateChangedCount       = 0;
            int progressValueChangedCount       = 0;
            int overlayIconChangedCount         = 0;
            int descriptionChangedCount         = 0;
            int thumbnailClipMarginChangedCount = 0;

            ((INotifyPropertyChanged)vm).PropertyChanged += (d, e) => {
                if (e.PropertyName == "ProgressState")
                {
                    progressStateChangedCount++;
                }
                if (e.PropertyName == "ProgressValue")
                {
                    progressValueChangedCount++;
                }
                if (e.PropertyName == "OverlayIcon")
                {
                    overlayIconChangedCount++;
                }
                if (e.PropertyName == "Description")
                {
                    descriptionChangedCount++;
                }
                if (e.PropertyName == "ThumbnailClipMargin")
                {
                    thumbnailClipMarginChangedCount++;
                }
            };

            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.ProgressStateProperty, new Binding("ProgressState"));
            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.ProgressValueProperty, new Binding("ProgressValue"));
            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.OverlayIconProperty, new Binding("OverlayIcon"));
            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.DescriptionProperty, new Binding("Description"));
            BindingOperations.SetBinding(taskbarServiceImpl, TaskbarButtonService.ThumbnailClipMarginProperty, new Binding("ThumbnailClipMargin"));

            EnqueueShowRealWindow();
            ITaskbarButtonService taskbarService = taskbarServiceImpl;

            vm.ProgressState = TaskbarItemProgressState.Indeterminate;
            Assert.AreEqual(TaskbarItemProgressState.Indeterminate, RealWindow.TaskbarItemInfo.ProgressState);
            Assert.AreEqual(1, progressStateChangedCount);

            vm.ProgressValue = 0.5d;
            Assert.AreEqual(0.5d, RealWindow.TaskbarItemInfo.ProgressValue);
            Assert.AreEqual(1, progressValueChangedCount);

            ImageSource icon_1 = ApplicationJumpListServiceTestsImageSourceHelper.GetImageSource(AssemblyHelper.GetResourceUri(typeof(TaskbarButtonServiceTests).Assembly, "Icons/icon1.ico"));

            vm.OverlayIcon = icon_1;
            Assert.AreEqual(icon_1, RealWindow.TaskbarItemInfo.Overlay);
            Assert.AreEqual(1, overlayIconChangedCount);

            vm.Description = "Test";
            Assert.AreEqual("Test", RealWindow.TaskbarItemInfo.Description);
            Assert.AreEqual(1, descriptionChangedCount);

            vm.ThumbnailClipMargin = new Thickness(45);
            Assert.AreEqual(new Thickness(45), RealWindow.TaskbarItemInfo.ThumbnailClipMargin);
            Assert.AreEqual(1, thumbnailClipMarginChangedCount);
        }
 public void SetUp()
 {
     ApplicationJumpListServiceTestsImageSourceHelper.RegisterPackScheme();
 }