protected void AddResources(IEnumerable<ResourcePathMetadata> resources, ItemsList items) { List<ResourcePathMetadata> resourcesMetadata = new List<ResourcePathMetadata>(resources); resourcesMetadata.Sort((a, b) => a.ResourceName.CompareTo(b.ResourceName)); foreach (ResourcePathMetadata resourceMetadata in resourcesMetadata) { TreeItem directoryItem = new TreeItem(Consts.KEY_NAME, resourceMetadata.ResourceName); directoryItem.AdditionalProperties[Consts.KEY_RESOURCE_PATH] = resourceMetadata.ResourcePath; directoryItem.SetLabel(Consts.KEY_PATH, resourceMetadata.HumanReadablePath); if (ChoosenResourcePath == resourceMetadata.ResourcePath) directoryItem.Selected = true; directoryItem.SelectedProperty.Attach(OnTreePathSelectionChanged); directoryItem.AdditionalProperties[Consts.KEY_EXPANSION] = new ExpansionHelper(directoryItem, this); items.Add(directoryItem); } }
protected void RefreshResourceProviderPathList(ItemsList items, ResourcePath path) { items.Clear(); IEnumerable<ResourcePathMetadata> res = GetChildDirectoriesData(path); if (res != null) { List<ResourcePathMetadata> directories = new List<ResourcePathMetadata>(res); directories.Sort((a, b) => a.ResourceName.CompareTo(b.ResourceName)); foreach (ResourcePathMetadata childDirectory in directories) { TreeItem directoryItem = new TreeItem(Consts.KEY_NAME, childDirectory.ResourceName); directoryItem.AdditionalProperties[Consts.KEY_RESOURCE_PATH] = childDirectory.ResourcePath; directoryItem.SetLabel(Consts.KEY_PATH, childDirectory.HumanReadablePath); if (ChoosenResourcePath == childDirectory.ResourcePath) directoryItem.Selected = true; directoryItem.SelectedProperty.Attach(OnTreePathSelectionChanged); directoryItem.AdditionalProperties[Consts.KEY_EXPANSION] = new ExpansionHelper(directoryItem, this); items.Add(directoryItem); } } items.FireChange(); }