Changeset 1905


Ignore:
Timestamp:
Sep 3, 2010, 11:34:47 AM (11 years ago)
Author:
kopal
Message:

fixed problem with adding plugins with BigInteger/s

Location:
trunk/CrypPlugins/WorkspaceManager
Files:
5 edited

Legend:

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

    r1903 r1905  
    7171                if (this.ConnectionTypeName != null)
    7272                {
     73                    if (ConnectionTypeName.Equals("System.Numerics.BigInteger"))
     74                    {
     75                        return typeof(System.Numerics.BigInteger);
     76                    }
     77                    if (ConnectionTypeName.Equals("System.Numerics.BigInteger[]"))
     78                    {
     79                        return typeof(System.Numerics.BigInteger[]);
     80                    }
    7381                    Assembly assembly = Assembly.Load(ConnectionTypeAssemblyName);
    7482                    Type t = assembly.GetType(ConnectionTypeName);
  • trunk/CrypPlugins/WorkspaceManager/Model/ConnectorModel.cs

    r1903 r1905  
    6969                if (this.ConnectorTypeName != null)
    7070                {
     71                    if (ConnectorTypeName.Equals("System.Numerics.BigInteger"))
     72                    {
     73                        return typeof(System.Numerics.BigInteger);
     74                    }
     75                    if (ConnectorTypeName.Equals("System.Numerics.BigInteger[]"))
     76                    {
     77                        return typeof(System.Numerics.BigInteger[]);
     78                    }
    7179                    Assembly assembly = Assembly.Load(ConnectorTypeAssemblyName);
    7280                    Type t = assembly.GetType(ConnectorTypeName);
    7381                    return t;
     82                                       
    7483                }
    7584                else
  • trunk/CrypPlugins/WorkspaceManager/Model/XMLSerialization.cs

    r1903 r1905  
    175175                        byte[] bytes = (byte[])value;
    176176                        writer.WriteLine("<value><![CDATA[" + ReplaceXMLSymbols(Convert.ToBase64String(bytes)) + "]]></value>");
    177                     }
    178                     /*else if (value is System.Collections.IList && value.GetType().IsGenericType)
    179                     {
    180                         writer.WriteLine("<generictype>" + value.GetType().GetGenericArguments()[0].FullName + "</generictype>");
    181                         writer.WriteLine("<genericlist>");
     177                    }                   
     178                    else if (value is System.Collections.IList)
     179                    {
     180                        writer.WriteLine("<list>");
    182181                        foreach (object o in (System.Collections.IList)value)
    183182                        {
    184183                            if (o.GetType().IsSerializable)
    185184                            {
    186                                
    187185                                writer.WriteLine("<entry>");
    188186                                writer.WriteLine("<type>" + o.GetType().FullName + "</type>");
     
    205203                            }
    206204                        }
    207                         writer.WriteLine("</genericlist>");
    208                     }*/
    209                     else if (value is System.Collections.IList)
    210                     {
    211                         writer.WriteLine("<list>");
    212                         foreach (object o in (System.Collections.IList)value)
    213                         {
    214                             if (o.GetType().IsSerializable)
    215                             {
    216                                 writer.WriteLine("<entry>");
    217                                 writer.WriteLine("<type>" + o.GetType().FullName + "</type>");
    218                                 if (isPrimitive(o))
    219                                 {
    220                                     if (o is Enum)
    221                                     {
    222                                         writer.WriteLine("<value>" + o.GetHashCode() + "</value>");
    223                                     }
    224                                     else
    225                                     {
    226                                         writer.WriteLine("<value>" + o + "</value>");
    227                                     }
    228                                 }
    229                                 else
    230                                 {
    231                                     writer.WriteLine("<reference>" + o.GetHashCode() + "</reference>");
    232                                 }
    233                                 writer.WriteLine("</entry>");
    234                             }
    235                         }
    236205                        writer.WriteLine("</list>");
    237206                    }
     
    446415                                BindingFlags.Public |
    447416                                BindingFlags.Instance).SetValue(newObject, value.InnerText);
    448                         }
    449                         /*else if (RevertXMLSymbols(membertype.InnerText).Equals("System.Int16"))                       
    450                         {
    451                             Int16 result = 0;
    452                             System.Int16.TryParse(RevertXMLSymbols(value.InnerText), out result);
     417                        }                       
     418                        else if (RevertXMLSymbols(membertype.InnerText).Contains("System.Int"))
     419                        {
     420                            Int32 result = 0;
     421                            System.Int32.TryParse(RevertXMLSymbols(value.InnerText), out result);
    453422                            newObject.GetType().GetField(RevertXMLSymbols(membername.InnerText),
    454423                                BindingFlags.NonPublic |
    455424                                BindingFlags.Public |
    456425                                BindingFlags.Instance).SetValue(newObject, result);
    457                         }*/
    458                         else if (RevertXMLSymbols(membertype.InnerText).Contains("System.Int"))
    459                         {
    460                             Int32 result = 0;
    461                             System.Int32.TryParse(RevertXMLSymbols(value.InnerText), out result);
    462                             newObject.GetType().GetField(RevertXMLSymbols(membername.InnerText),
    463                                 BindingFlags.NonPublic |
    464                                 BindingFlags.Public |
    465                                 BindingFlags.Instance).SetValue(newObject, result);
    466                         }
    467                         /* if (RevertXMLSymbols(membertype.InnerText).Equals("System.Int32"))
    468                         {
    469                             Int32 result = 0;
    470                             System.Int32.TryParse(RevertXMLSymbols(value.InnerText), out result);
    471                             newObject.GetType().GetField(RevertXMLSymbols(membername.InnerText),
    472                                 BindingFlags.NonPublic |
    473                                 BindingFlags.Public |
    474                                 BindingFlags.Instance).SetValue(newObject, result);
    475                         }
    476                         else if (RevertXMLSymbols(membertype.InnerText).Equals("System.Int64"))
    477                         {
    478                             Int64 result = 0;
    479                             System.Int64.TryParse(RevertXMLSymbols(value.InnerText), out result);
    480                             newObject.GetType().GetField(RevertXMLSymbols(membername.InnerText),
    481                                 BindingFlags.NonPublic |
    482                                 BindingFlags.Public |
    483                                 BindingFlags.Instance).SetValue(newObject, result);
    484                         }*/
     426                        }                       
    485427                        else if (RevertXMLSymbols(membertype.InnerText).Equals("System.Double"))
    486428                        {
  • trunk/CrypPlugins/WorkspaceManager/View/Container/IControlContainer.xaml.cs

    r1892 r1905  
    182182                if (e.Data.GetDataPresent("Cryptool.PluginBase.Editor.DragDropDataObject"))
    183183                {
    184                     DragDropDataObject obj = e.Data.GetData("Cryptool.PluginBase.Editor.DragDropDataObject") as DragDropDataObject;
    185                     PluginModel pluginModel = Model.WorkspaceModel.newPluginModel(DragDropDataObjectToPluginConverter.CreatePluginInstance(obj.AssemblyFullName, obj.TypeFullName));
    186                     if (obj != null)
    187                         this.AddPluginContainerView(e.GetPosition(root), pluginModel);
    188                     Model.WorkspaceModel.WorkspaceManagerEditor.HasChanges = true;
     184                    try
     185                    {
     186                        DragDropDataObject obj = e.Data.GetData("Cryptool.PluginBase.Editor.DragDropDataObject") as DragDropDataObject;
     187                        PluginModel pluginModel = Model.WorkspaceModel.newPluginModel(DragDropDataObjectToPluginConverter.CreatePluginInstance(obj.AssemblyFullName, obj.TypeFullName));
     188                        if (obj != null)
     189                            this.AddPluginContainerView(e.GetPosition(root), pluginModel);
     190                        Model.WorkspaceModel.WorkspaceManagerEditor.HasChanges = true;
     191                    }
     192                    catch (Exception ex)
     193                    {
     194                        this.Model.WorkspaceModel.WorkspaceManagerEditor.GuiLogMessage("Could not add Plugin to Workspace:" + ex.Message, NotificationLevel.Error);
     195                        this.Model.WorkspaceModel.WorkspaceManagerEditor.GuiLogMessage(ex.StackTrace, NotificationLevel.Error);
     196                        return;
     197                    }
    189198                }
    190199                else
  • trunk/CrypPlugins/WorkspaceManager/View/Container/WorkSpaceEditorView.xaml.cs

    r1892 r1905  
    297297                if (e.Data.GetDataPresent("Cryptool.PluginBase.Editor.DragDropDataObject"))
    298298                {
    299                     DragDropDataObject obj = e.Data.GetData("Cryptool.PluginBase.Editor.DragDropDataObject") as DragDropDataObject;
    300                     PluginModel pluginModel = Model.newPluginModel(DragDropDataObjectToPluginConverter.CreatePluginInstance(obj.AssemblyFullName, obj.TypeFullName));
    301                     if (obj != null)
    302                         this.AddPluginContainerView(e.GetPosition(root), pluginModel);
    303                     Model.WorkspaceManagerEditor.HasChanges = true;
     299                    try
     300                    {
     301                        DragDropDataObject obj = e.Data.GetData("Cryptool.PluginBase.Editor.DragDropDataObject") as DragDropDataObject;
     302                        PluginModel pluginModel = Model.newPluginModel(DragDropDataObjectToPluginConverter.CreatePluginInstance(obj.AssemblyFullName, obj.TypeFullName));
     303                        if (obj != null)
     304                            this.AddPluginContainerView(e.GetPosition(root), pluginModel);
     305                        Model.WorkspaceManagerEditor.HasChanges = true;
     306                    }
     307                    catch (Exception ex)
     308                    {
     309                        this.Model.WorkspaceManagerEditor.GuiLogMessage("Could not add Plugin to Workspace:" + ex.Message, NotificationLevel.Error);
     310                        this.Model.WorkspaceManagerEditor.GuiLogMessage(ex.StackTrace, NotificationLevel.Error);
     311                        return;
     312                    }
    304313                }
    305314                else
Note: See TracChangeset for help on using the changeset viewer.