public DependencyModel( string providerType, string path, string originalItemSpec, ProjectTreeFlags flags, bool resolved, bool isImplicit, IImmutableDictionary <string, string> properties) { Requires.NotNullOrEmpty(providerType, nameof(providerType)); Requires.NotNullOrEmpty(path, nameof(path)); ProviderType = providerType; Path = path; Name = Path; OriginalItemSpec = originalItemSpec ?? Path; Resolved = resolved; Implicit = isImplicit; Properties = properties ?? ImmutableDictionary <string, string> .Empty; Caption = Name; if (resolved) { Flags = flags.Union(DependencyTreeFlags.GenericResolvedDependencyFlags); } else { Flags = flags.Union(DependencyTreeFlags.GenericUnresolvedDependencyFlags); } if (isImplicit) { Flags = Flags.Except(DependencyTreeFlags.SupportsRemove); } }
/// <summary> /// Create a project dependency node given ID /// </summary> private IDependencyNode CreateDependencyNode(DependencyNodeId id, int priority, IImmutableDictionary <string, string> properties, bool resolved) { return(new ProjectDependencyNode(id, flags: ProjectSubTreeNodeFlags.Union(DependencyNode.DependsOnOtherProviders), priority: priority, properties: properties, resolved: resolved)); }
public DependencyModel( string providerType, string path, string originalItemSpec, ProjectTreeFlags flags, bool resolved, bool isImplicit, IImmutableDictionary <string, string> properties) { Requires.NotNullOrEmpty(providerType, nameof(providerType)); Requires.NotNullOrEmpty(path, nameof(path)); ProviderType = providerType; Path = path; Name = Path; OriginalItemSpec = originalItemSpec ?? Path; Resolved = resolved; Implicit = isImplicit; Properties = properties ?? ImmutableStringDictionary <string> .EmptyOrdinal; Caption = Name; if (resolved) { Flags = flags.Union(DependencyTreeFlags.GenericResolvedDependencyFlags); } else { Flags = flags.Union(DependencyTreeFlags.GenericUnresolvedDependencyFlags); } if (isImplicit) { Flags = Flags.Except(DependencyTreeFlags.SupportsRemove); } if (Properties.TryGetValue("Visible", out string visibleMetadata) && bool.TryParse(visibleMetadata, out bool visible)) { Visible = visible; } }
public SubTreeRootDependencyModel( string providerType, string name, DependencyIconSet iconSet, ProjectTreeFlags flags) : base(providerType, name, name, flags, true, false, null) { IconSet = iconSet; Flags = flags.Union(DependencyTreeFlags.DependencyFlags) .Union(DependencyTreeFlags.SubTreeRootNodeFlags) .Except(DependencyTreeFlags.SupportsRuleProperties) .Except(DependencyTreeFlags.SupportsRemove); }
private static ProjectTreeFlags FilterFlags( ProjectTreeFlags flags, ProjectTreeFlags?additionalFlags, ProjectTreeFlags?excludedFlags) { if (additionalFlags.HasValue) { flags = flags.Union(additionalFlags.Value); } if (excludedFlags.HasValue) { flags = flags.Except(excludedFlags.Value); } return(flags); }
public SubTreeRootDependencyModel( string providerType, string name, ImageMoniker icon, ImageMoniker unresolvedIcon, ProjectTreeFlags flags) : base(providerType, name, name, flags, true, false, null) { Icon = icon; ExpandedIcon = Icon; UnresolvedIcon = unresolvedIcon; UnresolvedExpandedIcon = UnresolvedIcon; Flags = flags.Union(DependencyTreeFlags.DependencyFlags) .Union(DependencyTreeFlags.SubTreeRootNodeFlags) .Except(DependencyTreeFlags.SupportsRuleProperties) .Except(DependencyTreeFlags.SupportsRemove); }
public DependencyNode(DependencyNodeId id, ProjectTreeFlags flags, int priority = 0, IImmutableDictionary <string, string> properties = null, bool resolved = true) { Requires.NotNull(id, nameof(id)); Id = id; Caption = Id.ItemSpec ?? string.Empty; Priority = priority; Properties = properties; Resolved = resolved; Flags = Resolved ? ResolvedDependencyFlags.Union(flags) : UnresolvedDependencyFlags.Union(flags); }