/// <summary> /// Initializes a new instance of the <see cref="ScriptEditor" /> class. /// </summary> /// <param name="scriptLoader"> The script loader for the script. </param> /// <param name="scriptSerializer">The script serializer used to save the script to a file on disk</param> public ScriptEditor(IScriptLoader scriptLoader, IScriptSerializer scriptSerializer) { Check.IfIsNull(scriptLoader).Throw<ArgumentNullException>(() => scriptLoader); Check.IfIsNull(scriptSerializer).Throw<ArgumentNullException>(() => scriptSerializer); InitializeComponent(); DataContext = new ScriptEditorViewModel(scriptLoader, scriptSerializer); }
/// <summary> /// Initializes a new instance of the <see cref="ScriptEditorViewModel" /> class. /// </summary> /// <param name="scriptLoader"> The script loader for the script. </param> /// <param name="scriptSerializer">The script serializer used to save the script to a file on disk</param> public ScriptEditorViewModel(IScriptLoader scriptLoader, IScriptSerializer scriptSerializer) { Check.IfIsNull(scriptLoader).Throw<ArgumentNullException>(() => scriptLoader); Check.IfIsNull(scriptSerializer).Throw<ArgumentNullException>(() => scriptSerializer); this.scriptLoader = scriptLoader; this.scriptSerializer = scriptSerializer; FileChangedEventHandler += OnFileChanged; }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { Option option = (Option)value; IScriptSerializer scriptor = Serizlizer.Scriptor; writer.WriteStartObject(); StringBuilder stringBuilder = new StringBuilder(); if (option.Title != null) { stringBuilder.Append("title:{"); stringBuilder.Append(scriptor.Serialize(option.Title.Options, true)); stringBuilder.Append("},"); } if (option.Legend != null) { stringBuilder.Append("legend:{"); stringBuilder.Append(scriptor.Serialize(option.Legend.Options, true)); stringBuilder.Append("},"); } if (option.XAxis != null) { stringBuilder.Append("xAxis:{"); stringBuilder.Append(scriptor.Serialize(option.XAxis.Options, true)); stringBuilder.Append("},"); } if (option.YAxis != null) { stringBuilder.Append("yAxis:{"); stringBuilder.Append(scriptor.Serialize(option.YAxis.Options, true)); stringBuilder.Append("},"); } stringBuilder.Append("series:["); foreach (Series item in option.Series) { stringBuilder.Append("{"); stringBuilder.Append("type:'" + item.Type.ToString() + "'"); stringBuilder.Append(scriptor.Serialize(item.Options, false)); stringBuilder.Append("},"); } stringBuilder.Remove(); stringBuilder.Append("]"); stringBuilder.Append(scriptor.Serialize(option.Options, false)); writer.WriteRaw(stringBuilder.ToString()); writer.WriteEndObject(); }