/// <summary> /// This method is called during deserialization to convert a given value to a specific typed value (Html). /// </summary> /// <param name="serializationContext">The current serialization context instance.</param> /// <param name="modelELement">ModdelElement, to which the property belongs to.</param> /// <param name="propertyName">The Property name, which value is to be converted.</param> /// <param name="value">Value to convert.</param> /// <param name="targetType">Type, the object is to be converted to.</param> /// <param name="isRequired">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public static Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html ConvertTypedObjectHtmlFrom(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement modelELement, string propertyName, object value, System.Type targetType, bool? isRequired) { if (value == null) return null; string strValue = value.ToString(); if (!String.IsNullOrEmpty(strValue) && modelELement is DslEditorModeling::IDomainModelOwnable) { DslEditorModeling::IParentModelElement parent; if (modelELement is DslEditorModeling::IParentModelElement) parent = modelELement as DslEditorModeling::IParentModelElement; else parent = (modelELement as DslEditorModeling::IDomainModelOwnable).GetDomainModelServices().ElementParentProvider.GetParentModelElement(modelELement); if (parent != null) { string filePath = parent.DomainFilePath; string directory = new System.IO.FileInfo(filePath).DirectoryName; Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html html = new Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html(strValue, directory); return html; } else { serializationContext.Result.AddMessage(new DslModeling::SerializationMessage(DslModeling::SerializationMessageKind.Error, "Could not resolve domain directory path.", modelELement.ToString(), 0, 0, null)); } } else return null; return null; }
/// <summary> /// This method is called during serialization to convert a given typed value (Html) to a specific value (string). /// </summary> /// <param name="serializationContext">The current serialization context instance.</param> /// <param name="modelELement">ModdelElement, to which the property belongs to.</param> /// <param name="propertyName">The Property name, which value is to be converted.</param> /// <param name="value">Typed value to convert.</param> /// <param name="sourceType">Type of the value.</param> /// <param name="isRequired">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public static object ConvertTypedObjectHtmlTo(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement modelELement, string propertyName, object value, System.Type sourceType, bool?isRequired) { Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html strValue = value as Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html; if (strValue != null) { return(strValue.HtmlData); } else { if (isRequired != null) { // Important: This is needed, otherwise export will fail! (as long as we still use this extern export) if (isRequired.Value == true) { return(""); } } return(null); } }
/// <summary> /// This method is called during deserialization to convert a given value to a specific typed value (Html). /// </summary> /// <param name="serializationContext">The current serialization context instance.</param> /// <param name="modelELement">ModdelElement, to which the property belongs to.</param> /// <param name="propertyName">The Property name, which value is to be converted.</param> /// <param name="value">Value to convert.</param> /// <param name="targetType">Type, the object is to be converted to.</param> /// <param name="isRequired">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public static Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html ConvertTypedObjectHtmlFrom(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement modelELement, string propertyName, object value, System.Type targetType, bool?isRequired) { if (value == null) { return(null); } string strValue = value.ToString(); if (!String.IsNullOrEmpty(strValue) && modelELement is DslEditorModeling::IDomainModelOwnable) { DslEditorModeling::IParentModelElement parent; if (modelELement is DslEditorModeling::IParentModelElement) { parent = modelELement as DslEditorModeling::IParentModelElement; } else { parent = (modelELement as DslEditorModeling::IDomainModelOwnable).GetDomainModelServices().ElementParentProvider.GetParentModelElement(modelELement); } if (parent != null) { string filePath = parent.DomainFilePath; string directory = new System.IO.FileInfo(filePath).DirectoryName; Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html html = new Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Html.Html(strValue, directory); return(html); } else { serializationContext.Result.AddMessage(new DslModeling::SerializationMessage(DslModeling::SerializationMessageKind.Error, "Could not resolve domain directory path.", modelELement.ToString(), 0, 0, null)); } } else { return(null); } return(null); }