public override void WriteSyntax(XPathNavigator reflection, SyntaxWriter writer) { writer.WriteStartBlock(Language); // Check the list of assemblies for which to generate XAML syntax string assemblyName = (string)reflection.Evaluate(apiContainingAssemblyExpression); string namespaceName = (string)reflection.Evaluate(apiContainingNamespaceNameExpression); if (!xamlAssemblies.ContainsKey(assemblyName.ToLower())) { WriteXamlBoilerplate(XamlBoilerplateID.nonXamlAssemblyBoilerplate, writer); } else { string group = (string)reflection.Evaluate(apiGroupExpression); switch (group) { case "namespace": WriteNamespaceSyntax(reflection, writer); break; case "type": WriteTypeSyntax(reflection, writer); break; case "member": WriteMemberSyntax(reflection, writer); break; } WriteXamlXmlnsUri(assemblyName, namespaceName, writer); } writer.WriteEndBlock(); }
/// <inheritdoc /> public override void WriteSyntax(XPathNavigator reflection, SyntaxWriter writer) { writer.WriteStartBlock(this.Language, this.StyleId); // Check the list of assemblies for which to generate XAML syntax string assemblyName = (string)reflection.Evaluate(apiContainingAssemblyExpression); string namespaceName = (string)reflection.Evaluate(apiContainingNamespaceNameExpression); if (!xamlAssemblies.ContainsKey(assemblyName)) { WriteXamlBoilerplate(XamlBoilerplateID.nonXamlAssemblyBoilerplate, writer); } else { string group = (string)reflection.Evaluate(apiGroupExpression); switch (group) { case "namespace": WriteNamespaceSyntax(reflection, writer); break; case "type": WriteTypeSyntax(reflection, writer); break; case "member": WriteMemberSyntax(reflection, writer); break; } WriteXamlXmlnsUri(assemblyName, namespaceName, writer); } writer.WriteEndBlock(); }
private void WriteClassSyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix) { string name = (string)reflection.Evaluate(nameExpression); writer.WriteStartBlock(Language); writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteString(name); writer.WriteString(" />"); writer.WriteEndBlock(); }
private void WriteEventSyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix) { string name = (string)reflection.Evaluate(nameExpression); string declaringType = (string)reflection.Evaluate(declaringTypeExpression); string handlerType = (string)reflection.Evaluate(eventHandlerTypeExpression); writer.WriteStartBlock(Language); writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(" "); writer.WriteString("On"); writer.WriteString(name); writer.WriteString("=\""); writer.WriteReferenceLink(handlerType); writer.WriteString("\" />"); writer.WriteEndBlock(); }
// Methods to write syntax for different kinds of APIs public override void WriteSyntax(XPathNavigator reflection, SyntaxWriter writer) { writer.WriteStartBlock(Language); string group = (string)reflection.Evaluate(apiGroupExpression); switch (group) { case "namespace": WriteNamespaceSyntax(reflection, writer); break; case "type": WriteTypeSyntax(reflection, writer); break; case "member": WriteMemberSyntax(reflection, writer); break; } writer.WriteEndBlock(); }
// Methods to write syntax for different kinds of APIs public override void WriteSyntax (XPathNavigator reflection, SyntaxWriter writer) { writer.WriteStartBlock(Language); string group = (string) reflection.Evaluate(apiGroupExpression); switch (group) { case "namespace": WriteNamespaceSyntax(reflection, writer); break; case "type": WriteTypeSyntax(reflection, writer); break; case "member": WriteMemberSyntax(reflection, writer); break; } writer.WriteEndBlock(); }
private void WritePropertySyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix) { bool set = (bool)reflection.Evaluate(propertyIsSettable); if (!set) { return; } string name = (string)reflection.Evaluate(nameExpression); string declaringType = (string)reflection.Evaluate(declaringTypeExpression); string propertyType = (string)reflection.Evaluate(propertyTypeExpression); bool isInnerProperty = (bool)reflection.Evaluate(propertyIsInnerProperty); writer.WriteStartBlock(Language); if (isInnerProperty) { // inner property logic writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(">"); writer.WriteLine(); writer.WriteString("\t"); writer.WriteString("<"); writer.WriteString(name); writer.WriteString(">"); if (String.IsNullOrEmpty(propertyType)) { writer.WriteParameter("value"); } else { if (propertyType == "T:System.Boolean") { writer.WriteString("True|False"); } else { writer.WriteReferenceLink(propertyType); } } writer.WriteString("</"); writer.WriteString(name); writer.WriteString(">"); writer.WriteLine(); writer.WriteString("</"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(">"); } else { // normal property logic writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(" "); writer.WriteString(name); writer.WriteString("=\""); if (String.IsNullOrEmpty(propertyType)) { writer.WriteParameter("value"); } else { if (propertyType == "T:System.Boolean") { writer.WriteString("True|False"); } else { writer.WriteReferenceLink(propertyType); } } writer.WriteString("\" />"); } writer.WriteEndBlock(); }
private void WriteClassSyntax (XPathNavigator reflection, SyntaxWriter writer, string prefix) { string name = (string)reflection.Evaluate(nameExpression); writer.WriteStartBlock(Language); writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteString(name); writer.WriteString(" />"); writer.WriteEndBlock(); }
private void WriteEventSyntax (XPathNavigator reflection, SyntaxWriter writer, string prefix) { string name = (string)reflection.Evaluate(nameExpression); string declaringType = (string)reflection.Evaluate(declaringTypeExpression); string handlerType = (string)reflection.Evaluate(eventHandlerTypeExpression); writer.WriteStartBlock(Language); writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(" "); writer.WriteString("On"); writer.WriteString(name); writer.WriteString("=\""); writer.WriteReferenceLink(handlerType); writer.WriteString("\" />"); writer.WriteEndBlock(); }
private void WritePropertySyntax (XPathNavigator reflection, SyntaxWriter writer, string prefix) { bool set = (bool) reflection.Evaluate(propertyIsSettable); if (!set) return; string name = (string) reflection.Evaluate(nameExpression); string declaringType = (string) reflection.Evaluate(declaringTypeExpression); string propertyType = (string) reflection.Evaluate(propertyTypeExpression); bool isInnerProperty = (bool)reflection.Evaluate(propertyIsInnerProperty); writer.WriteStartBlock(Language); if (isInnerProperty) { // inner property logic writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(">"); writer.WriteLine(); writer.WriteString("\t"); writer.WriteString("<"); writer.WriteString(name); writer.WriteString(">"); if (String.IsNullOrEmpty(propertyType)) { writer.WriteParameter("value"); } else { if (propertyType == "T:System.Boolean") { writer.WriteString("True|False"); } else { writer.WriteReferenceLink(propertyType); } } writer.WriteString("</"); writer.WriteString(name); writer.WriteString(">"); writer.WriteLine(); writer.WriteString("</"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(">"); } else { // normal property logic writer.WriteString("<"); writer.WriteString(prefix); writer.WriteString(":"); writer.WriteReferenceLink(declaringType); writer.WriteString(" "); writer.WriteString(name); writer.WriteString("=\""); if (String.IsNullOrEmpty(propertyType)) { writer.WriteParameter("value"); } else { if (propertyType == "T:System.Boolean") { writer.WriteString("True|False"); } else { writer.WriteReferenceLink(propertyType); } } writer.WriteString("\" />"); } writer.WriteEndBlock(); }