private static ModelElement GetParentForExtensionPointSchema(ExtensionPointSchema root) { if (root.View != null) { return root.View.Pattern.PatternModel; } else { return root.Owner.GetViewForAbstractElement().Pattern.PatternModel; } }
private static ModelElement GetParentForExtensionPointSchema(ExtensionPointSchema root) { if (root.View != null) { return(root.View.Pattern.PatternModel); } else { return(root.Owner.GetViewForAbstractElement().Pattern.PatternModel); } }
/// <summary> /// Deletes all the contract properties from the given pattern element. /// </summary> internal static void RevertAllContractProperties(this ExtensionPointSchema extensionPoint) { Guard.NotNull(() => extensionPoint, extensionPoint); var contractProperties = extensionPoint.GetContractProperties(); foreach (var vp in contractProperties) { vp.MakeVariableProperty(); } }
/// <summary> /// Deletes all variable properties (regular or contract) from the given extension point. /// </summary> /// <param name="extensionPoint"></param> internal static void ClearAllProperties(this ExtensionPointSchema extensionPoint) { Guard.NotNull(() => extensionPoint, extensionPoint); var variableProperties = extensionPoint.Properties.ToList(); foreach (var vp in variableProperties) { vp.SetLocks(Locks.None); extensionPoint.Properties.Remove(vp); } }
/// <summary> /// Copies the properties from given source extension point to the given target extension point. /// </summary> internal static void CopyHostedContractProperties(this ExtensionPointSchema targetExtensionPoint, IExtensionPointSchema sourceExtensionPoint) { Guard.NotNull(() => targetExtensionPoint, targetExtensionPoint); Guard.NotNull(() => sourceExtensionPoint, sourceExtensionPoint); foreach (var property in sourceExtensionPoint.Properties) { var prop = property as PropertySchema; targetExtensionPoint.Properties.Add(prop.CloneAsExtensionContractProperty(targetExtensionPoint)); } }
private static void WritePropertiesAsElements(DslModeling::SerializationContext serializationContext, ExtensionPointSchema element, global::System.Xml.XmlWriter writer) { // Conditions if (!serializationContext.Result.Failed) { global::System.String propValue = element.Conditions; if (!serializationContext.Result.Failed) { if (!string.IsNullOrEmpty(propValue)) PatternModelSerializationHelper.Instance.WriteElementString(serializationContext, element, writer, "conditions", propValue); } } }
private static void ReadPropertiesFromElements(DslModeling::SerializationContext serializationContext, ExtensionPointSchema element, global::System.Xml.XmlReader reader) { while (!serializationContext.Result.Failed && !reader.EOF && reader.NodeType == global::System.Xml.XmlNodeType.Element) { switch (reader.LocalName) { case "conditions": // Conditions if (reader.IsEmptyElement) { // No serialized value, must be default one. DslModeling::SerializationUtilities.Skip(reader); // Skip this tag. } else { string strConditions = PatternModelSerializationHelper.Instance.ReadElementContentAsString(serializationContext, element, reader); global::System.String valueOfConditions; if (DslModeling::SerializationUtilities.TryGetValue<global::System.String>(serializationContext, strConditions, out valueOfConditions)) { element.Conditions = valueOfConditions; } else { // Invalid property value, ignored. PatternModelSerializationBehaviorSerializationMessages.IgnoredPropertyValue(serializationContext, reader, "conditions", typeof(global::System.String), strConditions); } DslModeling::SerializationUtilities.SkipToNextElement(reader); } break; default: return; // Don't know this element. } } }