Ejemplo n.º 1
0
      void populateCanvasFromLoad(MaskDAGXML xmldat)
      {
         cleanCanvas();
         newCanvas();

         for (int i = 0; i < xmldat.mNodes.Count; i++)
         {
            Type t = xmldat.mNodes[i].GetType();
            MaskDAGGraphNode val = null;
            try
            {
               System.Reflection.ConstructorInfo ci = t.GetConstructor(new Type[] { typeof(GraphCanvas) });
               val = ((MaskDAGGraphNode)ci.Invoke(new object[] { this }));
            }
            catch (Exception e)
            {
               e.ToString();
               return;
            }
            val.load(xmldat.mNodes[i]);
            addCanvasNode(val);
         }

         //load our connections now
         for (int i = 0; i < xmldat.mConnections.Count; i++)
         {
            CanvasNode start = findConnectionNode(xmldat.mConnections[i].mOwnerDeviceID, xmldat.mConnections[i].mConnectionName);
            CanvasNode end = findConnectionNode(xmldat.mConnections[i].mNeighborDeviceID, xmldat.mConnections[i].mNeighborConnectionName);
            if (start == null || end == null) continue;

            addConnection(start, end);

         }
      }
Ejemplo n.º 2
0
      public override bool saveCanvasToDisk(string filename)
      {
         MaskDAGXML xmldat = prepCanvasForSave();
     
         EditorCore.Controls.Micro.BaseLoader<MaskDAGXML>.Save(filename, xmldat);

         return true;
      }
Ejemplo n.º 3
0
      public override bool loadCanvasFromDisk(string filename)
      {
        

         MaskDAGXML xmldat = EditorCore.Controls.Micro.BaseLoader<MaskDAGXML>.Load(filename);

         if(xmldat == null)
         {
            MessageBox.Show("Could not load " + filename + ". An error occured");
            return false;
         }
         populateCanvasFromLoad(xmldat);

         return true;
      }
Ejemplo n.º 4
0
      //general functions
      MaskDAGXML prepCanvasForSave()
      {

         MaskDAGXML xmldat = new MaskDAGXML();

         for (int i = 0; i < mNodes.Count; i++)
            if (mNodes[i].mDepthLayer == 0)
               xmldat.mNodes.Add(mNodes[i] as MaskDAGGraphNode);

         //generate connection records
         for (int i = 0; i < mNodes.Count; i++)
         {
            MaskDAGGraphNode dnode = (mNodes[i] as MaskDAGGraphNode);
            if (dnode != null)
               xmldat.mConnections.AddRange(dnode.generateConnectionLists());
         }
         return xmldat;
      }
Ejemplo n.º 5
0
      public override bool loadCanvasFromMemoryStream(MemoryStream ms)
      {
         MaskDAGXML xmldat = null;
         try
         {
            XmlSerializer s = new XmlSerializer(typeof(MaskDAGXML), new Type[] { });
            xmldat = ((MaskDAGXML)s.Deserialize(ms));

            populateCanvasFromLoad(xmldat);
         }
         catch (System.Exception ex)
         {
            ex.ToString();
            return false;
         }

         return true;
      }
Ejemplo n.º 6
0
      public override bool saveCanvasToMemoryStream(MemoryStream ms)
      {
         try
         {
            MaskDAGXML xmldat = prepCanvasForSave();

            XmlSerializer s = new XmlSerializer(typeof(MaskDAGXML), new Type[] { });
            XmlTextWriter xmlTextWriter = new XmlTextWriter(ms, Encoding.UTF8);
            s.Serialize(xmlTextWriter, xmldat);
            ms = (MemoryStream)xmlTextWriter.BaseStream;
            ms.Seek(0, SeekOrigin.Begin);

         }
         catch (System.Exception ex)
         {
            ex.ToString();
            return false;
         }

         return true;
      }