public void UpdateTasks(TDLTaskList tasks, TDLUIExtension.UpdateType type, TDLUIExtension.TaskAttribute attrib) { TDLTask task = tasks.GetFirstTask(); while (task.IsValid() && ProcessTaskUpdate(task, type, attrib)) task = task.GetNextTask(); PopulateDayView(); }
public bool DoAppCommand(TDLUIExtension.AppCommand cmd, UInt32 dwExtra) { return false; }
public bool WantSortUpdate(TDLUIExtension.TaskAttribute attrib) { return false; }
public bool WantEditUpdate(TDLUIExtension.TaskAttribute attrib) { return true; // all updates }
public void UpdateTasks(TDLTaskList tasks, TDLUIExtension.UpdateType type, System.Collections.Generic.HashSet<TDLUIExtension.TaskAttribute> attribs) { /* TDLTask task = tasks.GetFirstTask(); SampleListItem item = new SampleListItem(); System.Text.StringBuilder attrib = new System.Text.StringBuilder(); System.Text.StringBuilder value = new System.Text.StringBuilder(); if (attribs.Contains(TDLUIExtension.TaskAttribute.Title)) { attrib.Append("Title"); value.Append(task.GetTitle()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.DoneDate)) { attrib.Append("Done Date"); value.Append(task.GetDoneDateString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.DueDate)) { attrib.Append("Due Date"); value.Append(task.GetDueDateString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.StartDate)) { attrib.Append("Start Date"); value.Append(task.GetStartDateString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Priority)) { attrib.Append("Priority"); value.Append(task.GetPriority().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Color)) { attrib.Append("Color"); value.Append(task.GetColor().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.AllocTo)) { attrib.Append("Alloc To"); value.Append(task.GetAllocatedTo(0)); } if (attribs.Contains(TDLUIExtension.TaskAttribute.AllocBy)) { attrib.Append("Alloc By"); value.Append(task.GetAllocatedBy()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Status)) { attrib.Append("Status"); value.Append(task.GetStatus()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Category)) { attrib.Append("Category"); value.Append(task.GetCategory(0)); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Percent)) { attrib.Append("Percent"); value.Append(task.GetPercentDone().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.TimeEstimate)) { attrib.Append("Time Estimate"); TDLTask.TimeUnits units = TDLTask.TimeUnits.Hours; value.Append(task.GetTimeEstimate(ref units).ToString() + units); } if (attribs.Contains(TDLUIExtension.TaskAttribute.TimeSpent)) { attrib.Append("Time Spent"); TDLTask.TimeUnits units = TDLTask.TimeUnits.Hours; value.Append(task.GetTimeSpent(ref units).ToString() + units); } if (attribs.Contains(TDLUIExtension.TaskAttribute.FileReference)) { attrib.Append("File Reference"); value.Append(task.GetFileReference(0)); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Comments)) { attrib.Append("Comments"); value.Append(task.GetComments()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Flag)) { attrib.Append("Flag"); value.Append(task.IsFlagged().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.CreationDate)) { attrib.Append("Creation Date"); value.Append(task.GetCreationDateString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.CreatedBy)) { attrib.Append("Created By"); value.Append(task.GetCreatedBy()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Risk)) { attrib.Append("Risk"); value.Append(task.GetRisk().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.ExternalId)) { attrib.Append("External ID"); value.Append(task.GetExternalID()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Cost)) { attrib.Append("Cost"); value.Append(task.GetCost().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Dependency)) { attrib.Append("Dependency"); value.Append(task.GetDependency(0)); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Recurrence)) { attrib.Append("Recurrence"); //value.Append(task.GetRecurrence()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Version)) { attrib.Append("Version"); value.Append(task.GetVersion()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Position)) { attrib.Append("Position"); value.Append(task.GetPositionString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Id)) { attrib.Append("ID"); value.Append(task.GetID().ToString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.LastModified)) { attrib.Append("Last Modified"); //value.Append(task.GetLastModifiedString()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Icon)) { attrib.Append("Icon"); value.Append(task.GetIcon()); } if (attribs.Contains(TDLUIExtension.TaskAttribute.Tag)) { attrib.Append("Tag"); value.Append(task.GetTag(0)); } if (attribs.Contains(TDLUIExtension.TaskAttribute.CustomAttribute)) { attrib.Append("Custom Attribute"); //value.Append(task.GetCustomAttributeData()); } item.Attrib = attrib.ToString(); item.Value = value.ToString(); item.Tasks = task.GetID().ToString(); switch (type) { case TDLUIExtension.UpdateType.Edit: item.Type = "Edit"; break; case TDLUIExtension.UpdateType.New: item.Type = "Add Task"; break; case TDLUIExtension.UpdateType.Delete: item.Type = "Move Task(s)"; break; case TDLUIExtension.UpdateType.Move: item.Type = "Delete Task(s)"; break; case TDLUIExtension.UpdateType.All: item.Type = "All"; break; case TDLUIExtension.UpdateType.Unknown: item.Type = "Unknown"; break; } */ }
private bool ProcessTaskUpdate(TDLTask task, TDLUIExtension.UpdateType type, System.Collections.Generic.HashSet<TDLUIExtension.TaskAttribute> attribs) { if (!task.IsValid()) return false; CalendarItem item; if (m_Items.TryGetValue(task.GetID(), out item)) { if (attribs.Contains(TDLUIExtension.TaskAttribute.Title)) item.Title = task.GetTitle(); if (attribs.Contains(TDLUIExtension.TaskAttribute.DoneDate)) item.EndDate = item.OrgEndDate = task.GetDoneDate(); if (attribs.Contains(TDLUIExtension.TaskAttribute.DueDate)) item.EndDate = item.OrgEndDate = task.GetDueDate(); if (attribs.Contains(TDLUIExtension.TaskAttribute.StartDate)) item.StartDate = item.OrgStartDate = task.GetStartDate(); if (attribs.Contains(TDLUIExtension.TaskAttribute.AllocTo)) item.AllocTo = String.Join(", ", task.GetAllocatedTo()); item.TaskTextColor = task.GetTextDrawingColor(); } else { item = new CalendarItem(); item.Title = task.GetTitle(); item.EndDate = item.OrgEndDate = task.GetDueDate(); item.StartDate = item.OrgStartDate = task.GetStartDate(); item.AllocTo = String.Join(", ", task.GetAllocatedTo()); item.Id = task.GetID(); item.IsParent = task.IsParent(); item.TaskTextColor = task.GetTextDrawingColor(); item.DrawBorder = true; } if (item.EndDate > item.StartDate) m_Items[task.GetID()] = item; // Process children TDLTask subtask = task.GetFirstSubtask(); while (subtask.IsValid() && ProcessTaskUpdate(subtask, type, attribs)) subtask = subtask.GetNextTask(); return true; }
public bool WantEditUpdate(TDLUIExtension.TaskAttribute attrib) { switch (attrib) { case TDLUIExtension.TaskAttribute.Title: case TDLUIExtension.TaskAttribute.DoneDate: case TDLUIExtension.TaskAttribute.DueDate: case TDLUIExtension.TaskAttribute.StartDate: case TDLUIExtension.TaskAttribute.AllocTo: return true; } // all else return false; }
public void UpdateTasks(TDLTaskList tasks, TDLUIExtension.UpdateType type, System.Collections.Generic.HashSet<TDLUIExtension.TaskAttribute> attribs) { switch (type) { case TDLUIExtension.UpdateType.Delete: case TDLUIExtension.UpdateType.Move: case TDLUIExtension.UpdateType.All: // Rebuild m_Items.Clear(); break; case TDLUIExtension.UpdateType.New: case TDLUIExtension.UpdateType.Edit: // In-place update break; } TDLTask task = tasks.GetFirstTask(); while (task.IsValid() && ProcessTaskUpdate(task, type, attribs)) task = task.GetNextTask(); // Clear selection m_DayView.SelectionStart = m_DayView.SelectionEnd; m_DayView.Invalidate(); }
public void UpdateTasks(TDLTaskList tasks, TDLUIExtension.UpdateType type, TDLUIExtension.TaskAttribute attrib) { TDLTask task = tasks.GetFirstTask(); SampleListItem item = new SampleListItem(); item.Tasks = task.GetID().ToString(); switch (attrib) { case TDLUIExtension.TaskAttribute.Title: item.Attrib = "Title"; item.Value = task.GetTitle(); break; case TDLUIExtension.TaskAttribute.DoneDate: item.Attrib = "Done Date"; item.Value = task.GetDoneDateString(); break; case TDLUIExtension.TaskAttribute.DueDate: item.Attrib = "Due Date"; item.Value = task.GetDueDateString(); break; case TDLUIExtension.TaskAttribute.StartDate: item.Attrib = "Start Date"; item.Value = task.GetStartDateString(); break; case TDLUIExtension.TaskAttribute.Priority: item.Attrib = "Priority"; item.Value = task.GetPriority().ToString(); break; case TDLUIExtension.TaskAttribute.Color: item.Attrib = "Color"; item.Value = task.GetColor().ToString(); break; case TDLUIExtension.TaskAttribute.AllocTo: item.Attrib = "Alloc To"; item.Value = task.GetAllocatedTo(0); break; case TDLUIExtension.TaskAttribute.AllocBy: item.Attrib = "Alloc By"; item.Value = task.GetAllocatedBy(); break; case TDLUIExtension.TaskAttribute.Status: item.Attrib = "Status"; item.Value = task.GetStatus(); break; case TDLUIExtension.TaskAttribute.Category: item.Attrib = "Category"; item.Value = task.GetCategory(0); break; case TDLUIExtension.TaskAttribute.Percent: item.Attrib = "Percent"; item.Value = task.GetPercentDone().ToString(); break; case TDLUIExtension.TaskAttribute.TimeEstimate: { item.Attrib = "Time Estimate"; Char units = 'H'; item.Value = (task.GetTimeEstimate(ref units).ToString() + units); } break; case TDLUIExtension.TaskAttribute.TimeSpent: { item.Attrib = "Time Spent"; Char units = 'H'; item.Value = (task.GetTimeSpent(ref units).ToString() + units); } break; case TDLUIExtension.TaskAttribute.FileReference: item.Attrib = "File Reference"; item.Value = task.GetFileReference(0); break; case TDLUIExtension.TaskAttribute.Comments: item.Attrib = "Comments"; item.Value = task.GetComments(); break; case TDLUIExtension.TaskAttribute.Flag: item.Attrib = "Flag"; item.Value = task.IsFlagged().ToString(); break; case TDLUIExtension.TaskAttribute.CreationDate: item.Attrib = "Creation Date"; item.Value = task.GetCreationDateString(); break; case TDLUIExtension.TaskAttribute.CreatedBy: item.Attrib = "Created By"; item.Value = task.GetCreatedBy(); break; case TDLUIExtension.TaskAttribute.Risk: item.Attrib = "Risk"; item.Value = task.GetRisk().ToString(); break; case TDLUIExtension.TaskAttribute.ExternalId: item.Attrib = "External ID"; item.Value = task.GetExternalID(); break; case TDLUIExtension.TaskAttribute.Cost: item.Attrib = "Cost"; item.Value = task.GetCost().ToString(); break; case TDLUIExtension.TaskAttribute.Dependency: item.Attrib = "Dependency"; item.Value = task.GetDependency(0); break; case TDLUIExtension.TaskAttribute.Recurrence: item.Attrib = "Recurrence"; //item.Value = task.GetRecurrence(); break; case TDLUIExtension.TaskAttribute.Version: item.Attrib = "Version"; item.Value = task.GetVersion(); break; case TDLUIExtension.TaskAttribute.Position: item.Attrib = "Position"; item.Value = task.GetPositionString(); break; case TDLUIExtension.TaskAttribute.Id: item.Attrib = "ID"; item.Value = task.GetID().ToString(); break; case TDLUIExtension.TaskAttribute.LastModified: item.Attrib = "Last Modified"; //item.Value = task.GetLastModifiedString(); break; case TDLUIExtension.TaskAttribute.Icon: item.Attrib = "Icon"; item.Value = task.GetIcon(); break; case TDLUIExtension.TaskAttribute.Tag: item.Attrib = "Tag"; item.Value = task.GetTag(0); break; case TDLUIExtension.TaskAttribute.CustomAttribute: item.Attrib = "Custom Attribute"; //item.Value = task.GetCustomAttributeData(); break; case TDLUIExtension.TaskAttribute.All: item.Attrib = "All"; item.Value = "..."; break; case TDLUIExtension.TaskAttribute.Unknown: item.Attrib = "Unknown"; break; } switch (type) { case TDLUIExtension.UpdateType.Edit: item.Type = "Edit"; break; case TDLUIExtension.UpdateType.Add: item.Type = "Add Task"; break; case TDLUIExtension.UpdateType.Delete: item.Type = "Move Task(s)"; break; case TDLUIExtension.UpdateType.Move: item.Type = "Delete Task(s)"; break; case TDLUIExtension.UpdateType.All: item.Type = "All"; break; case TDLUIExtension.UpdateType.Unknown: item.Type = "Unknown"; break; } m_Items.Add(item); m_ListView.Items.Refresh(); }
public void DoAppCommand(TDLUIExtension.AppCommand cmd, UInt32 dwExtra) { }
private bool ProcessTaskUpdate(TDLTask task, TDLUIExtension.UpdateType type, TDLUIExtension.TaskAttribute attrib) { if (!task.IsValid()) return false; CalendarItem item; if (m_Items.TryGetValue(task.GetID(), out item)) { switch (attrib) { case TDLUIExtension.TaskAttribute.Title: item.Title = task.GetTitle(); break; case TDLUIExtension.TaskAttribute.DoneDate: item.End = ToDateTime(task.GetDoneDate()); break; case TDLUIExtension.TaskAttribute.DueDate: item.End = ToDateTime(task.GetDueDate()); break; case TDLUIExtension.TaskAttribute.StartDate: item.Start = ToDateTime(task.GetStartDate()); break; } } else { item = new CalendarItem(); item.Title = task.GetTitle(); item.End = ToDateTime(task.GetDueDate()); item.Start = ToDateTime(task.GetStartDate()); item.TaskID = task.GetID(); item.IsParent = task.GetFirstSubtask().IsValid(); } m_Items[task.GetID()] = item; // Process children TDLTask subtask = task.GetFirstSubtask(); while (subtask.IsValid() && ProcessTaskUpdate(subtask, type, attrib)) subtask = subtask.GetNextTask(); return true; }