An editor for Microsoft Adaptive Cards that supports the new templating language and DOESN'T use JavaScript, because JavaScript isn't a real programming language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

75 lines
2.3 KiB

using Monaco.Helpers;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Data.Json;
namespace Monaco.Editor
{
/// <summary>
/// Object Parser for https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.imodeldecorationoptions.html
/// </summary>
#pragma warning disable CS1591
public sealed class IModelDecorationOptions
{
[JsonProperty("isWholeLine")]
public bool IsWholeLine { get; set; }
[JsonProperty("hoverMessage")]
public IMarkdownString[] HoverMessage { get; set; }
[JsonProperty("glyphMarginHoverMessage")]
public IMarkdownString[] GlyphMarginHoverMessage { get; set; }
[JsonConverter(typeof(CssStyleConverter))]
[JsonProperty("className")]
public CssLineStyle ClassName { get; set; }
[JsonConverter(typeof(CssStyleConverter))]
[JsonProperty("glyphMarginClassName")]
public CssGlyphStyle GlyphMarginClassName { get; set; }
[JsonConverter(typeof(CssStyleConverter))]
[JsonProperty("inlineClassName")]
public CssInlineStyle InlineClassName { get; set; }
// TODO: Provide LinesDecorationsClassName
[JsonProperty("inlineClassNameAffectsLetterSpacing")]
public bool InlineClassNameAffectsLetterSpacing { get; set; }
[JsonProperty("stickiness")]
public TrackedRangeStickiness Stickiness { get; set; }
[JsonProperty("zIndex")]
public int ZIndex { get; set; }
}
#pragma warning restore CS1591
internal class CssStyleConverter: JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var style = value as ICssStyle;
writer.WriteValue(style.Name);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException("Unnecessary because CanRead is false.");
}
public override bool CanRead
{
get { return false; }
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(ICssStyle);
}
}
}