Example #1
0
// 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"
        }
Example #2
0
        private void GenerateDeleteClosureInternal(MetaModel dm)
        {
        #line default
        #line hidden

        #line 157 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("/// <summary>\r\n/// Remove closure visitor filter\r\n/// </summary>\r\n");


        #line default
        #line hidden

        #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"

//GenerateClsCompliantAttribute(AccessModifier.Public);


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(AccessModifier.Public)));


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(" partial class ");


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("DeleteClosure : ");


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 164 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("DeleteClosureBase, DslModeling::IElementVisitorFilter\r\n{\r\n\t/// <summary>\r\n\t/// Co" +
                       "nstructor\r\n\t/// </summary>\r\n\tpublic ");


        #line default
        #line hidden

        #line 169 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 169 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("DeleteClosure() : base()\r\n\t{\r\n\t}\r\n}\r\n\r\n/// <summary>\r\n/// Base class for remove c" +
                       "losure visitor filter\r\n/// </summary>\r\n");


        #line default
        #line hidden

        #line 177 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"

//GenerateClsCompliantAttribute(AccessModifier.Public);


        #line default
        #line hidden

        #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(AccessModifier.Public)));


        #line default
        #line hidden

        #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(" partial class ");


        #line default
        #line hidden

        #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 180 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("DeleteClosureBase : DslModeling::IElementVisitorFilter\r\n{\r\n\t/// <summary>\r\n\t/// D" +
                       "omainRoles\r\n\t/// </summary>\r\n\tprivate global::System.Collections.Specialized.Hyb" +
                       "ridDictionary domainRoles;\r\n\t/// <summary>\r\n\t/// Constructor\r\n\t/// </summary>\r\n\t" +
                       "public ");


        #line default
        #line hidden

        #line 189 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 189 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("DeleteClosureBase()\r\n\t{\r\n\t\t#region Initialize DomainData Table\r\n");


        #line default
        #line hidden

        #line 192 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"

            foreach (DomainRelationship r in dm.AllRelationships)
            {
                if (r.Source.PropagatesDelete)
                {
        #line default
        #line hidden

        #line 197 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write("\t\tDomainRoles.Add(");


        #line default
        #line hidden

        #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(r.GetFullName(true)));


        #line default
        #line hidden

        #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(".");


        #line default
        #line hidden

        #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(r.Source.Name));


        #line default
        #line hidden

        #line 198 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write("DomainRoleId, true);\r\n");


        #line default
        #line hidden

        #line 199 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                }
                if (r.Target.PropagatesDelete)
                {
        #line default
        #line hidden

        #line 203 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write("\t\tDomainRoles.Add(");


        #line default
        #line hidden

        #line 204 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(r.GetFullName(true)));


        #line default
        #line hidden

        #line 204 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(".");


        #line default
        #line hidden

        #line 204 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(r.Target.Name));


        #line default
        #line hidden

        #line 204 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                    this.Write("DomainRoleId, true);\r\n");


        #line default
        #line hidden

        #line 205 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
                }
            }


        #line default
        #line hidden

        #line 208 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("\t\t#endregion\r\n\t}\r\n\t/// <summary>\r\n\t/// Called to ask the filter if a particular r" +
                       "elationship from a source element should be included in the traversal\r\n\t/// </su" +
                       "mmary>\r\n\t/// <param name=\"walker\">ElementWalker that is traversing the model</pa" +
                       "ram>\r\n\t/// <param name=\"sourceElement\">Model Element playing the source role</pa" +
                       "ram>\r\n\t/// <param name=\"sourceRoleInfo\">DomainRoleInfo of the role that the sour" +
                       "ce element is playing in the relationship</param>\r\n\t/// <param name=\"domainRelat" +
                       "ionshipInfo\">DomainRelationshipInfo for the ElementLink in question</param>\r\n\t//" +
                       "/ <param name=\"targetRelationship\">Relationship in question</param>\r\n\t/// <retur" +
                       "ns>Yes if the relationship should be traversed</returns>\r\n\tpublic virtual DslMod" +
                       "eling::VisitorFilterResult ShouldVisitRelationship(DslModeling::ElementWalker wa" +
                       "lker, DslModeling::ModelElement sourceElement, DslModeling::DomainRoleInfo sourc" +
                       "eRoleInfo, DslModeling::DomainRelationshipInfo domainRelationshipInfo, DslModeli" +
                       "ng::ElementLink targetRelationship)\r\n\t{\r\n\t\treturn DslModeling::VisitorFilterResu" +
                       "lt.Yes;\r\n\t}\r\n\t/// <summary>\r\n\t/// Called to ask the filter if a particular role " +
                       "player should be Visited during traversal\r\n\t/// </summary>\r\n\t/// <param name=\"wa" +
                       "lker\">ElementWalker that is traversing the model</param>\r\n\t/// <param name=\"sour" +
                       "ceElement\">Model Element playing the source role</param>\r\n\t/// <param name=\"elem" +
                       "entLink\">Element Link that forms the relationship to the role player in question" +
                       "</param>\r\n\t/// <param name=\"targetDomainRole\">DomainRoleInfo of the target role<" +
                       "/param>\r\n\t/// <param name=\"targetRolePlayer\">Model Element that plays the target" +
                       " role in the relationship</param>\r\n\t/// <returns></returns>\r\n\tpublic virtual Dsl" +
                       "Modeling::VisitorFilterResult ShouldVisitRolePlayer(DslModeling::ElementWalker w" +
                       "alker, DslModeling::ModelElement sourceElement, DslModeling::ElementLink element" +
                       "Link, DslModeling::DomainRoleInfo targetDomainRole, DslModeling::ModelElement ta" +
                       "rgetRolePlayer)\r\n\t{\r\n\t\tif (targetDomainRole == null) throw new global::System.Ar" +
                       "gumentNullException(\"targetDomainRole\");\r\n\t\treturn this.DomainRoles.Contains(tar" +
                       "getDomainRole.Id) ? DslModeling::VisitorFilterResult.Yes : DslModeling::VisitorF" +
                       "ilterResult.DoNotCare;\r\n\t}\r\n\t/// <summary>\r\n\t/// DomainRoles\r\n\t/// </summary>\r\n\t" +
                       "private global::System.Collections.Specialized.HybridDictionary DomainRoles\r\n\t{\r" +
                       "\n\t\tget\r\n\t\t{\r\n\t\t\tif (this.domainRoles == null)\r\n\t\t\t{\r\n\t\t\t\tthis.domainRoles = new " +
                       "global::System.Collections.Specialized.HybridDictionary();\r\n\t\t\t}\r\n\t\t\treturn this" +
                       ".domainRoles;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n");


        #line default
        #line hidden

        #line 254 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
        }
        public void GenerateDomainModelResx(MetaModel dm)
        {
            Dictionary <string, KeyValuePair <string, string> > resourcedStrings     = new Dictionary <string, KeyValuePair <string, string> >();
            Dictionary <string, KeyValuePair <string, string> > resourcedFileObjects = new Dictionary <string, KeyValuePair <string, string> >();

            string commentString         = "{0} for {1} '{2}'";
            string propertyCommentString = "{0} for {1} '{2}' on {3} '{4}'";
            string domainModelNamespace  = String.IsNullOrEmpty(this.MetaModel.Namespace) ? "" : (this.MetaModel.Namespace) + ".";

            // Don't generate any resources if there is no resource name.

            if (!String.IsNullOrEmpty(this.MetaModel.GeneratedResourceName))
            {
                resourcedStrings.Add(domainModelNamespace + this.MetaModel.Name + "DomainModel.Description", new KeyValuePair <string, string>(this.MetaModel.Description, String.Format(CultureInfo.CurrentCulture, commentString, "Description", "DslLibrary", this.MetaModel.Name)));
                resourcedStrings.Add(domainModelNamespace + this.MetaModel.Name + "DomainModel.DisplayName", new KeyValuePair <string, string>(this.MetaModel.DisplayName, String.Format(CultureInfo.CurrentCulture, commentString, "DisplayName", "DslLibrary", this.MetaModel.Name)));

                foreach (DomainClass c in this.MetaModel.AllClasses)
                {
                    AddDomainClassResources(c, resourcedStrings, commentString, propertyCommentString);
                }


                foreach (DomainRelationship r in this.MetaModel.AllRelationships)
                {
                    AddDomainClassResources(r, resourcedStrings, commentString, propertyCommentString);
                    string fullName = r.GetFullName(false);

                    DomainRole role = r.Source;
                    resourcedStrings.Add(fullName + "/" + role.Name + ".Description", new KeyValuePair <string, string>(role.Description, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Description", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    resourcedStrings.Add(fullName + "/" + role.Name + ".DisplayName", new KeyValuePair <string, string>(role.DisplayName, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "DisplayName", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    if (!String.IsNullOrEmpty(role.Category))
                    {
                        resourcedStrings.Add(fullName + "/" + role.Name + ".Category", new KeyValuePair <string, string>(role.Category, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Category", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    }
                    if (!String.IsNullOrEmpty(role.PropertyDisplayName))
                    {
                        resourcedStrings.Add(fullName + "/" + role.Name + ".PropertyDisplayName", new KeyValuePair <string, string>(role.PropertyDisplayName, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "PropertyDisplayName", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    }

                    role = r.Target;
                    resourcedStrings.Add(fullName + "/" + role.Name + ".Description", new KeyValuePair <string, string>(role.Description, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Description", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    resourcedStrings.Add(fullName + "/" + role.Name + ".DisplayName", new KeyValuePair <string, string>(role.DisplayName, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "DisplayName", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    if (!String.IsNullOrEmpty(role.Category))
                    {
                        resourcedStrings.Add(fullName + "/" + role.Name + ".Category", new KeyValuePair <string, string>(role.Category, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Category", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    }
                    if (!String.IsNullOrEmpty(role.PropertyDisplayName))
                    {
                        resourcedStrings.Add(fullName + "/" + role.Name + ".PropertyDisplayName", new KeyValuePair <string, string>(role.PropertyDisplayName, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "PropertyDisplayName", "DomainRole", role.Name, "DomainRelationship", r.Name)));
                    }
                }

                foreach (DomainType t in this.MetaModel.DomainTypes)
                {
                    if (t is DomainEnumeration)
                    {
                        string fullName = t.GetFullName(false);
                        foreach (EnumerationLiteral literal in ((DomainEnumeration)t).Literals)
                        {
                            // Add an entry for localizable field names
                            resourcedStrings.Add(fullName + "/" + literal.Name + ".DisplayName", new KeyValuePair <string, string>(literal.DisplayName, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Display name", "EnumerationLiteral", literal.Name, "DomainEnumeration", t.Name)));
                            resourcedStrings.Add(fullName + "/" + literal.Name + ".Description", new KeyValuePair <string, string>(literal.Description, String.Format(CultureInfo.CurrentCulture, propertyCommentString, "Description", "EnumerationLiteral", literal.Name, "DomainEnumeration", t.Name)));
                        }
                    }
                }
            }

            // Incorrect ElementType passed in to CreateElement API
            resourcedStrings.Add("UnrecognizedElementType", new KeyValuePair <string, string>("ElementType {0} is not recognized as a type of domain class which belongs to this domain model.", "Incorrect ElementType passed in to Model.CreateElement method"));

            // Incorrect ElementLinkType passed in to CreateElementLink API
            resourcedStrings.Add("UnrecognizedElementLinkType", new KeyValuePair <string, string>("ElementLinkType {0} is not recognized as a type of domain relationship which belongs to this domain model.", "Incorrect ElementLinkType passed in to Model.CreateElementLink method"));


            // Add default resource strings for serialization.
            CodeGenerationUtilities.AddSerializationResourceStrings(resourcedStrings);

            // Cannot open file due to user rejects closing diagram file
            resourcedStrings.Add("CannotCloseExistingDiagramDocument", new KeyValuePair <string, string>("Diagram file '{0}' cannot be closed.", "User cancel closing diagram file. Hence, the DSL model file cannot be opened"));

            // MEF binding error
            resourcedStrings.Add("BindingErrorOccurred", new KeyValuePair <string, string>("Extensions for this designer may not be found as a MEF binding error has occurred. The error that occurred was:\n{0}", "MEF binding error occurred - exception message being logged in the error window so the user is aware."));

            // IDomainModelSerializer argument errors
            resourcedStrings.Add("InvalidSaveRootElementType", new KeyValuePair <string, string>("'{0}' is not a valid root element type.", "Exception message used if an invalid root element type is passed to IDomainModelSerializer.SaveModel / SaveModelAndDiagram"));

            resourcedStrings.Add("InvalidSaveDiagramType", new KeyValuePair <string, string>("'{0}' is not a valid diagram type.", "Exception message used if an invalid diagram type is passed to IDomainModelSerializer.SaveModelAndDiagram"));


            // Add resource strings for validation.

            resourcedStrings.Add(
                "MinimumMultiplicityMissingLink",
                new KeyValuePair <string, string>(
                    "{0} {1} has no {2}.",
                    "Multiplicity underflow validation."
                    )
                );
            resourcedStrings.Add(
                "SaveOperationCancelled",
                new KeyValuePair <string, string>(
                    "Save operation cancelled.",
                    "Message when save is cancelled on validation errors"
                    )
                );
            resourcedStrings.Add(
                "SaveValidationFailed",
                new KeyValuePair <string, string>(
                    "There were validation errors, continue save?",
                    "Message when validation errors are found on save"
                    )
                );
            resourcedStrings.Add(
                "UnloadableSaveValidationFailed",
                new KeyValuePair <string, string>(
                    "There were validation errors. Continuing to save may cause the file to become unloadable, do you want to continue?",
                    "Message when validation errors are found on save that will cause file to become unloadable"
                    )
                );


        #line default
        #line hidden

        #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
            this.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n  <!-- \r\n    Microsoft ResX Schem" +
                       "a \r\n    \r\n    Version 2.0\r\n    \r\n    The primary goals of this format is to allo" +
                       "w a simple XML format \r\n    that is mostly human readable. The generation and pa" +
                       "rsing of the \r\n    various data types are done through the TypeConverter classes" +
                       " \r\n    associated with the data types.\r\n    \r\n    Example:\r\n    \r\n    ... ado.ne" +
                       "t/XML headers & schema ...\r\n    <resheader name=\"resmimetype\">text/microsoft-res" +
                       "x</resheader>\r\n    <resheader name=\"version\">2.0</resheader>\r\n    <resheader nam" +
                       "e=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</reshe" +
                       "ader>\r\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System." +
                       "Windows.Forms, ...</resheader>\r\n    <data name=\"Name1\"><value>this is my long st" +
                       "ring</value><comment>this is a comment</comment></data>\r\n    <data name=\"Color1\"" +
                       " type=\"System.Drawing.Color, System.Drawing\">Blue</data>\r\n    <data name=\"Bitmap" +
                       "1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\r\n        <value>" +
                       "[base64 mime encoded serialized .NET Framework object]</value>\r\n    </data>\r\n   " +
                       " <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"applica" +
                       "tion/x-microsoft.net.object.bytearray.base64\">\r\n        <value>[base64 mime enco" +
                       "ded string representing a byte array form of the .NET Framework object]</value>\r" +
                       "\n        <comment>This is a comment</comment>\r\n    </data>\r\n                \r\n  " +
                       "  There are any number of \"resheader\" rows that contain simple \r\n    name/value " +
                       "pairs.\r\n    \r\n    Each data row contains a name, and value. The row also contain" +
                       "s a \r\n    type or mimetype. Type corresponds to a .NET class that support \r\n    " +
                       "text/value conversion through the TypeConverter architecture. \r\n    Classes that" +
                       " don\'t support this are serialized and stored with the \r\n    mimetype set.\r\n    " +
                       "\r\n    The mimetype is used for serialized objects, and tells the \r\n    ResXResou" +
                       "rceReader how to depersist the object. This is currently not \r\n    extensible. F" +
                       "or a given mimetype the value must be set accordingly:\r\n    \r\n    Note - applica" +
                       "tion/x-microsoft.net.object.binary.base64 is the format \r\n    that the ResXResou" +
                       "rceWriter will generate, however the reader can \r\n    read any of the formats li" +
                       "sted below.\r\n    \r\n    mimetype: application/x-microsoft.net.object.binary.base6" +
                       "4\r\n    value   : The object must be serialized with \r\n            : System.Runti" +
                       "me.Serialization.Formatters.Binary.BinaryFormatter\r\n            : and then encod" +
                       "ed with base64 encoding.\r\n    \r\n    mimetype: application/x-microsoft.net.object" +
                       ".soap.base64\r\n    value   : The object must be serialized with \r\n            : S" +
                       "ystem.Runtime.Serialization.Formatters.Soap.SoapFormatter\r\n            : and the" +
                       "n encoded with base64 encoding.\r\n\r\n    mimetype: application/x-microsoft.net.obj" +
                       "ect.bytearray.base64\r\n    value   : The object must be serialized into a byte ar" +
                       "ray \r\n            : using a System.ComponentModel.TypeConverter\r\n            : a" +
                       "nd then encoded with base64 encoding.\r\n    -->\r\n  <xsd:schema id=\"root\" xmlns=\"\"" +
                       " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsof" +
                       "t-com:xml-msdata\">\r\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namesp" +
                       "ace\" />\r\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\r\n      <xsd:compl" +
                       "exType>\r\n        <xsd:choice maxOccurs=\"unbounded\">\r\n          <xsd:element name" +
                       "=\"metadata\">\r\n            <xsd:complexType>\r\n              <xsd:sequence>\r\n     " +
                       "           <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\r\n       " +
                       "       </xsd:sequence>\r\n              <xsd:attribute name=\"name\" use=\"required\" " +
                       "type=\"xsd:string\" />\r\n              <xsd:attribute name=\"type\" type=\"xsd:string\"" +
                       " />\r\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\r\n        " +
                       "      <xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n       " +
                       "   </xsd:element>\r\n          <xsd:element name=\"assembly\">\r\n            <xsd:com" +
                       "plexType>\r\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\r\n     " +
                       "         <xsd:attribute name=\"name\" type=\"xsd:string\" />\r\n            </xsd:comp" +
                       "lexType>\r\n          </xsd:element>\r\n          <xsd:element name=\"data\">\r\n       " +
                       "     <xsd:complexType>\r\n              <xsd:sequence>\r\n                <xsd:eleme" +
                       "nt name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n         " +
                       "       <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordina" +
                       "l=\"2\" />\r\n              </xsd:sequence>\r\n              <xsd:attribute name=\"name" +
                       "\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\r\n              <xsd:att" +
                       "ribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\r\n              <xsd:a" +
                       "ttribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\r\n              " +
                       "<xsd:attribute ref=\"xml:space\" />\r\n            </xsd:complexType>\r\n          </x" +
                       "sd:element>\r\n          <xsd:element name=\"resheader\">\r\n            <xsd:complexT" +
                       "ype>\r\n              <xsd:sequence>\r\n                <xsd:element name=\"value\" ty" +
                       "pe=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\r\n              </xsd:sequenc" +
                       "e>\r\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />" +
                       "\r\n            </xsd:complexType>\r\n          </xsd:element>\r\n        </xsd:choice" +
                       ">\r\n      </xsd:complexType>\r\n    </xsd:element>\r\n  </xsd:schema>\r\n  <resheader n" +
                       "ame=\"resmimetype\">\r\n    <value>text/microsoft-resx</value>\r\n  </resheader>\r\n  <r" +
                       "esheader name=\"version\">\r\n    <value>2.0</value>\r\n  </resheader>\r\n  <resheader n" +
                       "ame=\"reader\">\r\n    <value>System.Resources.ResXResourceReader, System.Windows.Fo" +
                       "rms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r\n" +
                       "  </resheader>\r\n  <resheader name=\"writer\">\r\n    <value>System.Resources.ResXRes" +
                       "ourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyTo" +
                       "ken=b77a5c561934e089</value>\r\n  </resheader>\r\n");


        #line default
        #line hidden

        #line 254 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"

            foreach (string resourceKey in resourcedStrings.Keys)
            {
                KeyValuePair <string, string> pair = resourcedStrings[resourceKey];
                string resourceValue   = pair.Key;
                string resourceComment = pair.Value;
                if (resourceValue == null)
                {
                    resourceValue = "";
                }


        #line default
        #line hidden

        #line 264 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write("  <data name=\"");


        #line default
        #line hidden

        #line 265 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceKey)));


        #line default
        #line hidden

        #line 265 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write("\" xml:space=\"preserve\">\r\n    <value>");


        #line default
        #line hidden

        #line 266 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceValue)));


        #line default
        #line hidden

        #line 266 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write("</value>\r\n    <comment>");


        #line default
        #line hidden

        #line 267 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceComment)));


        #line default
        #line hidden

        #line 267 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write("</comment>\r\n  </data>\r\n");


        #line default
        #line hidden

        #line 269 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
            }
            if (resourcedFileObjects.Count > 0)
            {
        #line default
        #line hidden

        #line 273 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                this.Write("  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0." +
                           "0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\r\n");


        #line default
        #line hidden

        #line 275 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"

                foreach (string resourceKey in resourcedFileObjects.Keys)
                {
                    KeyValuePair <string, string> pair = resourcedFileObjects[resourceKey];
                    string resourceValue   = pair.Key;
                    string resourceComment = pair.Value;
                    if (resourceValue == null)
                    {
                        resourceValue = "";
                    }


        #line default
        #line hidden

        #line 285 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write("  <data name=\"");


        #line default
        #line hidden

        #line 286 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceKey)));


        #line default
        #line hidden

        #line 286 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write("\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\" xml:space=\"preserve\">" +
                               "\r\n    <value>");


        #line default
        #line hidden

        #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceValue)));


        #line default
        #line hidden

        #line 287 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write("</value>\r\n    <comment>");


        #line default
        #line hidden

        #line 288 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(System.Security.SecurityElement.Escape(resourceComment)));


        #line default
        #line hidden

        #line 288 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                    this.Write("</comment>\r\n  </data>\r\n");


        #line default
        #line hidden

        #line 290 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
                }
            }


        #line default
        #line hidden

        #line 293 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
            this.Write("</root>\r\n");


        #line default
        #line hidden

        #line 295 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainModelResxGenerator.tt"
        }
Example #4
0
        private void GenerateCopyClosureInternal(MetaModel dm)
        {
        #line default
        #line hidden

        #line 112 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("/// <summary>\r\n/// Copy closure visitor filter\r\n/// </summary>\r\n");


        #line default
        #line hidden

        #line 116 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"

//GenerateClsCompliantAttribute(AccessModifier.Public);


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(AccessModifier.Public)));


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(" partial class ");


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("CopyClosure : ");


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 119 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("CopyClosureBase, DslModeling::IElementVisitorFilter\r\n{\r\n\t/// <summary>\r\n\t/// Cons" +
                       "tructor\r\n\t/// </summary>\r\n\tpublic ");


        #line default
        #line hidden

        #line 124 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 124 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("CopyClosure() : base()\r\n\t{\r\n\t}\r\n}\r\n/// <summary>\r\n/// Base class for copy closure" +
                       " visitor filter\r\n/// </summary>\r\n");


        #line default
        #line hidden

        #line 131 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"

//GenerateClsCompliantAttribute(AccessModifier.Public);


        #line default
        #line hidden

        #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(AccessModifier.Public)));


        #line default
        #line hidden

        #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(" partial class ");


        #line default
        #line hidden

        #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 134 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("CopyClosureBase : DslModeling::CopyClosureFilter, DslModeling::IElementVisitorFil" +
                       "ter\r\n{\r\n\t/// <summary>\r\n\t/// Constructor\r\n\t/// </summary>\r\n\tpublic ");


        #line default
        #line hidden

        #line 139 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name));


        #line default
        #line hidden

        #line 139 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
            this.Write("CopyClosureBase():base()\r\n\t{\r\n\t}\r\n}\r\n");


        #line default
        #line hidden

        #line 143 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\ClosuresGenerator.tt"
        }