Exemple #1
0
        public void CanShowModal()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title = "Mock Smart Part";
            info.Modal = true;

            Thread thread = new Thread(new ThreadStart(delegate
            {
                workspace.Show(smartPart, info);
            }));

            try
            {
                thread.Start();
                Thread.Sleep(1000);

                Assert.IsTrue(workspace.Windows[smartPart].Visible);
            }
            finally
            {
                thread.Interrupt();
            }
        }
        public void ShowingNonControlThrows()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();

            workspace.Show(new object());
        }
Exemple #3
0
        public override void Load()
        {
            // Put the following code before InitializeComponent()
            // Sets the current culture
            Thread.CurrentThread.CurrentCulture = new CultureInfo(CultureInfo.CurrentCulture.Name);
            // Sets the current culture
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(CultureInfo.CurrentCulture.Name);



            base.Load();

            // Add layout view to the shell
            ShellLayoutView _shellLayout = _rootWorkItem.Items.AddNew <ShellLayoutView>();

            _rootWorkItem.Workspaces[WorkspaceNames.LayoutWorkspace].Show(_shellLayout);

            // Add window workspace to be used for modal windows
            WindowWorkspace wsp = new WindowWorkspace(_shellLayout.ParentForm);

            _rootWorkItem.Workspaces.Add(wsp, WorkspaceNames.ModalWindows);

            // Add window workspace to be used for screen saver
            WindowWorkspace scrSaver = new WindowWorkspace(_shellLayout.ParentForm);

            _rootWorkItem.Workspaces.Add(scrSaver, WorkspaceNames.ScreenSaverWindow);

            ControlledWorkItem <ModuleController> workItem = _rootWorkItem.WorkItems.AddNew <ControlledWorkItem <ModuleController> >();

            workItem.Controller.Run();
        }
        public void CanSetWindowOptions()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title       = "Mock Smart Part";
            info.ControlBox  = false;
            info.MinimizeBox = false;
            info.MaximizeBox = false;
            Icon     icon = null;
            Assembly asm  = Assembly.GetExecutingAssembly();

            using (Stream imgStream =
                       asm.GetManifestResourceStream("Microsoft.Practices.CompositeUI.WPF.Tests.test.ico"))
            {
                icon = new Icon(imgStream);
            }
            info.Icon = icon;

            workspace.Show(smartPart, info);

            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].ControlBox);
            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].MinimizeBox);
            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].MaximizeBox);
            Assert.AreSame(icon, workspace.Windows[smartPart.ElementHost].Icon);

            workspace.Windows[smartPart.ElementHost].Close();
        }
        public void FiresOneEventOnlyIfSmartPartIsShownMultipleTimes()
        {
            TestableRootWorkItem workItem   = new TestableRootWorkItem();
            WindowWorkspace      workspace  = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPartA = workItem.SmartParts.AddNew <MockWPFSmartPart>();
            MockWPFSmartPart     smartPartB = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPartA);
            workspace.Show(smartPartB);

            int    activatedCalled        = 0;
            object lastActivatedSmartPart = null;

            workspace.SmartPartActivated += delegate(object sender, WorkspaceEventArgs e)
            {
                activatedCalled++;
                lastActivatedSmartPart = e.SmartPart;
            };

            workspace.Show(smartPartA);

            Assert.AreEqual(1, activatedCalled);
            Assert.AreSame(smartPartA, lastActivatedSmartPart);

            workspace.Windows[smartPartA.ElementHost].Close();
            workspace.Windows[smartPartB.ElementHost].Close();
        }
Exemple #6
0
        public void CanSetWindowOptions()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title       = "Mock Smart Part";
            info.ControlBox  = false;
            info.MinimizeBox = false;
            info.MaximizeBox = false;
            Icon     icon = null;
            Assembly asm  = Assembly.GetExecutingAssembly();

            using (Stream imgStream =
                       asm.GetManifestResourceStream("Microsoft.Practices.CompositeUI.WinForms.Tests.test.ico"))
            {
#pragma warning disable CA1416 // Validate platform compatibility
                icon = new Icon(imgStream);
#pragma warning restore CA1416 // Validate platform compatibility
            }
            info.Icon = icon;

            workspace.Show(smartPart, info);

            Assert.IsFalse(workspace.Windows[smartPart].ControlBox);
            Assert.IsFalse(workspace.Windows[smartPart].MinimizeBox);
            Assert.IsFalse(workspace.Windows[smartPart].MaximizeBox);
            Assert.AreSame(icon, workspace.Windows[smartPart].Icon);
        }
Exemple #7
0
        public void CanShowModalWithOwner()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form            owner         = new Form();
            WindowWorkspace workspace     = new WindowWorkspace(owner);

            workItem.Workspaces.Add(workspace);
            MockSmartPart smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title = "Mock Smart Part";
            info.Modal = true;

            Thread thread = new Thread(new ThreadStart(delegate
            {
                workspace.Show(smartPart, info);
            }));

            try
            {
                thread.Start();
                Thread.Sleep(1000);

                Assert.IsTrue(workspace.Windows[smartPart].Visible);
                Assert.AreSame(owner, workspace.Windows[smartPart].Owner);
            }
            finally
            {
                thread.Abort();
            }
        }
        public void CloseNonExistControlThrows()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Close(smartPart);
        }
Exemple #9
0
        //[ExpectedException(typeof(ArgumentException))]
        public void ShowingNonControlThrows()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();

            //workspace.Show(new object());
            Assert.That(() => workspace.Show(new object()),
                        Throws.TypeOf <ArgumentException>());
        }
Exemple #10
0
        //[ExpectedException(typeof(ArgumentException))]
        public void CloseNonExistControlThrows()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            //workspace.Close(smartPart);
            Assert.That(() => workspace.Close(smartPart),
                        Throws.TypeOf <ArgumentException>());
        }
Exemple #11
0
        public void ShowTwiceReusesForm()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = new MockSmartPart();

            workspace.Show(smartPart);
            workspace.Show(smartPart);

            Assert.AreEqual(1, workspace.Windows.Count);
        }
        public void CloseRemovesWindow()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);
            workspace.Close(smartPart);

            Assert.IsFalse(workspace.Windows.ContainsKey(smartPart.ElementHost));
        }
        public void CloseSmartPartDoesNotDisposeIt()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);
            workspace.Close(smartPart);

            Assert.IsFalse(smartPart.IsDisposed);
        }
Exemple #14
0
        public void CanShowIfSPINotWindowSPI()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            WPFSmartPartInfo info = new WPFSmartPartInfo();

            info.Title = "Foo";

            workspace.Show(smartPart, info);
        }
        public void CloseRemovesEntriesInWindowsAndSmartParts()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);

            workspace.Close(smartPart);

            Assert.AreEqual(0, workspace.Windows.Count);
        }
Exemple #16
0
        public void ShowSetsVisible()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();

            MockSmartPart smartPart = new MockSmartPart();

            smartPart.Visible = false;

            workspace.Show(smartPart);

            Assert.IsTrue(smartPart.Visible);
        }
Exemple #17
0
        public void FormSizeIsCorrectSize()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            smartPart.Size = new System.Drawing.Size(150, 125);

            workspace.Show(smartPart);

            Assert.AreEqual(150, workspace.Windows[smartPart].Size.Width);
            Assert.AreEqual(145, workspace.Windows[smartPart].Size.Height);
        }
Exemple #18
0
        public void ShowingFiresActivatedEvent()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            bool activated = false;

            workspace.SmartPartActivated += delegate { activated = true; };
            workspace.Show(smartPart);

            Assert.IsTrue(activated);
        }
Exemple #19
0
        public void CanCancelSmartPartClosing()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            workspace.Show(smartPart);
            workspace.SmartPartClosing += delegate(object sender, WorkspaceCancelEventArgs args) { args.Cancel = true; };

            workspace.Close(smartPart);

            Assert.IsFalse(smartPart.IsDisposed, "Smart Part Was Disposed");
        }
Exemple #20
0
        public void ShowExistingFormBringsToFront()
        {
            TestableRootWorkItem workItem   = new TestableRootWorkItem();
            WindowWorkspace      workspace  = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart  = workItem.SmartParts.AddNew <MockSmartPart>();
            MockSmartPart        smartPart2 = workItem.SmartParts.AddNew <MockSmartPart>();

            workspace.Show(smartPart);
            workspace.Show(smartPart2);
            workspace.Show(smartPart);

            Assert.IsTrue(smartPart.Focused);
        }
Exemple #21
0
        public void CanHideWithSmartPart()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            workspace.Show(smartPart);

            workspace.Hide(smartPart);

            Assert.IsFalse(workspace.Windows[smartPart].Visible);
            Assert.IsFalse(smartPart.Visible);
        }
        public void CanCancelCloseWhenFormClose()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);
            workspace.SmartPartClosing += delegate(object sender, WorkspaceCancelEventArgs args) { args.Cancel = true; };

            workspace.Windows[smartPart.ElementHost].Close();

            Assert.IsFalse(smartPart.IsDisposed);
        }
        public void ShowTwiceReusesForm()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);
            workspace.Show(smartPart);

            Assert.AreEqual(1, workspace.Windows.Count);

            workspace.Windows[smartPart.ElementHost].Close();
        }
Exemple #24
0
        public void CanShowSameWindowAfterHidden()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            workspace.Show(smartPart);
            workspace.Hide(smartPart);

            workspace.Show(smartPart);

            Assert.IsNotNull(workspace.Windows[smartPart]);
            Assert.IsTrue(smartPart.Visible);
        }
Exemple #25
0
        public void ShowingFiresActivatedWithSmartPart()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            object argsSmartPart = null;

            workspace.SmartPartActivated +=
                delegate(object sender, WorkspaceEventArgs args) { argsSmartPart = args.SmartPart; };
            workspace.Show(smartPart);

            Assert.AreEqual(smartPart, argsSmartPart);
        }
Exemple #26
0
        public void ShowingSetFormTextFromWindowSmartPartInfo()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title = "Mock Smart Part";
            workItem.RegisterSmartPartInfo(smartPart, info);
            workspace.Show(smartPart, info);

            Assert.AreEqual("Mock Smart Part", workspace.Windows[smartPart].Text);
        }
Exemple #27
0
        public override void Load()
        {
            base.Load();

            // Add layout view to the shell
            ShellLayoutView _shellLayout = _rootWorkItem.Items.AddNew <ShellLayoutView>();

            _rootWorkItem.Workspaces[WorkspaceNames.LayoutWorkspace].Show(_shellLayout);

            // Add window workspace to be used for modal windows
            WindowWorkspace wsp = new WindowWorkspace(_shellLayout.ParentForm);

            _rootWorkItem.Workspaces.Add(wsp, WorkspaceNames.ModalWindows);
        }
        public void FormSizeIsCorrectSize()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            smartPart.Width  = 150;
            smartPart.Height = 125;

            workspace.Show(smartPart);

            Assert.AreEqual(150, workspace.Windows[smartPart.ElementHost].Size.Width);
            Assert.AreEqual(145, workspace.Windows[smartPart.ElementHost].Size.Height);
        }
        public void ControlIsRemovedWhenSmartPartIsDisposed()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

            workspace.Show(smartPart);
            Assert.AreEqual(1, workspace.Windows.Count);

            smartPart.Dispose();

            Assert.AreEqual(0, workspace.Windows.Count);
            Assert.AreEqual(0, workspace.SmartParts.Count);
        }
Exemple #30
0
        public void ShowShowsNewFormWithControl()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            WindowWorkspace      workspace = workItem.Workspaces.AddNew <WindowWorkspace>();
            MockSmartPart        smartPart = workItem.SmartParts.AddNew <MockSmartPart>();

            workspace.Show(smartPart);

            Form form = workspace.Windows[smartPart];

            Assert.AreSame(smartPart, form.Controls[0]);
            Assert.IsTrue(workspace.Windows[smartPart].Visible);
            Assert.IsTrue(smartPart.Visible);
        }