public override object ReadJson(JsonReader reader,
                                        Type objectType, object existingValue,
                                        JsonSerializer serializer)
        {
            var    jsonObject     = JObject.Load(reader);
            var    WidgetState    = default(IWidgetState);
            string objectTypeName = jsonObject["TypeName"].Value <string>();

            if (objectTypeName == typeof(BlankWidgetState).Name)
            {
                WidgetState = new BlankWidgetState();
            }
            else if (objectTypeName == typeof(OxyPlotWidgetState).Name)
            {
                WidgetState = new OxyPlotWidgetState();
            }
            else if (objectTypeName == typeof(DataExportWidgetState).Name)
            {
                WidgetState = new DataExportWidgetState();
            }

            if (WidgetState != null)
            {
                serializer.Populate(jsonObject.CreateReader(), WidgetState);
            }

            return(WidgetState);
        }
예제 #2
0
        public IWidgetState GenerateState()
        {
            DataExportWidgetState state = new DataExportWidgetState();

            // Generate the IPlotConfig state
            state.DataExportConfig_ = mDataExportConfig;

            return(state);
        }