Example #1
0
/// <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();
            }
        }
Example #2
0
        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"
            }
        }