public DomainEnumPropertyDescriptor(ElementTypeDescriptor owner, ModelElement modelElement, DomainPropertyInfo domainProperty, DomainEnumeration domainEnum, Attribute[] attributes) : base(owner, modelElement, domainProperty, attributes) { this.domainEnum = domainEnum; System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>(); foreach(EnumerationLiteral enumerationLiteral in this.domainEnum.Literals) list.Add(enumerationLiteral.Name); enumFields = list.AsReadOnly(); }
public DomainEnumPropertyDescriptor(ElementTypeDescriptor owner, ModelElement modelElement, DomainPropertyInfo domainProperty, DomainEnumeration domainEnum, Attribute[] attributes) : base(owner, modelElement, domainProperty, attributes) { this.domainEnum = domainEnum; System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>(); foreach (EnumerationLiteral enumerationLiteral in this.domainEnum.Literals) { list.Add(enumerationLiteral.Name); } enumFields = list.AsReadOnly(); }
public override string GetMonikerQualifier(DomainXmlSerializerDirectory directory, ModelElement element) { if (directory == null) { throw new System.ArgumentNullException("directory"); } if (element == null) { throw new System.ArgumentNullException("element"); } DomainEnumeration domainType = element as DomainEnumeration; string s = domainType.MetaModel.Name; object[] objArr = new object[] { s }; return(System.String.Format(CultureInfo.CurrentCulture, "/{0}", objArr)); }
private DomainEnumPropertyDescriptor CreateDomainEnumPropertyDescriptor(Microsoft.VisualStudio.Modeling.ModelElement requestor, Microsoft.VisualStudio.Modeling.DomainPropertyInfo domainPropertyInfo, System.Attribute[] attributes) { DomainProperty domainProperty = requestor as DomainProperty; if (domainProperty == null) { return(null); } if (domainPropertyInfo.Id != DomainProperty.DefaultValueDomainPropertyId) { return(null); } DomainEnumeration domainEnumeration = domainProperty.Type as DomainEnumeration; if (domainEnumeration == null) { return(null); } return(new DomainEnumPropertyDescriptor(this, requestor, domainPropertyInfo, domainEnumeration, attributes)); }
public override string CalculateQualifiedName(DomainXmlSerializerDirectory directory, ModelElement element) { if (directory == null) { throw new System.ArgumentNullException("directory"); } if (element == null) { throw new System.ArgumentNullException("element"); } DomainEnumeration domainType = element as DomainEnumeration; string s1 = this.GetMonikerQualifier(directory, domainType); string s2 = domainType.Namespace; string s3 = domainType.Name; object[] objArr = new object[] { s1, s2, s3 }; return(System.String.Format(CultureInfo.CurrentCulture, "{0}/{1}/{2}", objArr)); }
public override void ElementAdded(ElementAddedEventArgs e) { if (e.ModelElement != null) { if (e.ModelElement.Store.TransactionManager.CurrentTransaction != null) { if (e.ModelElement.Store.TransactionManager.CurrentTransaction.IsSerializing) { return; } } } if (e.ModelElement == null) { return; } if (ImmutabilityExtensionMethods.GetLocks(e.ModelElement) != Locks.None) { return; } DomainEnumeration domainEnumeration = e.ModelElement as DomainEnumeration; if (domainEnumeration != null) { foreach (PropertyGridEditor pEditor in domainEnumeration.MetaModel.PropertyGridEditors) { if (pEditor.Name == "EnumerationEditorViewModel") { domainEnumeration.PropertyGridEditor = pEditor; break; } } } }
// Generate an enum for each DomainEnumeration in the model private void GenerateDomainEnumerationInternal(MetaModel dm, DomainEnumeration domainEnum) { if(!string.IsNullOrEmpty(domainEnum.Namespace)) { #line default #line hidden #line 16 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("namespace "); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Namespace)); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 19 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); } #line default #line hidden #line 22 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// <summary>\r\n/// DomainEnumeration: "); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 25 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(Utilities.Instance.GenerateComments(domainEnum.Description)); #line default #line hidden #line 27 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof("); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter))]\r\n"); #line default #line hidden #line 30 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if(domainEnum.IsFlags) { #line default #line hidden #line 33 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("[global::System.Flags]\r\n"); #line default #line hidden #line 35 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(domainEnum.AccessModifier))); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enum "); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 40 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" double startVal = 1; foreach(EnumerationLiteral literal in domainEnum.Literals) { #line default #line hidden #line 44 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// <summary>\r\n\t/// "); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 47 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateComments(literal.Description)); PopIndent(); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// </summary>\r\n"); #line default #line hidden #line 53 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateResourceAttributes(literal)); PopIndent(); if(literal.Value.Trim() != string.Empty) { #line default #line hidden #line 60 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Value)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } else { if( domainEnum.IsFlags ) { #line default #line hidden #line 68 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(startVal.ToString())); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 70 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" startVal = startVal * 2; } else { #line default #line hidden #line 75 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 77 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } } } #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n/// <summary>\r\n/// Type converter for "); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enumeration.\r\n/// </summary>\r\npublic class "); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter : System.ComponentModel.EnumConverter\r\n{\r\n\tSystem.Collections.Gener" + "ic.Dictionary<"); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string> dictionary;\r\n\t\r\n\t/// <summary>\r\n /// Constructor.\r\n /// </summary" + ">\r\n public "); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter() : base(typeof("); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("))\r\n {\r\n // create lookup dictionary\r\n dictionary = new System.C" + "ollections.Generic.Dictionary<"); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string>();\r\n"); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" foreach(EnumerationLiteral literal in domainEnum.Literals) { string resourceKey = domainEnum.GetFullName(false)+"/"+literal.Name; #line default #line hidden #line 101 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t\tdictionary.Add("); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("."); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", "); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("DomainModel.SingletonResourceManager.GetString(\""); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(".DisplayName\"));\r\n"); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 105 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" }\r\n\r\n\t/// <summary>\r\n /// Converts the specified value object to "); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@". /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value"">The System.Object to convert.</param> /// <returns>"); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" object that represents the converted value.</returns> public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { string strValue = value as string; if( strValue != null ) { foreach("); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" d in dictionary.Keys ) { if( dictionary[d] == strValue ) return d; } } return base.ConvertFrom(context, culture, value); } /// <summary> /// Converts the given value object to the specified destination type. /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value""> System.Object to convert.</param> /// <param name=""destinationType"">The System.Type to convert the value to.</param> /// <returns>An System.Object that represents the converted value.</returns> public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("? strValue = value as "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("?;\r\n\t\tif( strValue != null )\r\n\t\t{\r\n\t\t\treturn dictionary[strValue.Value];\r\n\t\t}\r\n\r\n" + " return base.ConvertTo(context, culture, value, destinationType);\r\n }\r" + "\n}\r\n"); #line default #line hidden #line 149 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if(!string.IsNullOrEmpty(domainEnum.Namespace)) { PopIndent(); #line default #line hidden #line 153 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 158 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" }
public string GenerateDomainEnumeration(MetaModel dm, DomainEnumeration domainEnum) { this.GenerationEnvironment = null; this.GenerateDomainEnumerationInternal(dm, domainEnum); return this.GenerationEnvironment.ToString(); }
private void GenerateResourceAttributesInternal(ModelElement domainObj, string genResourceName) { if (domainObj == null) { return; } string resourceKey = ""; string domainModelType = ""; string className = ""; bool generateCategory = false; bool generateDisplayName = false; MetaModel dm = null; if (domainObj is DomainClass) { generateDisplayName = true; DomainClass c = (DomainClass)domainObj; resourceKey = c.GetFullName(false); dm = c.GetMetaModel(); className = CodeGenerationUtilities.GetGenerationClassName(c); } else if (domainObj is DomainRelationship) { generateDisplayName = true; DomainRelationship c = (DomainRelationship)domainObj; resourceKey = c.GetFullName(false); dm = c.GetMetaModel(); className = CodeGenerationUtilities.GetGenerationClassName(c); } else if (domainObj is DomainProperty) { generateDisplayName = true; DomainProperty p = (DomainProperty)domainObj; AttributedDomainElement c = p.Element; resourceKey = c.GetFullName(false) + "/" + p.Name; generateCategory = !String.IsNullOrEmpty(p.Category); dm = c.GetMetaModel(); //if( c is DomainClass ) // dm = (c as DomainClass).GetMetaModel(); //else // dm = (c as DomainRelationship).GetMetaModel(); } else if (domainObj is DomainRole) { generateDisplayName = true; DomainRole r = (DomainRole)domainObj; generateCategory = !String.IsNullOrEmpty(r.Category); DomainRelationship rel = r.Relationship; resourceKey = rel.GetFullName(false) + "/" + r.Name; dm = rel.GetMetaModel(); } else if (domainObj is EnumerationLiteral) { //generateDisplayName = true; EnumerationLiteral literal = (EnumerationLiteral)domainObj; DomainEnumeration domainEnum = literal.DomainEnumeration; dm = domainEnum.MetaModel; resourceKey = domainEnum.GetFullName(false) + "/" + literal.Name; } else if (domainObj is MetaModel) { generateDisplayName = true; dm = (MetaModel)domainObj; resourceKey = dm.GetFullName(false) + "DomainModel"; } domainModelType = dm.GetFullName(true) + "DomainModel"; // If no resource name specified for DslLibrary, don't generate any resource attributes. if (String.IsNullOrEmpty(dm.GeneratedResourceName)) { return; } if (generateDisplayName) { #line default #line hidden #line 179 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("[DslDesign::DisplayNameResource(\""); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(".DisplayName\", typeof("); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModelType)); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("), \""); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(genResourceName)); #line default #line hidden #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("\")]\r\n"); #line default #line hidden #line 181 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" } if (generateCategory) { #line default #line hidden #line 185 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("[DslDesign::CategoryResource(\""); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(".Category\", typeof("); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModelType)); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("), \""); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(genResourceName)); #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("\")]\r\n"); #line default #line hidden #line 187 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" } #line default #line hidden #line 189 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("[DslDesign::DescriptionResource(\""); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(".Description\", typeof("); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModelType)); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("), \""); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(genResourceName)); #line default #line hidden #line 190 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("\")]\r\n"); #line default #line hidden #line 191 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" if (domainObj is DomainClass) { #line default #line hidden #line 194 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("[DslModeling::DomainModelOwner(typeof("); #line default #line hidden #line 195 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModelType)); #line default #line hidden #line 195 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" this.Write("))]\r\n"); #line default #line hidden #line 196 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Utilities.tt" } }
// Generate an enum for each DomainEnumeration in the model private void GenerateDomainEnumerationInternal(MetaModel dm, DomainEnumeration domainEnum) { if (!string.IsNullOrEmpty(domainEnum.Namespace)) { #line default #line hidden #line 16 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("namespace "); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Namespace)); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 19 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); } #line default #line hidden #line 22 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// <summary>\r\n/// DomainEnumeration: "); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 25 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(Utilities.Instance.GenerateComments(domainEnum.Description)); #line default #line hidden #line 27 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof("); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter))]\r\n"); #line default #line hidden #line 30 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if (domainEnum.IsFlags) { #line default #line hidden #line 33 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("[global::System.Flags]\r\n"); #line default #line hidden #line 35 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(domainEnum.AccessModifier))); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enum "); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 40 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" double startVal = 1; foreach (EnumerationLiteral literal in domainEnum.Literals) { #line default #line hidden #line 44 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// <summary>\r\n\t/// "); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 47 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateComments(literal.Description)); PopIndent(); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// </summary>\r\n"); #line default #line hidden #line 53 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateResourceAttributes(literal)); PopIndent(); if (literal.Value.Trim() != string.Empty) { #line default #line hidden #line 60 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Value)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } else { if (domainEnum.IsFlags) { #line default #line hidden #line 68 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(startVal.ToString())); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 70 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" startVal = startVal * 2; } else { #line default #line hidden #line 75 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 77 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } } } #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n/// <summary>\r\n/// Type converter for "); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enumeration.\r\n/// </summary>\r\npublic class "); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter : System.ComponentModel.EnumConverter\r\n{\r\n\tSystem.Collections.Gener" + "ic.Dictionary<"); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string> dictionary;\r\n\t\r\n\t/// <summary>\r\n /// Constructor.\r\n /// </summary" + ">\r\n public "); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter() : base(typeof("); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("))\r\n {\r\n // create lookup dictionary\r\n dictionary = new System.C" + "ollections.Generic.Dictionary<"); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string>();\r\n"); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" foreach (EnumerationLiteral literal in domainEnum.Literals) { string resourceKey = domainEnum.GetFullName(false) + "/" + literal.Name; #line default #line hidden #line 101 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t\tdictionary.Add("); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("."); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", "); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("DomainModel.SingletonResourceManager.GetString(\""); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(".DisplayName\"));\r\n"); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 105 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" }\r\n\r\n\t/// <summary>\r\n /// Converts the specified value object to "); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@". /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value"">The System.Object to convert.</param> /// <returns>"); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" object that represents the converted value.</returns> public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { string strValue = value as string; if( strValue != null ) { foreach(" ); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" d in dictionary.Keys ) { if( dictionary[d] == strValue ) return d; } } return base.ConvertFrom(context, culture, value); } /// <summary> /// Converts the given value object to the specified destination type. /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value""> System.Object to convert.</param> /// <param name=""destinationType"">The System.Type to convert the value to.</param> /// <returns>An System.Object that represents the converted value.</returns> public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { " ); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("? strValue = value as "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("?;\r\n\t\tif( strValue != null )\r\n\t\t{\r\n\t\t\treturn dictionary[strValue.Value];\r\n\t\t}\r\n\r\n" + " return base.ConvertTo(context, culture, value, destinationType);\r\n }\r" + "\n}\r\n"); #line default #line hidden #line 149 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if (!string.IsNullOrEmpty(domainEnum.Namespace)) { PopIndent(); #line default #line hidden #line 153 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 158 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" }
public string GenerateDomainEnumeration(MetaModel dm, DomainEnumeration domainEnum) { this.GenerationEnvironment = null; this.GenerateDomainEnumerationInternal(dm, domainEnum); return(this.GenerationEnvironment.ToString()); }