Ejemplo n.º 1
0
			public override object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
			{
				XYColumnPlotData s = null != o ? (XYColumnPlotData)o : new XYColumnPlotData(info);
				base.Deserialize(s, info, parent);

				bool bNeedsCallback = false;

				object labelColumn = null;

				int nOptionalData = info.OpenArray();
				{
					if (nOptionalData == 1)
					{
						string keystring = info.GetNodeName();
						labelColumn = info.GetValue("LabelColumn", s);

						if (labelColumn is Altaxo.Data.IReadableColumn)
							s._deprecatedLabelColumn = (Altaxo.Data.IReadableColumn)labelColumn;
						else if (labelColumn is Main.AbsoluteDocumentPath)
							bNeedsCallback = true;
					}
				}
				info.CloseArray(nOptionalData);

				if (bNeedsCallback)
				{
					XmlSerializationSurrogate2 surr = new XmlSerializationSurrogate2();
					surr._labelColumn = labelColumn as Main.AbsoluteDocumentPath;
					surr._plotAssociation = s;

					info.DeserializationFinished += new Altaxo.Serialization.Xml.XmlDeserializationCallbackEventHandler(surr.EhDeserializationFinished2);
				}

				return s;
			}
Ejemplo n.º 2
0
			public object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
			{
				MultivariateContentMemento s = null != o ? (MultivariateContentMemento)o : new MultivariateContentMemento();

				s.OriginalDataTableName = info.GetString("Name");
				s.SpectrumIsRow = info.GetBoolean("SpectrumIsRow");
				s.SpectralIndices = (IAscendingIntegerCollection)info.GetValue("SpectralIndices", s);
				s.ConcentrationIndices = (IAscendingIntegerCollection)info.GetValue("ConcentrationIndices", s);
				s.MeasurementIndices = (IAscendingIntegerCollection)info.GetValue("MeasurementIndices", s);
				s._PreferredNumberOfFactors = info.GetInt32("PreferredNumberOfFactors");

				// new in version 1
				int[] regions;
				info.GetArray("SpectralPreprocessingRegions", out regions);
				s._spectralPreprocessing.Regions = regions;
				s._spectralPreprocessing.Method = (SpectralPreprocessingMethod)info.GetEnum("SpectralPreprocessingMethod", typeof(SpectralPreprocessingMethod));
				s._spectralPreprocessing.DetrendingOrder = info.GetInt32("SpectralPreprocessingDetrending");
				s._spectralPreprocessing.EnsembleScale = info.GetBoolean("SpectralPreprocessingEnsembleScale");

				// new in version 2
				s._ClassNameOfAnalysisClass = info.GetString("ClassNameOfAnalysisClass");

				// added fix after version 2 : forgotten to serialize crossPRESSCalculationType
				if (info.GetNodeName() == "CrossPRESSCalculationType")
					s._crossPRESSCalculationType = (CrossPRESSCalculationType)info.GetValue("CrossPRESSCalculationType", s);
				else
					s._crossPRESSCalculationType = CrossPRESSCalculationType.ExcludeGroupsOfSimilarMeasurements;

				return s;
			}