public void RegisterWorkspaceType(string resType, int[] linkPropIDs, WorkspaceResourceType wrType) { WorkspaceTypeRec rec = new WorkspaceTypeRec(resType, linkPropIDs, Core.Props.Parent, wrType); _workspaceTypes.Add(rec); _resTypeToWorkspaceRec [resType] = rec; }
public IResourceList GetChildResources(IResource parent) { IResourceList result = null; if (parent == _treeRoot) { return(_workspaceContentsList); } WorkspaceResourceType wrType = Core.WorkspaceManager.GetWorkspaceResourceType(parent.Type); if (wrType == WorkspaceResourceType.Container && parent.HasLink(_workspaceManager.Props.InWorkspace, _workspace)) { // if it's a container that is not linked recursively - do not show children return(Core.ResourceStore.EmptyResourceList); } result = parent.GetLinksToLive(null, _dataProvider.ParentProperty); result = result.Minus(_workspace.GetLinksToLive(null, _workspaceManager.Props.ExcludeFromWorkspace)); string sortProps = Core.ResourceTreeManager.GetResourceNodeSort(parent); if (sortProps != null) { result.Sort(sortProps); } return(result); }
internal WorkspaceTypeRec(string resType, int[] linkPropIDs, int recurseLinkPropId, WorkspaceResourceType wrType) { _resType = resType; _linkPropIds = linkPropIDs; _recurseLinkPropId = recurseLinkPropId; _workspaceResType = wrType; }
private void UpdateAvailableTreeSelection() { bool allFolders = true; foreach (IResource selResource in _tvAvailable.SelectedResources) { WorkspaceResourceType wrType = _workspaceManager.GetWorkspaceResourceType(selResource.Type); if (wrType != WorkspaceResourceType.Folder) { allFolders = false; } } _btnAdd.Enabled = !allFolders; _btnAddWithChildren.Enabled = (_tvAvailable.SelectedResources.Count > 0); }