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; } DomainProperty domainProperty = e.ModelElement as DomainProperty; if (domainProperty != null) { DomainProperty p = domainProperty; AttributedDomainElement element = p.Element; if (element is DomainRelationship) { // we have to set serialized in full form, unless it is embedded somewhere in the model bool bIsEmbedded = false; foreach (DomainRole role in element.RolesPlayed) { if (role.Relationship.Target == role && role.Relationship.InheritanceModifier != InheritanceModifier.Abstract && role.Relationship is EmbeddingRelationship) { bIsEmbedded = true; continue; } } if (!bIsEmbedded) { // we have to set is serialized in full form to true if (element is EmbeddingRelationship) { (element as EmbeddingRelationship).SerializedEmbeddingRelationship.IsInFullSerialization = true; } else if (element is ReferenceRelationship) { (element as ReferenceRelationship).SerializedReferenceRelationship.IsInFullSerialization = true; } } } SerializationHelper.UpdateDerivedElementsSerializationProperties(element); } }
public static string GetEditorTypeName(DomainProperty p) { string n = p.Type.PropertyGridEditor.Namespace; n += "." + p.Type.PropertyGridEditor.Name; return n; }
public override void ElementDeleting(ElementDeletingEventArgs 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; } DomainProperty domainProperty = e.ModelElement as DomainProperty; if (domainProperty != null) { AttributedDomainElement element = domainProperty.Element; domainProperty.Element = null; // update properties SerializationHelper.UpdateDerivedElementsSerializationProperties(element); } }
public static bool HasEditor(DomainProperty p ) { if (p.Type == null) return false; if (p.Type.PropertyGridEditor == null) return false; return true; }
protected override IList <Microsoft.VisualStudio.Modeling.ModelElement> BuildElementList(object component) { Microsoft.VisualStudio.Modeling.DomainClassInfo domainClassInfo = DomainRoleInfo.RolePlayer; if (domainClassInfo == null || component == null) { return(new System.Collections.Generic.List <Microsoft.VisualStudio.Modeling.ModelElement>()); } Microsoft.VisualStudio.Modeling.Store store = this.GetStore(component); System.Collections.Generic.List <Microsoft.VisualStudio.Modeling.ModelElement> list = new System.Collections.Generic.List <Microsoft.VisualStudio.Modeling.ModelElement>(); DomainProperty domainProperty = component as DomainProperty; if (domainProperty == null) { if (component is IList) { if ((component as IList).Count > 0) { domainProperty = (component as IList)[0] as DomainProperty; } } } if (domainProperty != null) { list.AddRange(domainProperty.Element.ParentModelContext.MetaModel.DomainTypes); System.Collections.Generic.IList <Microsoft.VisualStudio.Modeling.ModelElement> ilist = store.ElementDirectory.FindElements(domainClassInfo, true); foreach (Microsoft.VisualStudio.Modeling.ModelElement modelElement in ilist) { DomainType p = modelElement as DomainType; bool bFound = false; foreach (DomainType e in list) { if (e.Name == p.Name && e.Namespace == p.Namespace) { bFound = true; break; } } if (!bFound) { list.Add(p); } } } return(list); }
private static SerializedDomainProperty CreateSerializedDomainProperty(DomainProperty domainProperty) { SerializedDomainProperty serializedDomainProperty = new SerializedDomainProperty(domainProperty.Store); serializedDomainProperty.DomainProperty = domainProperty; if (serializedDomainProperty.SerializationName != domainProperty.SerializationName) { serializedDomainProperty.SerializationName = domainProperty.SerializationName; serializedDomainProperty.SerializationRepresentationType = domainProperty.SerializationRepresentationType; if (domainProperty.IsSerializationNameTracking == TrackingEnum.True) serializedDomainProperty.IsSerializationNameTracking = TrackingEnum.IgnoreOnce; } serializedDomainProperty.SerializationRepresentationType = serializedDomainProperty.SerializationRepresentationType; return serializedDomainProperty; }
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; } DomainProperty domainProperty = e.ModelElement as DomainProperty; if (domainProperty != null) { if (domainProperty.Type == null) { foreach (DomainType type in domainProperty.Element.ParentModelContext.MetaModel.DomainTypes) { if (type.Name == "String") { domainProperty.Type = type; break; } } } if (domainProperty.SerializationName == "") { domainProperty.SerializationName = domainProperty.Name; domainProperty.IsSerializationNameTracking = TrackingEnum.IgnoreOnce; } } }
private static SerializedDomainProperty CreateSerializedDomainProperty(DomainProperty domainProperty) { SerializedDomainProperty serializedDomainProperty = new SerializedDomainProperty(domainProperty.Store); serializedDomainProperty.DomainProperty = domainProperty; if (serializedDomainProperty.SerializationName != domainProperty.SerializationName) { serializedDomainProperty.SerializationName = domainProperty.SerializationName; serializedDomainProperty.SerializationRepresentationType = domainProperty.SerializationRepresentationType; if (domainProperty.IsSerializationNameTracking == TrackingEnum.True) { serializedDomainProperty.IsSerializationNameTracking = TrackingEnum.IgnoreOnce; } } serializedDomainProperty.SerializationRepresentationType = serializedDomainProperty.SerializationRepresentationType; return(serializedDomainProperty); }
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 void ElementPropertyChanged(ElementPropertyChangedEventArgs 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; } DomainProperty domainProperty = e.ModelElement as DomainProperty; if (domainProperty != null) { if (e.DomainProperty.Id == DomainProperty.NameDomainPropertyId) { if (domainProperty.IsDisplayNameTracking == TrackingEnum.True) { if (domainProperty.DisplayName != StringHelper.BreakUpper(domainProperty.Name)) { domainProperty.DisplayName = StringHelper.BreakUpper(domainProperty.Name); domainProperty.IsDisplayNameTracking = TrackingEnum.IgnoreOnce; } } if (domainProperty.IsSerializationNameTracking == TrackingEnum.True) { domainProperty.SerializationName = domainProperty.Name; domainProperty.IsSerializationNameTracking = TrackingEnum.IgnoreOnce; } } else if (e.DomainProperty.Id == DomainProperty.DisplayNameDomainPropertyId) { if (domainProperty.IsDisplayNameTracking == TrackingEnum.True) { domainProperty.IsDisplayNameTracking = TrackingEnum.False; } else if (domainProperty.IsDisplayNameTracking == TrackingEnum.IgnoreOnce) { domainProperty.IsDisplayNameTracking = TrackingEnum.True; } } else if (e.DomainProperty.Id == DomainProperty.SerializationNameDomainPropertyId) { if (domainProperty.SerializedDomainProperty != null) { if (domainProperty.SerializedDomainProperty.SerializationName != domainProperty.SerializationName) { domainProperty.SerializedDomainProperty.SerializationName = domainProperty.SerializationName; if (domainProperty.IsSerializationNameTracking == TrackingEnum.IgnoreOnce) { domainProperty.SerializedDomainProperty.IsSerializationNameTracking = TrackingEnum.IgnoreOnce; } else { domainProperty.SerializedDomainProperty.IsSerializationNameTracking = TrackingEnum.False; } } } if (domainProperty.IsSerializationNameTracking == TrackingEnum.True) { domainProperty.IsSerializationNameTracking = TrackingEnum.False; } else if (domainProperty.IsSerializationNameTracking == TrackingEnum.IgnoreOnce) { domainProperty.IsSerializationNameTracking = TrackingEnum.True; } } else if (e.DomainProperty.Id == DomainProperty.SerializationRepresentationTypeDomainPropertyId) { if (domainProperty.SerializedDomainProperty != null) { domainProperty.SerializedDomainProperty.SerializationRepresentationType = domainProperty.SerializationRepresentationType; } } } }
private void GenerateDomainPropertyInternal(DomainProperty property) { AccessModifier setterAccessModifier = property.SetterAccessModifier; AccessModifier getterAccessModifier = property.GetterAccessModifier; AccessModifier overallAccessModifier; if(setterAccessModifier==AccessModifier.Public || getterAccessModifier==AccessModifier.Public) { overallAccessModifier = AccessModifier.Public; } else if(setterAccessModifier==AccessModifier.FamilyOrAssembly || getterAccessModifier==AccessModifier.FamilyOrAssembly) { overallAccessModifier = AccessModifier.FamilyOrAssembly; } else if(setterAccessModifier==AccessModifier.Family || getterAccessModifier==AccessModifier.Family) { overallAccessModifier = AccessModifier.Family; } else if(setterAccessModifier==AccessModifier.Assembly || getterAccessModifier==AccessModifier.Assembly) { overallAccessModifier = AccessModifier.Assembly; } else { overallAccessModifier = AccessModifier.Private; } #line default #line hidden #line 37 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("#region "); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property code\r\n\r\n/// <summary>\r\n/// "); #line default #line hidden #line 41 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 41 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property Id.\r\n/// </summary>\r\npublic static readonly global::System.Guid " + ""); #line default #line hidden #line 43 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 43 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("DomainPropertyId = new System.Guid(\""); #line default #line hidden #line 43 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Id)); #line default #line hidden #line 43 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\") ;\r\n"); #line default #line hidden #line 44 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" // A property only has storage if it is a 'Normal' property if(property.PropertyKind==PropertyKind.Normal) { #line default #line hidden #line 48 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\r\n/// <summary>\r\n/// Storage for "); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\r\n/// </summary>\r\n"); #line default #line hidden #line 53 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" bool needsSerialization = false; string defaultValue = CodeGenerationUtilities.GetPropertyDefaultValue(property, out needsSerialization); if( property.Type != null ) if( property.Type.Name == "Boolean?" ) defaultValue = defaultValue.ToLower(); if (needsSerialization) { #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("private "); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage = DslModeling::SerializationUtilities.GetValue<"); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(">("); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(defaultValue)); #line default #line hidden #line 63 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(");\r\n"); #line default #line hidden #line 64 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { if (string.IsNullOrEmpty(defaultValue)) { if( property.IsElementName && property.Type.Name == "String" ) { #line default #line hidden #line 72 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("private "); #line default #line hidden #line 73 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 73 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 73 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 73 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage = \"\";\r\n"); #line default #line hidden #line 74 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 78 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("private "); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 79 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage;\r\n"); #line default #line hidden #line 80 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } } else { if( defaultValue == "null" && property.IsElementName && property.Type.Name == "String" ) { #line default #line hidden #line 87 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("private "); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage = \"\";\r\n"); #line default #line hidden #line 89 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("private "); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage = "); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(defaultValue)); #line default #line hidden #line 94 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(";\r\n"); #line default #line hidden #line 95 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } } } } #line default #line hidden #line 100 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\r\n/// <summary>\r\n/// Gets or sets the value of "); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property.\r\n"); #line default #line hidden #line 104 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(Utilities.Instance.GenerateComments(property.Description)); #line default #line hidden #line 106 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("/// </summary>\r\n"); #line default #line hidden #line 108 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" //GenerateClrAttributes(property.Attributes); this.Write(Utilities.Instance.GenerateResourceAttributes(property)); #line default #line hidden #line 112 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" string defaultValueAttribute = CodeGenerationUtilities.GetPropertyDefaultValueAttribute(property); if (!string.IsNullOrEmpty(defaultValueAttribute)) { #line default #line hidden #line 116 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[global::System.ComponentModel.DefaultValue("); #line default #line hidden #line 117 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(defaultValueAttribute)); #line default #line hidden #line 117 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(")]\r\n"); #line default #line hidden #line 118 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } if(!property.IsBrowsable) { #line default #line hidden #line 122 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[global::System.ComponentModel.Browsable(false)]\r\n"); #line default #line hidden #line 124 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } if(property.IsUIReadOnly || property.PropertyKind==PropertyKind.Calculated || setterAccessModifier!=AccessModifier.Public) { #line default #line hidden #line 128 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[global::System.ComponentModel.ReadOnly(true)]\r\n"); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } if (property.IsElementName) { #line default #line hidden #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[DslModeling::ElementName]\r\n"); #line default #line hidden #line 136 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } string propertyKind = CodeGenerationUtilities.GetPropertyKind(property.PropertyKind); if (!string.IsNullOrEmpty(propertyKind)) { #line default #line hidden #line 141 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[DslModeling::DomainProperty("); #line default #line hidden #line 142 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(propertyKind)); #line default #line hidden #line 142 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(")]\r\n"); #line default #line hidden #line 143 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 145 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[DslModeling::DomainObjectId(\""); #line default #line hidden #line 146 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Id.ToString("D"))); #line default #line hidden #line 146 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\")]\r\n"); #line default #line hidden #line 147 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" /*if( CodeGenerationUtilities.HasEditor(property) ) { #line default #line hidden #line 150 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("[DslViewModelPG::PropertyGridEditorViewModelAttribute(typeof("); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetEditorTypeName(property))); #line default #line hidden #line 151 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("))]\r\n"); #line default #line hidden #line 152 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" }*/ #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(overallAccessModifier))); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" "); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\r\n{\r\n\t[global::System.Diagnostics.DebuggerStepThrough]\r\n"); #line default #line hidden #line 158 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(getterAccessModifier!=overallAccessModifier) { #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t"); #line default #line hidden #line 162 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(getterAccessModifier))); #line default #line hidden #line 162 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" get\r\n"); #line default #line hidden #line 163 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 167 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\tget\r\n"); #line default #line hidden #line 169 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 171 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t{\r\n"); #line default #line hidden #line 173 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(property.PropertyKind!=PropertyKind.Normal) { #line default #line hidden #line 176 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\treturn "); #line default #line hidden #line 177 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 177 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(".Instance.GetValue(this);\r\n"); #line default #line hidden #line 178 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 182 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\treturn "); #line default #line hidden #line 183 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 183 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage;\r\n"); #line default #line hidden #line 184 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 186 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t}\r\n"); #line default #line hidden #line 188 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" // Calculated properties cannot be set if(property.PropertyKind != PropertyKind.Calculated) { #line default #line hidden #line 192 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t[global::System.Diagnostics.DebuggerStepThrough]\r\n"); #line default #line hidden #line 194 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(setterAccessModifier != overallAccessModifier) { #line default #line hidden #line 197 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t"); #line default #line hidden #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(setterAccessModifier))); #line default #line hidden #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" set\r\n"); #line default #line hidden #line 199 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\tset\r\n"); #line default #line hidden #line 205 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 207 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t{\r\n\t\t"); #line default #line hidden #line 209 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 209 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(".Instance.SetValue(this, value);\r\n\t}\r\n"); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 213 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 215 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" // Generate the PropertyHandler for this property. #line default #line hidden #line 217 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("/// <summary>\r\n/// Value handler for the "); #line default #line hidden #line 219 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Element.Name)); #line default #line hidden #line 219 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("."); #line default #line hidden #line 219 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 219 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property.\r\n/// </summary>\r\ninternal sealed partial class "); #line default #line hidden #line 221 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 221 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" : "); #line default #line hidden #line 221 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetBasePropertyHandlerName(property))); #line default #line hidden #line 221 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\r\n{\r\n\tprivate "); #line default #line hidden #line 223 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 223 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("() { }\r\n\r\n\t/// <summary>\r\n\t/// Gets the singleton instance of the "); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Element.Name)); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("."); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 226 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property value handler.\r\n\t/// </summary>\r\n\tpublic static readonly "); #line default #line hidden #line 228 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 228 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" Instance = new "); #line default #line hidden #line 228 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetPropertyHandlerName(property))); #line default #line hidden #line 228 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("();\r\n\r\n\t/// <summary>\r\n\t/// Gets the Id of the "); #line default #line hidden #line 231 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Element.Name)); #line default #line hidden #line 231 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("."); #line default #line hidden #line 231 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 231 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" domain property.\r\n\t/// </summary>\r\n\tpublic sealed override global::System.Guid D" + "omainPropertyId\r\n\t{\r\n\t\t[global::System.Diagnostics.DebuggerStepThrough]\r\n\t\tget\r\n" + "\t\t{\r\n\t\t\treturn "); #line default #line hidden #line 238 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 238 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(@"DomainPropertyId; } } /// <summary> /// Gets a strongly-typed value of the property on specified element. /// </summary> /// <param name=""element"">Element which owns the property.</param> /// <returns>Property value.</returns> public override sealed "); #line default #line hidden #line 247 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 247 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" GetValue("); #line default #line hidden #line 247 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetGenerationClassName(property.Element))); #line default #line hidden #line 247 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" element)\r\n\t{\r\n\t\tif (element == null) throw new global::System.ArgumentNullExcept" + "ion(\"element\");\r\n"); #line default #line hidden #line 250 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(property.PropertyKind==PropertyKind.Normal) { #line default #line hidden #line 253 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\treturn element."); #line default #line hidden #line 254 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 254 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage;\r\n"); #line default #line hidden #line 255 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 259 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t// There is no storage for "); #line default #line hidden #line 260 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 260 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" because its Kind is\r\n\t\t// set to "); #line default #line hidden #line 261 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyKind)); #line default #line hidden #line 261 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(". Please provide the Get"); #line default #line hidden #line 261 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name.TrimStart('@'))); #line default #line hidden #line 261 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("Value()\r\n\t\t// method on the domain class.\r\n\t\treturn element.Get"); #line default #line hidden #line 263 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name.TrimStart('@'))); #line default #line hidden #line 263 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("Value();\r\n"); #line default #line hidden #line 264 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 266 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t}\r\n\r\n"); #line default #line hidden #line 269 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(property.PropertyKind!=PropertyKind.Calculated) { string propTypeName = CodeGenerationUtilities.GetDomainTypeFullName(property); #line default #line hidden #line 273 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t/// <summary>\r\n\t/// Sets property value on an element.\r\n\t/// </summary>\r\n\t/// <p" + "aram name=\"element\">Element which owns the property.</param>\r\n\t/// <param name=\"" + "newValue\">New property value.</param>\r\n\tpublic override sealed void SetValue("); #line default #line hidden #line 279 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetGenerationClassName(property.Element))); #line default #line hidden #line 279 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" element, "); #line default #line hidden #line 279 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(propTypeName)); #line default #line hidden #line 279 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" newValue)\r\n\t{\r\n\t\tif (element == null) throw new global::System.ArgumentNullExcep" + "tion(\"element\");\r\n\r\n\t\t"); #line default #line hidden #line 283 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeFullName(property))); #line default #line hidden #line 283 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" oldValue = GetValue(element);\r\n"); #line default #line hidden #line 284 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" switch (propTypeName) { case "global::System.Double": { #line default #line hidden #line 289 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t// double type precision is guaranteed only to 15th digit.\r\n\t\tif (global::Syste" + "m.Math.Abs(newValue - oldValue) > 1e-15)\r\n"); #line default #line hidden #line 292 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" break; } case "global::System.Single": { #line default #line hidden #line 297 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t// float type precision is guaranteed only to 7th digit.\r\n\t\tif (global::System." + "Math.Abs(newValue - oldValue) > 1e-7)\r\n"); #line default #line hidden #line 300 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" break; } case "global::System.Object": { #line default #line hidden #line 305 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t// Don\'t use != with object properties\r\n\t\tif (!global::System.Object.Equals(new" + "Value, oldValue))\r\n"); #line default #line hidden #line 308 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" break; } default: { #line default #line hidden #line 313 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\tif (newValue != oldValue)\r\n"); #line default #line hidden #line 315 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" break; } } #line default #line hidden #line 319 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t{\r\n\t\t\tValueChanging(element, oldValue, newValue);\r\n"); #line default #line hidden #line 322 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" if(property.PropertyKind==PropertyKind.Normal) { #line default #line hidden #line 325 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t\telement."); #line default #line hidden #line 326 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetCamelCase(property.Name))); #line default #line hidden #line 326 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("PropertyStorage = newValue;\r\n\t\t\tValueChanged(element, oldValue, newValue);\r\n"); #line default #line hidden #line 328 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } else { #line default #line hidden #line 332 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t\t// There is no storage for "); #line default #line hidden #line 333 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name)); #line default #line hidden #line 333 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(" because its Kind is\r\n\t\t\t// set to "); #line default #line hidden #line 334 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyKind)); #line default #line hidden #line 334 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(". Please provide the Set"); #line default #line hidden #line 334 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name.TrimStart('@'))); #line default #line hidden #line 334 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("Value()\r\n\t\t\t// method on the domain class.\r\n\t\t\telement.Set"); #line default #line hidden #line 336 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(property.Name.TrimStart('@'))); #line default #line hidden #line 336 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("Value(newValue);\r\n\t\t\tValueChanged(element, oldValue, GetValue(element));\r\n"); #line default #line hidden #line 338 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 340 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("\t\t}\r\n\t}\r\n"); #line default #line hidden #line 343 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" } #line default #line hidden #line 345 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" this.Write("}\r\n\r\n#endregion\r\n"); #line default #line hidden #line 349 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainPropertyGenerator.tt" }
// Generate code for domain properties public string GenerateDomainProperty(DomainProperty property) { this.GenerationEnvironment = null; this.GenerateDomainPropertyInternal(property); return this.GenerationEnvironment.ToString(); }