/// <summary> /// </summary> /// <param name="xmlNodeToSaveTo"></param> /// <param name="taskNodeToSave"></param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="xmlNodeToSaveTo"/> is <see langword="null"/>. /// -or- /// <paramref name="taskNodeToSave"/> is <see langword="null"/>. /// </exception> protected void SaveNode(XmlNode xmlNodeToSaveTo, NuGenTaskTreeNodeBase taskNodeToSave) { if (xmlNodeToSaveTo == null) { throw new ArgumentNullException("xmlNodeToSaveTo"); } if (taskNodeToSave == null) { throw new ArgumentNullException("xmlNodeToSave"); } if (taskNodeToSave.IsRemovable) { string xmlNodeName = (taskNodeToSave is NuGenTaskTreeNode) ? Resources.XmlTag_Task : Resources.XmlTag_Folder ; XmlNode xmlTaskNode = this.XmlService.AppendChild(xmlNodeToSaveTo, xmlNodeName); taskNodeToSave.Save(xmlTaskNode); foreach (NuGenTaskTreeNodeBase childNode in taskNodeToSave.Nodes) { this.SaveNode(xmlTaskNode, childNode); } } }
/// <summary> /// </summary> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="taskNodeToAdd"/> is <see langword="null"/>. /// </exception> public void AddTask(NuGenTaskTreeNode taskNodeToAdd) { if (taskNodeToAdd == null) { throw new ArgumentNullException("taskNodeToAdd"); } NuGenTaskTreeNodeBase selectedNode = (NuGenTaskTreeNodeBase)this.SelectedNode; if ( selectedNode is NuGenFolderTreeNode && selectedNode.IsRemovable ) { selectedNode.Nodes.AddNode(taskNodeToAdd); } else if ( selectedNode != null && selectedNode.Parent != null ) { if ( selectedNode.Parent is NuGenTaskTreeNodeBase && ((NuGenTaskTreeNodeBase)selectedNode.Parent).IsRemovable ) { selectedNode.Parent.Nodes.AddNode(taskNodeToAdd); } else { this.Nodes.AddNode(taskNodeToAdd); } } else { this.Nodes.AddNode(taskNodeToAdd); } this.SelectedNode = taskNodeToAdd; this.OnTaskAdded(EventArgs.Empty); this.OnEventToBeDelayed(new NuGenTaskAddedEventArgs(taskNodeToAdd.Text)); }
/// <summary> /// </summary> /// <param name="xmlNodeToLoadFrom"></param> /// <param name="parentNodeCollection"></param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="xmlNodeToLoadFrom"/> is <see langword="null"/>. /// -or- /// <paramref name="parentNodeCollection"/> is <see langword="null"/>. /// </exception> protected void LoadNode(XmlNode xmlNodeToLoadFrom, NuGenTreeNodeCollection parentNodeCollection) { if (xmlNodeToLoadFrom == null) { throw new ArgumentNullException("xmlNodeToLoadFrom"); } if (parentNodeCollection == null) { throw new ArgumentNullException("parentNodeCollection"); } NuGenTaskTreeNodeBase treeNodeToAdd = null; if (xmlNodeToLoadFrom.Name == Resources.XmlTag_Folder) { treeNodeToAdd = new NuGenFolderTreeNode(this.ServiceProvider); this.InitializeFolder((NuGenFolderTreeNode)treeNodeToAdd); } else if (xmlNodeToLoadFrom.Name == Resources.XmlTag_Task) { treeNodeToAdd = new NuGenTaskTreeNode(this.ServiceProvider); this.InitializeTask((NuGenTaskTreeNode)treeNodeToAdd); } else { return; } parentNodeCollection.AddNode(treeNodeToAdd); treeNodeToAdd.Load(xmlNodeToLoadFrom); foreach (XmlNode childNode in xmlNodeToLoadFrom.ChildNodes) { this.LoadNode(childNode, treeNodeToAdd.Nodes); } }
/// <summary> /// </summary> /// <param name="xmlNodeToSaveTo"></param> /// <param name="taskNodeToSave"></param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="xmlNodeToSaveTo"/> is <see langword="null"/>. /// -or- /// <paramref name="taskNodeToSave"/> is <see langword="null"/>. /// </exception> protected void SaveNode(XmlNode xmlNodeToSaveTo, NuGenTaskTreeNodeBase taskNodeToSave) { if (xmlNodeToSaveTo == null) { throw new ArgumentNullException("xmlNodeToSaveTo"); } if (taskNodeToSave == null) { throw new ArgumentNullException("xmlNodeToSave"); } if (taskNodeToSave.IsRemovable) { string xmlNodeName = (taskNodeToSave is NuGenTaskTreeNode) ? Resources.XmlTag_Task : Resources.XmlTag_Folder ; XmlNode xmlTaskNode = this.XmlService.AppendChild(xmlNodeToSaveTo, xmlNodeName); taskNodeToSave.Save(xmlTaskNode); foreach (NuGenTaskTreeNodeBase childNode in taskNodeToSave.Nodes) { this.SaveNode(xmlTaskNode, childNode); } } }
/** * InitializeContextMenu */ private void InitializeContextMenu(ref ContextMenuStrip contextMenuToInitialize, ref IContainer componentsToAddContextMenuTo) { if (componentsToAddContextMenuTo == null) { componentsToAddContextMenuTo = new Container(); } contextMenuToInitialize = new ContextMenuStrip(componentsToAddContextMenuTo); contextMenuToInitialize.RenderMode = ToolStripRenderMode.System; List <ToolStripMenuItem> priorityItems = new List <ToolStripMenuItem>(); priorityItems.Add( new ToolStripMenuItem( Resources.CriticalMenuItem_Text, Resources.Priority_Critical, this.criticalMenuItem_Click ) ); priorityItems.Add( new ToolStripMenuItem( Resources.RequiredMenuItem_Text, Resources.Priority_Required, this.requiredMenuItem_Click ) ); priorityItems.Add( new ToolStripMenuItem( Resources.WantedMenuItem_Text, Resources.Priority_Wanted, this.wantedMenuItem_Click ) ); priorityItems.Add( new ToolStripMenuItem( Resources.WouldBeNiceMenuItem_Text, Resources.Priority_WouldBeNice, this.wouldBeNiceMenuItem_Click ) ); priorityItems.Add( new ToolStripMenuItem( Resources.MaybeMenuItem_Text, Resources.Priority_Maybe, this.maybeMenuItem_Click ) ); ToolStripMenuItem deleteMenuItem = new ToolStripMenuItem( Resources.DeleteMenuItem_Text, Resources.Delete, this.deleteMenuItem_Click, Keys.Delete ); ToolStripMenuItem selectAllMenuItem = new ToolStripMenuItem( Resources.SelectAllMenuItem_Text, null, this.selectAllMenuItem_Click, Keys.Control | Keys.A ); foreach (ToolStripMenuItem priorityItem in priorityItems) { contextMenuToInitialize.Items.Add(priorityItem); } contextMenuToInitialize.Items.Add("-"); contextMenuToInitialize.Items.Add(deleteMenuItem); /* TURNED OFF: contextMenuToInitialize.Items.Add("-"); * contextMenuToInitialize.Items.Add(selectAllMenuItem); */ contextMenuToInitialize.Opening += delegate { if (this.SelectedNode is NuGenTaskTreeNodeBase) { NuGenTaskTreeNodeBase selectedNode = (NuGenTaskTreeNodeBase)this.SelectedNode; bool hasPriority = selectedNode.HasPriority; bool isRemovable = selectedNode.IsRemovable; deleteMenuItem.Enabled = isRemovable; foreach (ToolStripMenuItem priorityItem in priorityItems) { priorityItem.Enabled = hasPriority; } } else { deleteMenuItem.Enabled = true; foreach (ToolStripMenuItem priorityItem in priorityItems) { priorityItem.Enabled = true; } } }; }