private ModelState <TPattern> ProcessCreateInternal(string fullPath) { string parent = Path.GetDirectoryName(fullPath); string name = Path.GetFileName(fullPath); string relPath = fullPath.Substring(_root.Length - 1).Replace('\\', '/'); ModelState <TPattern> parentModel = null; if (parent != null) { parentModel = Demand(parent); } ModelKind kind = File.Exists(fullPath) ? ModelKind.File : ModelKind.Directory; ModelState <TPattern> model = new ModelState <TPattern>(kind, name, relPath, fullPath, parentModel, () => RemoveFileInternal(relPath)); if (CheckPatterns(model)) { FilteredEntriesChanged?.Invoke(this, EventArgs.Empty); } if (parentModel != null) { parentModel.AddChild(model); if (model.IsIncluded) { MarkDirty(parentModel.FullPath, true); } } return(model); }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTreeGridItem"/> class. /// </summary> /// <param name="category">The category.</param> /// <param name="parent">The parent.</param> /// <param name="kind">The kind.</param> public VirtualTreeGridItem(VirtualTreeGridCategory category, IHasChildren parent, ModelKind kind) { this.category = category; this.parent = parent; this.kind = kind; tempName = EmptyName; }
public string CSharpName(IMetaModel mmodel, ModelKind kind = ModelKind.None, bool fullName = false) { if (mmodel == null) { return(string.Empty); } string result; switch (kind) { case ModelKind.MetaModel: result = mmodel.Name + "MetaModel"; break; case ModelKind.ImmutableInstance: result = mmodel.Name + "Instance"; break; case ModelKind.BuilderInstance: result = mmodel.Name + "BuilderInstance"; break; case ModelKind.Descriptor: result = mmodel.Name + "Descriptor"; break; case ModelKind.Factory: result = mmodel.Name + "Factory"; break; case ModelKind.Implementation: result = mmodel.Name + "Implementation"; break; case ModelKind.ImplementationBase: result = mmodel.Name + "ImplementationBase"; break; case ModelKind.ImplementationProvider: result = mmodel.Name + "ImplementationProvider"; break; default: result = mmodel.Name; break; } if (fullName) { if (mmodel.Namespace == null) { result = "global::" + result; } else { result = "global::" + mmodel.Namespace + "." + result; } } return(result); }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTreeGridItem"/> class. /// </summary> /// <param name="category">The category.</param> /// <param name="parent">The parent.</param> /// <param name="data">The data.</param> /// <param name="kind">The kind.</param> public VirtualTreeGridItem(VirtualTreeGridCategory category, IHasChildren parent, ITypeMember data, ModelKind kind) { this.category = category; DataItem = data; this.parent = parent; this.kind = kind; }
/// <summary> /// Gets the default type. /// </summary> /// <param name="modelKind">Kind of the model.</param> /// <returns></returns> public virtual string GetDefaultType(ModelKind modelKind) { if (modelKind == ModelKind.Member) { return("void"); } return("int"); }
/// <summary> /// Creates the model. /// </summary> /// <param name="modelKind">Kind of the model.</param> /// <returns></returns> public virtual ITypeMember CreateModel(ModelKind modelKind) { if (modelKind == ModelKind.Member) { return(new Operation(Store)); } return(new Argument(Store)); }
public ModelState(ModelKind kind, string name, string relPath, string fullPath, ModelState <TPattern> parentModel, Action deleteAction) { FullPath = fullPath; _deleteAction = deleteAction; Kind = kind; Name = name; Path = relPath; _parentModel = parentModel; }
private NamespaceKind ToNamespaceKind(ModelKind kind) { switch (kind) { case ModelKind.Implementation: case ModelKind.ImplementationBase: case ModelKind.ImplementationProvider: case ModelKind.BuilderInstance: return(NamespaceKind.Internal); default: return(NamespaceKind.Public); } }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTreeGridItem"/> class. /// </summary> /// <param name="data">The data.</param> /// <param name="category">The category.</param> /// <param name="kind">The kind.</param> public VirtualTreeGridItem(ITypeMember data, VirtualTreeGridCategory category, ModelKind kind) { this.category = category; this.kind = kind; DataItem = data; }
/// <summary> /// Initializes a new instance of the <see cref="VirtualTreeGridItem"/> class. /// </summary> /// <param name="data">The data.</param> public VirtualTreeGridItem(IHasChildren data) { category = new VirtualTreeGridCategory(true); kind = ModelKind.Root; DisplayName = Name = data.Name; }
/// <summary> /// Création de l'instance d'un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Instance de modèle</returns> public ITypeMember CreateModel(ModelKind modelKind) { return(new EnumValue(this.Store)); }
/// <summary> /// Type par défaut pour un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Un nom de type</returns> public string GetDefaultType(ModelKind modelKind) { return("System.Int32"); }
/// <summary> /// Gets the empty text. /// </summary> /// <param name="kind">The kind.</param> /// <returns></returns> internal override string GetEmptyText(ModelKind kind) { return("<add value>"); }
/// <summary> /// Création de l'instance d'un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Instance de modèle</returns> public ITypeMember CreateModel(ModelKind modelKind) { return(new Property(Store)); }
/// <summary> /// Type par défaut pour un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Un nom de type</returns> public string GetDefaultType(ModelKind modelKind) { throw new Exception("The method or operation is not implemented."); }
/// <summary> /// Type par défaut pour un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Un nom de type</returns> public string GetDefaultType(ModelKind modelKind) { return("int"); }
/// <summary> /// Création de l'instance d'un membre /// </summary> /// <param name="modelKind">Type de membre</param> /// <returns>Instance de modèle</returns> public ITypeMember CreateModel(ModelKind modelKind) { throw new Exception("The method or operation is not implemented."); }
/// <summary> /// Gets the empty text. /// </summary> /// <param name="kind">The kind.</param> /// <returns></returns> internal virtual string GetEmptyText(ModelKind kind) { return(kind == ModelKind.Member ? "<add member>" : "<add argument>"); }
/// <summary> /// Gets the empty text. /// </summary> /// <param name="kind">The kind.</param> /// <returns></returns> internal override string GetEmptyText(ModelKind kind) { return("<add property>"); }