private void Tree_AttributeChanged(MapNode node, AttributeChangeEventArgs e) { //// Task List Change // task completed if (e.ChangeType == AttributeChange.Added && e.AttributeSpec.IsCompletionDate()) { Add(node); TaskChanged(node, GetEventArgs(node, CompletedTaskChange.TaskCompleted, e)); } // task removed else if (e.ChangeType == AttributeChange.Removed && e.AttributeSpec.IsCompletionDate()) { if (Remove(node)) { TaskChanged(node, GetEventArgs(node, CompletedTaskChange.TaskRemoved, e)); } } // completion date updated else if(e.ChangeType == AttributeChange.ValueUpdated && e.AttributeSpec.IsCompletionDate()) { Remove(node); Add(node); TaskChanged(node, GetEventArgs(node, CompletedTaskChange.CompletionDateUpdated, e)); } //// Task Property Change (which doesn't affect list) else if(CompletedTaskPropertyChanged != null && e.AttributeSpec.IsStartDate() && node.IsTaskComplete()) { var args = new CompletedTaskPropertyEventArgs(){ PropertyChanged = CompletedTaskProperty.StartDate }; if (!string.IsNullOrEmpty(e.oldValue)) args.OldValue = DateHelper.ToDateTime(e.oldValue); CompletedTaskPropertyChanged(node, args); } }
public bool ShowIcon(MapNode node) { return node.IsTaskComplete(); }
private void SelectedNodes_NodeDeselected(MapNode node, SelectedNodes selectedNodes) { if (TaskSelectionChanged == null) return; if (node.IsTaskComplete()) { TaskSelectionChanged(node, new TaskSelectionEventArgs() { ChangeType = TaskSelectionChange.Deselected }); } }