Example #1
0
        public void ShowFiresActivatedEventWithSPAsParameter()
        {
            MockWPFSmartPart  smartPartA     = new MockWPFSmartPart();
            ZoneSmartPartInfo smartPartInfoA = new ZoneSmartPartInfo();

            smartPartInfoA.ZoneName = "Zone";

            Control zone = new Control();

            workspace.Controls.Add(zone);
            workspace.SetZoneName(zone, "Zone");

            bool activatedCalled = false;

            workspace.SmartPartActivated += delegate(object sender, WorkspaceEventArgs e)
            {
                activatedCalled = true;
                Assert.AreSame(e.SmartPart, smartPartA);
            };

            workspace.Show(smartPartA, smartPartInfoA);
            Assert.AreEqual(Visibility.Visible, smartPartA.Visibility);

            Assert.IsTrue(activatedCalled);
        }
Example #2
0
        public void CanSetWindowOptionsOnShow()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

            workItem.Workspaces.Add(workspace);
            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"))
            {
#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.ElementHost].ControlBox);
            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].MinimizeBox);
            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].MaximizeBox);
            Assert.AreSame(icon, workspace.Windows[smartPart.ElementHost].Icon);
        }
Example #3
0
 public void Setup()
 {
     workspace = new DeckWorkspace();
     smartPart = new MockWPFSmartPart();
     catalog   = new MockWPFUIElementAdapter();
     workspace.WPFUIElementAdapter = catalog;
 }
Example #4
0
        public void ActivatedFiresCorrectNumberOfTimes()
        {
            ZoneWorkspaceForm form     = CreateFormAddWorkspace();
            Control           zone     = new Control();
            Control           zone1    = new Control();
            MockWPFSmartPart  control2 = new MockWPFSmartPart();

            workItem.Items.Add(control2);
            int activated = 0;

            AddZones(zone, zone1);
            workspace.SmartPartActivated +=
                delegate(object sender, WorkspaceEventArgs args) { activated++; };
            form.Show();

            workspace.Show(smartPart, new ZoneSmartPartInfo("Main"));
            workspace.Show(control2, new ZoneSmartPartInfo("Main1"));

            smartPart.ElementHost.Select();
            control2.ElementHost.Select();
            smartPart.ElementHost.Select();

            //Will fire five times because it fires when show is called.
            Assert.AreEqual(5, activated);
        }
Example #5
0
        public void CloseShowsPreviouslyVisibleControl()
        {
            MockWPFSmartPart c1 = new MockWPFSmartPart();
            MockWPFSmartPart c2 = new MockWPFSmartPart();

            workspace.Show(c1);
            workspace.Show(c2);
            workspace.Close(c2);

            Assert.AreSame(c1, workspace.ActiveSmartPart);
        }
        public void CloseNonExistSmartPartThrows()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

            workspace.Close(smartPart);
        }
Example #7
0
        public void CloseSmartPartDoesNotDisposeIt()
        {
            TestableRootWorkItem workItem  = new TestableRootWorkItem();
            MdiWorkspace         workspace = workItem.Workspaces.AddNew <MdiWorkspace>();
            MockWPFSmartPart     smartPart = workItem.SmartParts.AddNew <MockWPFSmartPart>();

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

            Assert.IsFalse(smartPart.IsDisposed);
        }
Example #8
0
        public void ShowHidesPreviouslyVisibleControl()
        {
            MockWPFSmartPart c2 = new MockWPFSmartPart();

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

            UIElement actual = catalog.Unwrap(workspace.Controls[1]);

            Assert.AreSame(smartPart, actual, "Hiden control didn't go to the bottom of the deck");
            Assert.AreSame(c2, workspace.ActiveSmartPart);
        }
Example #9
0
        public void ShowWhenControlAlreadyExistsShowsSameControl()
        {
            MockWPFSmartPart c2 = new MockWPFSmartPart();
            MockWPFSmartPart c3 = new MockWPFSmartPart();

            workspace.Show(smartPart);
            workspace.Show(c2);
            workspace.Show(c3);
            workspace.Show(c2);
            workspace.Show(smartPart);

            Assert.AreEqual(3, workspace.SmartParts.Count);
        }
Example #10
0
        public void SetUp()
        {
            workItem    = new TestableRootWorkItem();
            workspace   = new ZoneWorkspace();
            zoneControl = new Control();
            smartPart   = new MockWPFSmartPart();

            workItem.Services.Add(typeof(IWorkItemActivationService), new SimpleWorkItemActivationService());
            workItem.Items.Add(smartPart);
            workItem.Workspaces.Add(workspace);
            ISmartPartInfo info = new ZoneSmartPartInfo("Main");

            workItem.RegisterSmartPartInfo(zoneControl, info);
        }
Example #11
0
        public void HidingShowsPreviousFireActivatedEvent()
        {
            object           argsSmartPart = null;
            MockWPFSmartPart sp1           = new MockWPFSmartPart();

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

            workspace.Hide(smartPart);

            Assert.AreEqual(sp1, argsSmartPart);
        }
Example #12
0
        public void CanCloseWorkspaceWithTwoSmartparts()
        {
            Control parent = new Control();

            parent.Controls.Add(workspace);
            MockWPFSmartPart sp1 = new MockWPFSmartPart();
            MockWPFSmartPart sp2 = new MockWPFSmartPart();

            workspace.Show(sp1);
            workspace.Show(sp2);


            parent.Dispose();
        }
Example #13
0
        public void CanShowWithNonWindowSPI()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

            WPFSmartPartInfo info = new WPFSmartPartInfo();

            info.Title = "Foo";

            workspace.Show(smartPart, info);
        }
Example #14
0
        public void DeckIsOderedCorrectly()
        {
            smartPart.Visibility = Visibility.Hidden;
            MockWPFSmartPart c2 = new MockWPFSmartPart();

            c2.Visibility = Visibility.Hidden;

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

            Assert.AreSame(c2, workspace.ActiveSmartPart);
            Assert.AreSame(c2, workspace.SmartParts[1]);
        }
Example #15
0
        public void ShowSmartpartTwice()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

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

            Assert.AreNotEqual(System.Windows.Visibility.Hidden, smartPart.Visibility);
        }
Example #16
0
        public void PreviousSmartPartActivatedWhenActiveElementHostDisposed()
        {
            MockWPFSmartPart smartPartA = new MockWPFSmartPart();
            MockWPFSmartPart smartPartB = new MockWPFSmartPart();

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

            ElementHost hostB = catalog.Hosts[smartPartB];

            hostB.Dispose();

            Assert.IsFalse(workspace.Contains(hostB));
            Assert.AreSame(smartPartA, workspace.ActiveSmartPart);
        }
Example #17
0
        public void CanShowInDefaultZone()
        {
            Control zone = new Control();

            workspace.Controls.Add(zone);
            workspace.SetZoneName(zone, "TestZone");
            workspace.SetIsDefaultZone(zone, true);

            MockWPFSmartPart smartPartA = new MockWPFSmartPart();

            workItem.Items.Add(smartPartA);
            workspace.Show(smartPartA);

            Assert.IsTrue(workspace.GetIsDefaultZone(zone));
            Assert.AreSame(smartPartA.ElementHost, workspace.Zones["TestZone"].Controls[0]);
        }
Example #18
0
        public void ShowHidingFiresCorrectNumberOfTimes()
        {
            int activated        = 0;
            MockWPFSmartPart sp1 = new MockWPFSmartPart();
            MockWPFSmartPart sp2 = new MockWPFSmartPart();

            workspace.SmartPartActivated += delegate { activated++; };

            workspace.Show(sp1);
            workspace.Show(sp2);
            workspace.Show(smartPart);

            workspace.Hide(smartPart);

            Assert.AreEqual(4, activated);
        }
Example #19
0
        public void CanHideFormWithSmartPart()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

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

            Assert.IsFalse(workspace.Windows[smartPart.ElementHost].Visible);
            Assert.IsFalse(smartPart.ElementHost.Visible);
            // Hosted UIElement doesn't get Visibility property set upon ElementHost Visible change
            // Assert.AreNotEqual(System.Windows.Visibility.Visible, smartPart.Visibility);
        }
Example #20
0
        public void ShowSetTextFromWindowSPInfo()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

            WindowSmartPartInfo info = new WindowSmartPartInfo();

            info.Title = "SP";

            workspace.Show(smartPart, info);

            Assert.AreEqual("SP", workspace.ParentMdiForm.MdiChildren[0].Text);
        }
Example #21
0
        public void UsesSPInfoIfNoWindowSPInfoExists()
        {
            TestableRootWorkItem workItem = new TestableRootWorkItem();
            Form         parentForm       = workItem.Items.AddNew <Form>();
            MdiWorkspace workspace        = new MdiWorkspace(parentForm);

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

            WPFSmartPartInfo info = new WPFSmartPartInfo();

            info.Title = "Foo";
            workItem.RegisterSmartPartInfo(smartPart, info);

            workspace.Show(smartPart);

            Assert.AreEqual("Foo", workspace.Windows[smartPart.ElementHost].Text);
        }