/// <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;
        }
Example #3
0
        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();
        }