Example #1
0
		internal RegionItem(Region region, object item, Control hostControl)
		{
			Verify.ArgumentNotNull(region, "region", out _region);
			Verify.ArgumentNotNull(item, "item", out _item);
			Verify.ArgumentNotNull(hostControl, "hostControl", out _hostControl);
			_hostControl.Tag = this;
			_clientControl = item as Control;
			_task = item as UipTask;

			if (_task != null)
			{
				_viewManager = new ViewManager(_hostControl);
				_task.ServiceContainer.RegisterInstance<IRegion>(_region);
				_task.ServiceContainer.RegisterInstance<IRegionInfo>(this);
				_task.TaskComplete += Task_TaskComplete;
				UpdateRegionInfo(_task);
			}
			else if (_clientControl != null)
			{
				Form form = _clientControl as Form;
				if (form != null)
				{
					form.TopLevel = false;
					form.FormBorderStyle = FormBorderStyle.None;
				}

				UpdateRegionInfo(_clientControl);

				_hostControl.Controls.Add(_clientControl);
				_clientControl.Dock = DockStyle.Fill;
				_clientControl.Visible = true;
			}
			else
			{
				string message = String.Format("Cannot add object of type {0} to a Windows Forms region",
											   item.GetType().FullName);
				Log.Error(message);
				throw new ArgumentException(message);
			}
		}
Example #2
0
        private void RunMockAppHelper(UipTask task, FakeViewDeck viewManager) {
            Assert.IsNotNull(task);

            Assert.IsInstanceOfType(typeof(MockState), task.GetStateObject());
            var state = (MockState)task.GetStateObject();

        	task.Start(viewManager);
            task.TaskComplete += task_TaskComplete;

            Assert.AreEqual("Node1", task.CurrentNode.Name);
            Assert.IsNotNull(task.CurrentController);
            Assert.IsInstanceOf<MockController1>(task.CurrentController);
            Assert.IsNotNull(viewManager.VisibleView);
            Assert.IsInstanceOf<MockView1>(viewManager.VisibleView);

            var view1 = (MockView1)viewManager.VisibleView;
            view1.PushNextButton();

            // Should be in Node2

            Assert.AreEqual("Node2", task.CurrentNode.Name);
            Assert.IsNotNull(task.CurrentController);
            Assert.IsInstanceOfType(typeof(MockController2), task.CurrentController);
            Assert.IsNotNull(viewManager.VisibleView);
            Assert.IsInstanceOfType(typeof(MockView2), viewManager.VisibleView);

            var view2 = (MockView2)viewManager.VisibleView;
            view2.PushNextButton();

            // Should be in Node3 

            Assert.AreEqual("Node3", task.CurrentNode.Name);
            Assert.IsNotNull(task.CurrentController);
            Assert.IsInstanceOfType(typeof(MockController2), task.CurrentController);
            Assert.IsNotNull(viewManager.VisibleView);
            Assert.IsInstanceOfType(typeof(MockView1), viewManager.VisibleView);

            view1 = (MockView1)viewManager.VisibleView;
            view1.PushNextButton();

            // Should navigate to NavigateInViewConstructorNode and then straight to Node1

            Assert.AreEqual("Node1", task.CurrentNode.Name);
            Assert.IsNotNull(task.CurrentController);
            Assert.IsInstanceOfType(typeof(MockController1), task.CurrentController);
            Assert.IsNotNull(viewManager.VisibleView);
            Assert.IsInstanceOfType(typeof(MockView1), viewManager.VisibleView);

            view1 = (MockView1)viewManager.VisibleView;
            Assert.IsFalse(state.SetByController3);
            view1.PushBackButton();
            Assert.IsTrue(state.SetByController3);

            Assert.AreEqual("Node3", task.CurrentNode.Name);
            Assert.IsNotNull(task.CurrentController);
            Assert.IsInstanceOfType(typeof(MockController2), task.CurrentController);
            Assert.IsNotNull(viewManager.VisibleView);
            Assert.IsInstanceOfType(typeof(MockView1), viewManager.VisibleView);

            view1.PushNextButton();

            Assert.AreEqual("Node1", task.CurrentNode.Name);
            Assert.IsTrue(task.IsRunning);
            Assert.IsFalse(task.IsComplete);
            Assert.IsFalse(_taskCompleted);

            // Should navigate to NavigateInViewLoadEvent and then straight to Node2

            view1.PushNavigateInViewLoadButton();
            Assert.AreEqual("Node2", task.CurrentNode.Name);

            view2 = (MockView2) viewManager.VisibleView;
            view2.PushBackButton();

			Assert.AreEqual("Node1", task.CurrentNode.Name);
        	view1 = (MockView1) viewManager.VisibleView;
        	view1.PushButtonForView5();

        	Assert.AreEqual("Node5", task.CurrentNode.Name);
        	var view5 = (MockView5) viewManager.VisibleView;
			view5.PushBackButton();

            Assert.AreEqual("Node1", task.CurrentNode.Name);
            view1 = (MockView1)viewManager.VisibleView;
            view1.PushEndButton();
            Assert.IsTrue(_taskCompleted);
            Assert.IsTrue(task.IsComplete);
            Assert.IsFalse(task.IsRunning);
        }
Example #3
0
		public UipNavigator(UipTask task)
		{
			_task = task;
		}