public IViewTransition BeginTransition(IUITask task)
		{
			if (Interlocked.Increment(ref _transitionReferenceCount) <= 0)
			{
				Assert.Fail("transition reference count = " + _transitionReferenceCount);
			}
			return new ViewTransition(this, task);
		}
		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 IUITask;

			if (_task != null)
			{
				_viewManager = new ViewDeck(_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);
			}
		}
			public ViewTransition(FakeViewDeck viewDeck, IUITask task)
			{
				_viewDeck = Verify.ArgumentNotNull(viewDeck, "viewDeck");
				_task = Verify.ArgumentNotNull(task, "task");
				_viewDeck.BeginTask(task);
			}
		public UITaskEventArgs(IUITask task)
		{
			Task = task;
		}
Exemple #5
0
		public virtual IViewTransition BeginTransition(IUITask task)
		{
			if (task != null)
			{
				if (!_currentUITasks.Contains(task))
				{
					_currentUITasks.Add(task);
					task.TaskComplete += TaskCompleteHandler;
					OnTaskStarted(task);
				}
			}

			BeginTransition();
			return new ViewTransition(this);
		}
Exemple #6
0
		protected virtual void TryEndTask(IUITask task)
		{
			if (task != null && task.IsRunning)
			{
				task.EndTask();
			}
		}
Exemple #7
0
		protected virtual void OnTaskStarted(IUITask task)
		{
			if (TaskStarted != null)
			{
				TaskStarted(this, new UITaskEventArgs(task));
			}
		}