/// <summary> /// Generate the constructors for a DomainClass /// </summary> /// <param name="domainClass">the domain class to generate constructors for</param> /// <param name="generatedClass">Whether this is the class carrying the generated code or the derived class in a double-derived pair</param> private void GenerateDomainClassConstructors(PresentationElementClass presentationClass, bool generatedClass) { if (presentationClass.HasCustomConstructor && !(generatedClass && presentationClass.GeneratesDoubleDerived)) { #line default #line hidden #line 321 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("// Constructors were not generated for this class because it had HasCustomConstru" + "ctor\r\n// set to true. Please provide the constructors below in a partial class.\r" + "\n"); #line default #line hidden #line 324 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" // We comment out the constructors if HasCustomConstructor is set to true PushIndent("//"); } string ctorName; if (generatedClass) { if (presentationClass.GeneratesDoubleDerived) { ctorName = presentationClass.Name + "Base"; } else { ctorName = presentationClass.Name; } } else { ctorName = presentationClass.Name; } if (presentationClass.InheritanceModifier == InheritanceModifier.Abstract || (generatedClass && presentationClass.GeneratesDoubleDerived)) { #line default #line hidden #line 342 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@"/// <summary> /// Constructor. /// </summary> /// <param name=""partition"">Partition where new element is to be created.</param> /// <param name=""propertyAssignments"">List of domain property id/value pairs to set once the element is created.</param> protected "); #line default #line hidden #line 348 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ctorName)); #line default #line hidden #line 348 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("(DslModeling::Partition partition, DslModeling::PropertyAssignment[] propertyAssi" + "gnments)\r\n\t: base(partition, propertyAssignments)\r\n{\r\n"); #line default #line hidden #line 351 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" //SetupInitialValues(presentationClass); #line default #line hidden #line 353 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 355 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } else { #line default #line hidden #line 359 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("/// <summary>\r\n/// Constructor\r\n/// </summary>\r\n/// <param name=\"store\">Store whe" + "re new element is to be created.</param>\r\n/// <param name=\"propertyAssignments\">" + "List of domain property id/value pairs to set once the element is created.</para" + "m>\r\npublic "); #line default #line hidden #line 365 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ctorName)); #line default #line hidden #line 365 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("(DslModeling::Store store, params DslModeling::PropertyAssignment[] propertyAssig" + "nments)\r\n\t: this(store != null ? store.DefaultPartitionForClass(DomainClassId) :" + " null, propertyAssignments)\r\n{\r\n"); #line default #line hidden #line 368 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" //SetupInitialValues(presentationClass); #line default #line hidden #line 370 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@"} /// <summary> /// Constructor /// </summary> /// <param name=""partition"">Partition where new element is to be created.</param> /// <param name=""propertyAssignments"">List of domain property id/value pairs to set once the element is created.</param> public "); #line default #line hidden #line 378 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(ctorName)); #line default #line hidden #line 378 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write("(DslModeling::Partition partition, params DslModeling::PropertyAssignment[] prope" + "rtyAssignments)\r\n\t: base(partition, propertyAssignments)\r\n{\r\n}\r\n"); #line default #line hidden #line 382 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } if (presentationClass.HasCustomConstructor && !(generatedClass && presentationClass.GeneratesDoubleDerived)) { PopIndent(); } }
private void SetupInitialValues(PresentationElementClass presentationClass) { if (presentationClass is ShapeClass) { ShapeClass shapeClass = presentationClass as ShapeClass; #line default #line hidden #line 397 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(@" bool bHandledSize = false; bool bHandledLocation = false; bool bHandledAbsoluteLocation = false; if( propertyAssignments != null ) foreach(DslModeling::PropertyAssignment propertyAssignment in propertyAssignments ) { if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.SizeDomainPropertyId) bHandledSize = true; else if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.LocationDomainPropertyId) bHandledLocation = true; else if( propertyAssignment.PropertyId == DslEditorDiagrams::NodeShape.AbsoluteLocationDomainPropertyId) bHandledAbsoluteLocation = true; } if( !bHandledSize ) this.Size = new DslEditorDiagrams::SizeD(" ); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultWidth)); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(", "); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(shapeClass.DefaultHeight)); #line default #line hidden #line 414 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" this.Write(");\r\n\tif( !bHandledLocation )\r\n\t\tthis.Location = DslEditorDiagrams::PointD.Empty;\r" + "\n\tif( !bHandledAbsoluteLocation )\r\n\t\tthis.AbsoluteLocation = DslEditorDiagrams::" + "PointD.Empty;\r\n"); #line default #line hidden #line 419 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ShapesGenerator.tt" } }