private void ChangeActiveTaxonomy(TaxonomyItem newTaxonomyItem) { // handle the case where no taxonomy is selected // this can happen when all taxonomies are closed if (newTaxonomyItem == null) { Namespaces.Clear(); CurrentDirectory = ""; return; } var taxonomy = newTaxonomyItem.Taxonomy.Value; Namespaces.Clear(); foreach (var ns in taxonomy.AllNamespaces()) { var namespaceItem = new NamespaceItem(ns); foreach (var tag in taxonomy.TagsInNamespace(ns)) { namespaceItem.Tags.Add(tag); } Namespaces.Add(namespaceItem); } CurrentDirectory = taxonomy.RootPath; }
public void CloseTaxonomy(TaxonomyItem taxonomyItem) { if (taxonomyItem.Taxonomy.IsValueCreated) { var taxonomy = taxonomyItem.Taxonomy.Value; Taxonomies.Remove(taxonomyItem); taxonomy.Dispose(); } }
public void OpenTaxonomy(string path) { var taxonomyItem = new TaxonomyItem(path, p => new Taxonomy(p)); Taxonomies.Add(taxonomyItem); }
public void CreateNewTaxonomy(string path, string shortName) { var taxonomyItem = new TaxonomyItem(path, p => Taxonomy.CreateNew(p, shortName)); Taxonomies.Add(taxonomyItem); }