Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/23/17 01:11:18 (7 years ago)
Author:
pkimmesw
Message:

#2665 simplifier, push solution results view, performance improvements, small bug fixes, ui fixes

Location:
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/DataEditorView.Designer.cs

    r14727 r14777  
    3333      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
    3434      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    35       this.nameTextBox.Size = new System.Drawing.Size(302, 20);
     35      this.nameTextBox.Size = new System.Drawing.Size(758, 20);
    3636      //
    3737      // infoLabel
    3838      //
    39       this.infoLabel.Location = new System.Drawing.Point(366, 3);
     39      this.infoLabel.Location = new System.Drawing.Point(822, 3);
    4040      //
    4141      // dataGridView
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/DataEditorView.cs

    r14744 r14777  
    22
    33namespace HeuristicLab.BenchmarkSuite.Views {
     4
     5  using HeuristicLab.BenchmarkSuite.Problems;
    46  using HeuristicLab.Core.Views;
    57  using HeuristicLab.MainForm;
    68
    79  [View("Push Expression Selection Editor")]
    8   [Content(typeof(IBenchmarkSuiteDataDescriptor), true)]
     10  [Content(typeof(Data), true)]
    911  public partial class DataEditorView : NamedItemView {
     12    private const string ValueSeparator = ", ";
     13
    1014    public DataEditorView() {
    1115      InitializeComponent();
     
    2024      var row = dataGridView.Rows[e.RowIndex];
    2125
    22       var inputArgs = new string[Content.InputArgumentCount];
    23       for (var i = 0; i < Content.InputArgumentCount; i++) {
     26      var inputArgs = new string[Content.InputArgumentTypes.Length];
     27      for (var i = 0; i < Content.InputArgumentTypes.Length; i++) {
    2428        inputArgs[i] = row.Cells[i].Value.ToString();
    2529      }
    2630
    27       var outputArgs = new string[Content.OutputArgumentCount];
    28       for (var i = 0; i < Content.OutputArgumentCount; i++) {
    29         outputArgs[i] = row.Cells[Content.InputArgumentCount + i].Value.ToString();
     31      var outputArgs = new string[Content.OutputArgumentTypes.Length];
     32      for (var i = 0; i < Content.OutputArgumentTypes.Length; i++) {
     33        outputArgs[i] = row.Cells[Content.InputArgumentTypes.Length + i].Value.ToString();
    3034      }
    3135
     
    3337
    3438      try {
    35         var newExample = Content.ParseExample(inputArgs, outputArgs);
     39        var newExample = ParseExample(inputArgs, Content.InputArgumentTypes, outputArgs, Content.OutputArgumentTypes);
    3640        newExample.CopyTo(example);
    3741      }
     
    4044
    4145        // reset entry
    42         row.Cells[e.ColumnIndex].Value = e.ColumnIndex < Content.InputArgumentCount
     46        row.Cells[e.ColumnIndex].Value = e.ColumnIndex < Content.InputArgumentTypes.Length
    4347          ? example.InputArgs[e.ColumnIndex]
    44           : example.OutputArgs[e.ColumnIndex - Content.InputArgumentCount];
     48          : example.OutputArgs[e.ColumnIndex - Content.InputArgumentTypes.Length];
    4549      }
    4650    }
    4751
    48     public new IBenchmarkSuiteDataDescriptor Content
     52    private Example ParseExample(string[] inputArgs, ExampleArgumentType[] inputArgTypes, string[] outputArgs, ExampleArgumentType[] outputArgTypes) {
     53      var example = new Example();
     54
     55      example.InputArgs = new string[inputArgs.Length];
     56      for (var i = 0; i < inputArgs.Length; i++) {
     57        var arg = inputArgs[i];
     58        var type = inputArgTypes[i];
     59
     60        switch (type) {
     61          case ExampleArgumentType.Bool:
     62            example.InputBoolean = new[] { ExampleArgumentConverter.ConvertBoolean(arg) };
     63            example.InputArgs[i] = arg;
     64            break;
     65          case ExampleArgumentType.Integer:
     66            example.InputInt = new[] { ExampleArgumentConverter.ConvertInteger(arg) };
     67            example.InputArgs[i] = arg;
     68            break;
     69          case ExampleArgumentType.IntegerCollection:
     70            example.InputInt = ExampleArgumentConverter.ConvertIntegers(arg);
     71            example.InputArgs[i] = string.Join(ValueSeparator, example.InputInt);
     72            break;
     73          case ExampleArgumentType.Float:
     74            example.InputFloat = new[] { ExampleArgumentConverter.ConvertDouble(arg) };
     75            example.InputArgs[i] = arg;
     76            break;
     77          case ExampleArgumentType.FloatCollection:
     78            example.InputFloat = ExampleArgumentConverter.ConvertDoubles(arg);
     79            example.InputArgs[i] = string.Join(ValueSeparator, example.InputFloat);
     80            break;
     81        }
     82      }
     83
     84      example.OutputArgs = new string[outputArgs.Length];
     85      for (var i = 0; i < outputArgs.Length; i++) {
     86        var arg = outputArgs[i];
     87        var type = outputArgTypes[i];
     88
     89        switch (type) {
     90          case ExampleArgumentType.Bool:
     91            example.OutputBoolean = new[] { ExampleArgumentConverter.ConvertBoolean(arg) };
     92            example.OutputArgs[i] = arg;
     93            break;
     94          case ExampleArgumentType.Integer:
     95            example.OutputInt = new[] { ExampleArgumentConverter.ConvertInteger(arg) };
     96            example.OutputArgs[i] = arg;
     97            break;
     98          case ExampleArgumentType.IntegerCollection:
     99            example.OutputInt = ExampleArgumentConverter.ConvertIntegers(arg);
     100            example.OutputArgs[i] = string.Join(ValueSeparator, example.OutputInt);
     101            break;
     102          case ExampleArgumentType.Float:
     103            example.OutputFloat = new[] { ExampleArgumentConverter.ConvertDouble(arg) };
     104            example.OutputArgs[i] = arg;
     105            break;
     106          case ExampleArgumentType.FloatCollection:
     107            example.OutputFloat = ExampleArgumentConverter.ConvertDoubles(arg);
     108            example.OutputArgs[i] = string.Join(ValueSeparator, example.OutputFloat);
     109            break;
     110        }
     111      }
     112
     113      return example;
     114    }
     115
     116    public new Data Content
    49117    {
    50       get { return (IBenchmarkSuiteDataDescriptor)base.Content; }
     118      get { return (Data)base.Content; }
    51119      set
    52120      {
     
    69137      }
    70138
     139      this.nameTextBox.Text = Content.Name;
     140
    71141      var cellTemplate = new DataGridViewTextBoxCell();
    72142
    73       for (var i = 1; i <= Content.InputArgumentCount; i++) {
     143      for (var i = 0; i < Content.InputArgumentTypes.Length; i++) {
     144        var headerTypeName = ViewHelper.GetHeaderTypeName(Content.InputArgumentTypes[i]);
    74145        var column = new DataGridViewColumn {
    75           HeaderText = string.Format("Input {0}", i),
     146          HeaderText = string.Format("Input {0} : {1}", i + 1, headerTypeName),
    76147          AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
    77148          CellTemplate = cellTemplate
     
    81152      }
    82153
    83       for (var i = 1; i <= Content.OutputArgumentCount; i++) {
     154      for (var i = 0; i < Content.OutputArgumentTypes.Length; i++) {
     155        var headerTypeName = ViewHelper.GetHeaderTypeName(Content.OutputArgumentTypes[i]);
    84156        var column = new DataGridViewColumn {
    85           HeaderText = string.Format("Output {0}", i),
     157          HeaderText = string.Format("Output {0} : {1}", i + 1, headerTypeName),
    86158          AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
    87159          CellTemplate = cellTemplate
     
    97169        row.CreateCells(dataGridView);
    98170
    99         for (var i = 0; i < Content.InputArgumentCount; i++) {
    100           row.Cells[i].Value = example.InputArgs[i];
     171        for (var i = 0; i < Content.InputArgumentTypes.Length; i++) {
     172          row.Cells[i].Value = ViewHelper.StringifyInput(Content.InputArgumentTypes[i], example, ValueSeparator);
    101173        }
    102174
    103         for (var i = 0; i < Content.OutputArgumentCount; i++) {
    104           row.Cells[Content.InputArgumentCount + i].Value = example.OutputArgs[i];
     175        for (var i = 0; i < Content.OutputArgumentTypes.Length; i++) {
     176          row.Cells[Content.InputArgumentTypes.Length + i].Value = ViewHelper.StringifyOutput(Content.OutputArgumentTypes[i], example, ValueSeparator);
    105177        }
    106178
Note: See TracChangeset for help on using the changeset viewer.