protected override void HandleModelChanged(object sender, ModelChangedArgs e) { TreePath treePath = new TreePath(view.Tree.Root); switch (e.Context) { case EventContext.WorkitemPropertiesUpdatedFromView: HandleWorkitemPropertiesUpdated(PropertyUpdateSource.WorkitemView); break; case EventContext.WorkitemPropertiesUpdatedFromPropertyView: HandleWorkitemPropertiesUpdated(PropertyUpdateSource.WorkitemPropertyView); break; case EventContext.WorkitemsChanged: treePath = view.Tree.GetPath(view.CurrentNode.Level == 2 ? view.CurrentNode.Parent : view.CurrentNode); model.InvokeStructureChanged(treePath); break; case EventContext.VirtualWorkitemRemoved: treePath = view.Tree.GetPath(view.CurrentNode.Parent??view.Tree.Root); model.InvokeStructureChanged(treePath); break; case EventContext.ProjectSelected: HandleModelChanged(); break; case EventContext.WorkitemsRequested: HandleModelChanged(); break; case EventContext.WorkitemSaved: treePath = view.Tree.GetPath(view.CurrentNode.Level == 2 ? view.CurrentNode.Parent : view.CurrentNode); model.InvokeStructureChanged(treePath); break; case EventContext.WorkitemCacheInvalidated: assetCache.Drop(); break; default: throw new NotSupportedException(); } }
public void Notify(object sender, ModelChangedArgs e) { if (ModelChanged != null) { ModelChanged(sender, e); } }
protected override void HandleModelChanged(object sender, ModelChangedArgs e) { if (!ReferenceEquals(sender, this)) { return; } var versionOneSettings = CreateVersionOneSettings(view.Model); Logger.Info("Connecting to VersionOne with new settings..."); DataLayer.Connect(versionOneSettings); EventDispatcher.Notify(this, new ModelChangedArgs(EventReceiver.WorkitemView, EventContext.WorkitemCacheInvalidated)); Logger.Debug("Sending update request to Projects view..."); EventDispatcher.Notify(this, new ModelChangedArgs(EventReceiver.ProjectView, EventContext.ProjectsRequested)); }
protected override void HandleModelChanged(object sender, ModelChangedArgs e) { switch(e.Context) { case EventContext.ProjectsRequested: Logger.Debug("Loading projects..."); View.UpdateData(); break; case EventContext.ProjectSelected: Logger.Debug("Project selected, sending update request to Workitem view"); EventDispatcher.Notify(this, new ModelChangedArgs(EventReceiver.WorkitemView, EventContext.ProjectSelected)); break; default: throw new NotSupportedException(); } }
protected override void HandleModelChanged(object sender, ModelChangedArgs e) { switch (e.Context) { case EventContext.WorkitemPropertiesUpdatedFromView: HandleWorkitemPropertiesUpdated(PropertyUpdateSource.WorkitemView); break; case EventContext.WorkitemPropertiesUpdatedFromPropertyView: HandleWorkitemPropertiesUpdated(PropertyUpdateSource.WorkitemPropertyView); break; case EventContext.WorkitemsChanged: model.InvokeStructureChanged(); break; case EventContext.ProjectSelected: HandleModelChanged(); break; case EventContext.WorkitemsRequested: HandleModelChanged(); break; case EventContext.WorkitemCacheInvalidated: assetCache.Drop(); break; default: throw new NotSupportedException(); } }
private bool ShouldHandleModelChangedEvent(ModelChangedArgs e) { return ReceiverType == e.Receiver || e.Receiver == EventReceiver.All; }
protected virtual void HandleModelChanged(object sender, ModelChangedArgs e) { }
private void ModelChanged(object sender, ModelChangedArgs e) { if(ShouldHandleModelChangedEvent(e)) { HandleModelChanged(sender, e); } }
public void Notify(object sender, ModelChangedArgs e) { if(ModelChanged != null) { ModelChanged(sender, e); } }