Beispiel #1
0
 /// <summary>
 /// Clones this experiment.
 /// </summary>
 /// <returns></returns>
 public override BaseExperiment Clone()
 {
     Experiment clone = new Experiment();
     clone.CopyFrom(this);
     clone.ResetModifiedFlag();
     return clone;
 }
Beispiel #2
0
        /// <summary>
        /// Clones this experiment.
        /// </summary>
        /// <returns></returns>
        public override BaseExperiment Clone()
        {
            Experiment clone = new Experiment();

            clone.CopyFrom(this);
            clone.ResetModifiedFlag();
            return(clone);
        }
        /// <summary>
        /// Creates new m_experiment.
        /// </summary>
        /// <returns>Returns newly created m_experiment.</returns>
        public static Experiment New()
        {
            Experiment newExperiment = new Experiment(NewExperimentName, string.Empty);
            ExperimentStartNode start = new ExperimentStartNode();
            start.Data.X = 200;
            start.Data.Y = 100;
            newExperiment.AddVertex(start);
            
            ExperimentEndNode end = new ExperimentEndNode();
            end.Data.X = 200;
            end.Data.Y = 200;
            newExperiment.AddVertex(end);

            newExperiment.ReloadStartAndEndNode();
            newExperiment.ResetModifiedFlag();

            return newExperiment;
        }
Beispiel #4
0
        /// <summary>
        /// Loads a experiment from the specified file.
        /// </summary>
        /// <param name="filename">The filename.</param>
        /// <exception cref="TraceLab.Core.Exceptions.ExperimentLoadException">throws if experiment load fails</exception>
        /// <returns>
        /// Returns loaded m_experiment. If loading failed it returns null.
        /// </returns>
        public static Experiment Load(string fileName, TraceLab.Core.Components.ComponentsLibrary library)
        {
            Experiment experiment = null;

            try
            {
                using (System.Xml.XmlReader reader = System.Xml.XmlReader.Create(fileName))
                {
                    experiment = ExperimentSerializer.DeserializeExperiment(reader, library, fileName);
                }

                if (experiment != null)
                {
                    experiment.ResetModifiedFlag();
                }
            }
            catch (ArgumentException e)
            {
                throw new ExperimentLoadException("The experiment file could not be loaded. Filename cannot be empty. ", e);
            }
            catch (System.Security.SecurityException e)
            {
                throw new ExperimentLoadException("The experiment file could not be loaded.", e);
            }
            catch (System.IO.FileNotFoundException e)
            {
                throw new ExperimentLoadException("The experiment file has not been found.", e);
            }
            catch (System.IO.DirectoryNotFoundException e)
            {
                throw new ExperimentLoadException("The directory has not been found.", e);
            }
            catch (UriFormatException e)
            {
                throw new ExperimentLoadException("The experiment is corrupted and could not be loaded.", e);
            }
            catch (System.Xml.XmlException e)
            {
                throw new ExperimentLoadException("The experiment is corrupted and could not be loaded.", e);
            }

            return(experiment);
        }
Beispiel #5
0
        /// <summary>
        /// Creates new m_experiment.
        /// </summary>
        /// <returns>Returns newly created m_experiment.</returns>
        public static Experiment New()
        {
            Experiment          newExperiment = new Experiment(NewExperimentName, string.Empty);
            ExperimentStartNode start         = new ExperimentStartNode();

            start.Data.X = 200;
            start.Data.Y = 100;
            newExperiment.AddVertex(start);

            ExperimentEndNode end = new ExperimentEndNode();

            end.Data.X = 200;
            end.Data.Y = 200;
            newExperiment.AddVertex(end);

            newExperiment.ReloadStartAndEndNode();
            newExperiment.ResetModifiedFlag();

            return(newExperiment);
        }