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; }
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); }
protected virtual void TryEndTask(IUITask task) { if (task != null && task.IsRunning) { task.EndTask(); } }
protected virtual void OnTaskStarted(IUITask task) { if (TaskStarted != null) { TaskStarted(this, new UITaskEventArgs(task)); } }