Changeset 2128


Ignore:
Timestamp:
Nov 25, 2010, 11:55:22 AM (11 years ago)
Author:
kopal
Message:

fixed erroneous serialization of Windows.System.Point in the XMLSerialization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Model/XMLSerialization.cs

    r2127 r2128  
    2626using Cryptool.PluginBase;
    2727using WorkspaceManager;
     28using System.Windows;
    2829
    2930namespace XMLSerialization
     
    193194                                        writer.WriteLine("<value>" + o.GetHashCode() + "</value>");
    194195                                    }
     196                                    else if(o is Point)
     197                                    {
     198                                        Point p = (Point) o;
     199                                        writer.WriteLine("<value><![CDATA[" + p.X + ";" + p.Y + "]]></value>");
     200
     201                                    }
    195202                                    else
    196203                                    {
    197                                         writer.WriteLine("<value>" + o + "</value>");
     204                                        writer.WriteLine("<value><![CDATA[" + o + "]]></value>");
    198205                                    }
    199206                                }
     
    216223                        {
    217224                            writer.WriteLine("<value>" + value.GetHashCode() + "</value>");
     225                        }
     226                        else if(value is Point)
     227                        {
     228                            Point p = (Point)value;
     229                            writer.WriteLine("<value><![CDATA[" + p.X + ";" + p.Y + "]]></value>");   
    218230                        }
    219231                        else
     
    462474                            {
    463475                                string[] values = value.InnerText.Split(new char[] {';'});
     476
     477                                if(values.Length != 2)
     478                                {
     479                                    throw new Exception("Can not create a Point with " + values.Length + " Coordinates!");
     480                                }
    464481
    465482                                double x = 0;
Note: See TracChangeset for help on using the changeset viewer.