Changeset 14777 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views
- Timestamp:
- 03/23/17 01:11:18 (8 years ago)
- 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 33 33 this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft); 34 34 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); 36 36 // 37 37 // infoLabel 38 38 // 39 this.infoLabel.Location = new System.Drawing.Point( 366, 3);39 this.infoLabel.Location = new System.Drawing.Point(822, 3); 40 40 // 41 41 // dataGridView -
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/DataEditorView.cs
r14744 r14777 2 2 3 3 namespace HeuristicLab.BenchmarkSuite.Views { 4 5 using HeuristicLab.BenchmarkSuite.Problems; 4 6 using HeuristicLab.Core.Views; 5 7 using HeuristicLab.MainForm; 6 8 7 9 [View("Push Expression Selection Editor")] 8 [Content(typeof( IBenchmarkSuiteDataDescriptor), true)]10 [Content(typeof(Data), true)] 9 11 public partial class DataEditorView : NamedItemView { 12 private const string ValueSeparator = ", "; 13 10 14 public DataEditorView() { 11 15 InitializeComponent(); … … 20 24 var row = dataGridView.Rows[e.RowIndex]; 21 25 22 var inputArgs = new string[Content.InputArgument Count];23 for (var i = 0; i < Content.InputArgument Count; i++) {26 var inputArgs = new string[Content.InputArgumentTypes.Length]; 27 for (var i = 0; i < Content.InputArgumentTypes.Length; i++) { 24 28 inputArgs[i] = row.Cells[i].Value.ToString(); 25 29 } 26 30 27 var outputArgs = new string[Content.OutputArgument Count];28 for (var i = 0; i < Content.OutputArgument Count; i++) {29 outputArgs[i] = row.Cells[Content.InputArgument Count+ 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(); 30 34 } 31 35 … … 33 37 34 38 try { 35 var newExample = Content.ParseExample(inputArgs, outputArgs);39 var newExample = ParseExample(inputArgs, Content.InputArgumentTypes, outputArgs, Content.OutputArgumentTypes); 36 40 newExample.CopyTo(example); 37 41 } … … 40 44 41 45 // reset entry 42 row.Cells[e.ColumnIndex].Value = e.ColumnIndex < Content.InputArgument Count46 row.Cells[e.ColumnIndex].Value = e.ColumnIndex < Content.InputArgumentTypes.Length 43 47 ? example.InputArgs[e.ColumnIndex] 44 : example.OutputArgs[e.ColumnIndex - Content.InputArgument Count];48 : example.OutputArgs[e.ColumnIndex - Content.InputArgumentTypes.Length]; 45 49 } 46 50 } 47 51 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 49 117 { 50 get { return ( IBenchmarkSuiteDataDescriptor)base.Content; }118 get { return (Data)base.Content; } 51 119 set 52 120 { … … 69 137 } 70 138 139 this.nameTextBox.Text = Content.Name; 140 71 141 var cellTemplate = new DataGridViewTextBoxCell(); 72 142 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]); 74 145 var column = new DataGridViewColumn { 75 HeaderText = string.Format("Input {0} ", i),146 HeaderText = string.Format("Input {0} : {1}", i + 1, headerTypeName), 76 147 AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, 77 148 CellTemplate = cellTemplate … … 81 152 } 82 153 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]); 84 156 var column = new DataGridViewColumn { 85 HeaderText = string.Format("Output {0} ", i),157 HeaderText = string.Format("Output {0} : {1}", i + 1, headerTypeName), 86 158 AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill, 87 159 CellTemplate = cellTemplate … … 97 169 row.CreateCells(dataGridView); 98 170 99 for (var i = 0; i < Content.InputArgument Count; 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); 101 173 } 102 174 103 for (var i = 0; i < Content.OutputArgument Count; i++) {104 row.Cells[Content.InputArgument Count + 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); 105 177 } 106 178
Note: See TracChangeset
for help on using the changeset viewer.