public void LoadModelWithRules() { EditableTreeView editableTv = new EditableTreeView(); TreeModel <string> tm = new TreeModel <string>("", new List <TreeModel <string> >() { new TreeModel <string>("section 1", new List <TreeModel <string> >() { new TreeModel <string>("sec1item1"), new TreeModel <string>("sec1item2") }), new TreeModel <string>("section 2"), }); List <EditableTreeViewLevelRule> rules = new List <EditableTreeViewLevelRule>() { new EditableTreeViewLevelRule("section", true), new EditableTreeViewLevelRule("item", true), }; editableTv.LoadModelWithRules(tm, rules); TreeModel <string> saved = new TreeModel <string>("", editableTv.SaveToTreeModel()); Assert.AreEqual(tm, saved); Assert.IsTrue(LayersHaveTextBoxes(editableTv, 2)); }
public EditableTreeViewSettingsMapping(string storageKey, string defaultValue, EditableTreeView treeView, IEnumerable <EditableTreeViewLevelRule> rules) : base(storageKey, defaultValue) { this.TreeView = treeView; this.Rules = rules; this.Model = new TreeModel <string>(""); this.TreeModelMapping = new TreeModelSettingsMapping( storageKey, defaultValue, this.Model); }
public void TestEditableTreeViewSettingsMapping() { TreeModel <string> tm = new TreeModel <string>("", new List <TreeModel <string> >() { new TreeModel <string>("section 1", new List <TreeModel <string> >() { new TreeModel <string>("sec1item1"), new TreeModel <string>("sec1item2") }), new TreeModel <string>("section 2"), }); List <EditableTreeViewLevelRule> rules = new List <EditableTreeViewLevelRule>() { new EditableTreeViewLevelRule("section", true), new EditableTreeViewLevelRule("item", true), }; EditableTreeView etv = new EditableTreeView(); //etv.LoadModelWithRules(tm, rules); EditableTreeViewSettingsMapping mapping = new EditableTreeViewSettingsMapping("test", null, etv, rules); string serialized = mapping.Serialize(); EditableTreeView dupe = new EditableTreeView(); EditableTreeViewSettingsMapping mapdupe = new EditableTreeViewSettingsMapping("test", null, etv, rules); mapdupe.Deserialize(serialized); Assert.AreEqual(etv.SaveToTreeModel(""), dupe.SaveToTreeModel("")); Assert.AreEqual(serialized, mapdupe.Serialize()); }
public void AddWithTextbox() { EditableTreeView editableTv = new EditableTreeView(); TreeModel <string> tm = new TreeModel <string>("", new List <TreeModel <string> >() { new TreeModel <string>("section 1", new List <TreeModel <string> >() { new TreeModel <string>("sec1item1"), new TreeModel <string>("sec1item2") }), new TreeModel <string>("section 2"), }); List <EditableTreeViewLevelRule> rules = new List <EditableTreeViewLevelRule>() { new EditableTreeViewLevelRule("section", true), new EditableTreeViewLevelRule("item", true), }; editableTv.LoadModelWithRules(tm, rules); foreach (object item in editableTv.Items) { if (item is TextBox) { TextBox tb = (TextBox)item; tb.Text = "newitem"; tb.RaiseEvent(new KeyEventArgs( Keyboard.PrimaryDevice, new FakePresentationSource(), 0, Key.Enter) { RoutedEvent = Keyboard.KeyUpEvent }); break; } } TreeModel <string> saved = new TreeModel <string>("", editableTv.SaveToTreeModel()); TreeModel <string> expectedResult = new TreeModel <string>("", new List <TreeModel <string> >() { new TreeModel <string>("section 1", new List <TreeModel <string> >() { new TreeModel <string>("sec1item1"), new TreeModel <string>("sec1item2") }), new TreeModel <string>("section 2"), new TreeModel <string>("newitem") }); Assert.AreEqual(expectedResult, saved); Assert.IsTrue(LayersHaveTextBoxes(editableTv, 2)); }