protected virtual T LoadProblemData(CFGData data)
        {
            CFGProblemData problemData = new CFGProblemData(data.Input, data.Output);

            problemData.TrainingPartitionParameter.Value.Start = data.TrainingPartitionStart;
            problemData.TrainingPartitionParameter.Value.End   = data.TrainingPartitionEnd;
            problemData.TestPartitionParameter.Value.Start     = data.TestPartitionStart;
            problemData.TestPartitionParameter.Value.End       = data.TestPartitionEnd;
            problemData.EmbedCode.Value = data.Embed;
            return(problemData as T);
        }
    static CFGProblemData() {
      var problemData = new CFGProblemData();
      problemData.Parameters.Clear();
      problemData.Name = "Empty CFG ProblemData";
      problemData.Description = "This ProblemData acts as place holder before the correct problem data is loaded.";
      problemData.isEmpty = true;

      problemData.Parameters.Add(new FixedValueParameter<StringArray>(InputParameterName, "", new StringArray().AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<StringArray>(OutputParameterName, "", new StringArray().AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<IntRange>(TrainingPartitionParameterName, "", (IntRange)new IntRange(0, 0).AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<IntRange>(TestPartitionParameterName, "", (IntRange)new IntRange(0, 0).AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<TextValue>(EmbedCodeParameterName, "Text where code should be embedded to. (Optinal: Does not have to be set.)", new TextValue().AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<TextValue>(HeaderParameterName, "", new TextValue().AsReadOnly()));
      problemData.Parameters.Add(new FixedValueParameter<TextValue>(FooterParameterName, "", new TextValue().AsReadOnly()));
      emptyProblemData = problemData;
    }
        static CFGProblemData()
        {
            var problemData = new CFGProblemData();

            problemData.Parameters.Clear();
            problemData.Name        = "Empty CFG ProblemData";
            problemData.Description = "This ProblemData acts as place holder before the correct problem data is loaded.";
            problemData.isEmpty     = true;

            problemData.Parameters.Add(new FixedValueParameter <StringArray>(InputParameterName, "", new StringArray().AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <StringArray>(OutputParameterName, "", new StringArray().AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <IntRange>(TrainingPartitionParameterName, "", (IntRange) new IntRange(0, 0).AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <IntRange>(TestPartitionParameterName, "", (IntRange) new IntRange(0, 0).AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <TextValue>(EmbedCodeParameterName, "Text where code should be embedded to. (Optinal: Does not have to be set.)", new TextValue().AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <TextValue>(HeaderParameterName, "", new TextValue().AsReadOnly()));
            problemData.Parameters.Add(new FixedValueParameter <TextValue>(FooterParameterName, "", new TextValue().AsReadOnly()));
            emptyProblemData = problemData;
        }
 protected CFGProblemData(CFGProblemData original, Cloner cloner)
   : base(original, cloner) {
   isEmpty = original.isEmpty;
   RegisterEventHandlers();
 }
 protected CFGProblemData(CFGProblemData original, Cloner cloner)
     : base(original, cloner)
 {
     isEmpty = original.isEmpty;
     RegisterEventHandlers();
 }