static void tempSave_Click(object sender, EventArgs e) { TreeView tv = ((MenuItem)sender).Tag as TreeView; CategoryTreeNode settings = tv.Tag as CategoryTreeNode; BaseLoader <CategoryTreeNode> .Save(settings.mFileName, settings); }
public void Setup(CategoryTreeNode settings, Category cat) { mCat = cat; this.textBox1.Text = mCat.Name; this.collectionChooser1.SetOptions(settings.mAllEntries); mTempEntries.Clear(); mTempEntries.AddRange(mCat.Entries); this.collectionChooser1.BoundSelectionList = mTempEntries; }
//Build a tree with built in edit caps public static TreeNode BuildTreeEditor(CategoryTreeNode settings) { TreeNode root = new TreeNode(); root.Text = "Root"; foreach (Category c in settings.Categories) { TreeNode cat = LoadCategoryEditor(c); root.Nodes.Add(cat); } return(root); }
public void Setup(CategoryTreeNode settings)//ICollection<string> entries) { mSettings = settings; mTreeView.Tag = mSettings; mTreeView.Nodes.Clear(); mTreeView.Nodes.AddRange(CategoryTreeLogic.BuildTree(mSettings)); //mTreeView.Nodes.AddRange(CategoryTreeLogic.BuildTreeEditor(mSettings).Nodes); //load it up... }
static void addTopCategory_Click(object sender, EventArgs e) { TreeView tv = ((MenuItem)sender).Tag as TreeView; CategoryTreeNode settings = tv.Tag as CategoryTreeNode; Category cat = new Category(); cat.Name = "New Category"; settings.Categories.Add(cat); TreeNode category = new TreeNode(); category.Text = cat.Name; category.Tag = cat; tv.Nodes.Add(category); }
protected static ContextMenu GetMainMenu(TreeView tv, CategoryTreeNode settings) { ContextMenu menu = new ContextMenu(); MenuItem addTopCategory = new MenuItem("Add Category"); addTopCategory.Click += new EventHandler(addTopCategory_Click); addTopCategory.Tag = tv; menu.MenuItems.Add(addTopCategory); MenuItem tempSave = new MenuItem("tempSave"); tempSave.Click += new EventHandler(tempSave_Click); tempSave.Tag = tv; menu.MenuItems.Add(tempSave); return(menu); }
public static TreeNode[] BuildTree(CategoryTreeNode settings) { //ICollection<string> names = settings.mAllEntries; //TreeNode root = new TreeNode(); //root.Text = "Root"; List <TreeNode> nodes = new List <TreeNode>(); foreach (Category c in settings.Categories) { TreeNode cat = LoadCategory(c); //root.Nodes.Add(cat); nodes.Add(cat); } //return root; return(nodes.ToArray()); }
static public void ShowMenu(TreeView tv, CategoryTreeNode settings, MouseEventArgs e) { TreeNode node = tv.GetNodeAt(e.X, e.Y); ContextMenu m = null; if (e.Button == MouseButtons.Right) { if (node != null) { m = CategoryTreeLogic.GetMenu(tv, node); } else { m = CategoryTreeLogic.GetMainMenu(tv, settings); } } if (m != null) { m.Show(tv, new Point(e.X, e.Y)); } }
static void deleteCategory_Click(object sender, EventArgs e) { TreeNode node = ((MenuItem)sender).Tag as TreeNode; Category cat = node.Tag as Category; TreeView tv = node.TreeView; CategoryTreeNode settings = tv.Tag as CategoryTreeNode; TreeNode parentNode = node.Parent; //has parent if (parentNode != null) { Category parentCat = parentNode.Tag as Category; if (parentCat != null) { parentNode.Nodes.Remove(node); parentCat.Categories.Remove(cat); return; } else { settings.Categories.Remove(cat); parentNode.Nodes.Remove(node); return; } } else //is root { tv.Nodes.Remove(node); settings.Categories.Remove(cat); return; } //parent.Categories.Add(cat); //node.Nodes.Add(category); }
static void editCategory_Click(object sender, EventArgs e) { TreeNode node = ((MenuItem)sender).Tag as TreeNode; Category cat = node.Tag as Category; TreeView tv = node.TreeView; CategoryTreeNode settings = tv.Tag as CategoryTreeNode; CategoryTreeEditor cte = new CategoryTreeEditor(); cte.Setup(settings, cat); //todo edit page //todo popup entry editor?? PopupEditor pe = new PopupEditor(); Form f = pe.ShowPopup(tv, cte, FormBorderStyle.Sizable, true); if (f.ShowDialog() == DialogResult.OK) { node.Text = cat.Name; } }
public static ICollection <string> GetContent(CategoryTreeNode settings, Category cat)//, ICollection<string> allNames) { //Category cat = node.Tag as Category; ICollection <string> allNames = settings.mAllEntries; ICollection <string> collection = new List <string>(); if (cat.Rules.Count > 0) { ((List <string>)collection).AddRange(allNames); foreach (StringRule sr in cat.Rules) { collection = StringSets.ApplyRule(sr, collection); } } foreach (string e in cat.Entries) { collection.Add(e); } return(collection); }
public void Setup(CategoryTreeNode settings)//ICollection<string> entries) { mSettings = settings; this.categoryTree1.Setup(mSettings); }