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.Problems.ProgramSynthesis/Push/Views
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Views/ExpressionSelectionView.cs

    r14747 r14777  
    4343
    4444    private void ExpressionsTreeViewAfterCheck(object sender, TreeViewEventArgs e) {
    45       var isStackNode = e.Node.Tag is StackType;
     45      var isStackNode = e.Node.Tag is StackTypes;
    4646
    4747      if (isStackNode) {
    4848        if (e.Node.Checked) {
    49           Content.EnableStack((StackType)e.Node.Tag);
     49          Content.EnableStack((StackTypes)e.Node.Tag);
    5050          foreach (var subNode in e.Node.Nodes.Cast<TreeNode>())
    5151            subNode.Checked = true;
    5252        } else {
    53           Content.DisableStack((StackType)e.Node.Tag);
     53          Content.DisableStack((StackTypes)e.Node.Tag);
    5454          foreach (var subNode in e.Node.Nodes.Cast<TreeNode>())
    5555            subNode.Checked = false;
     
    7171      }
    7272
     73      this.nameTextBox.Text = "Push Expression Selection";
     74
    7375      var treeNodes = GetTreeNodes(Content.EnabledExpressions).ToArray();
    7476      expressionsTreeView.Nodes.AddRange(treeNodes);
     
    7981        var stackTreeNode = new TreeNode {
    8082          Tag = stackType,
    81           Text = Enum.GetName(typeof(StackType), stackType),
     83          Text = Enum.GetName(typeof(StackTypes), stackType),
    8284        };
    8385
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Views/ExpressionSelectionView.resx

    r14727 r14777  
    6868            <xsd:complexType>
    6969              <xsd:sequence>
    70                 <xsd:element name="value" type="xsd:string" minOccurs="0" />
     70                <xsd:element name="value" types="xsd:string" minOccurs="0" />
    7171              </xsd:sequence>
    72               <xsd:attribute name="name" use="required" type="xsd:string" />
    73               <xsd:attribute name="type" type="xsd:string" />
    74               <xsd:attribute name="mimetype" type="xsd:string" />
     72              <xsd:attribute name="name" use="required" types="xsd:string" />
     73              <xsd:attribute name="types" types="xsd:string" />
     74              <xsd:attribute name="mimetypes" types="xsd:string" />
    7575              <xsd:attribute ref="xml:space" />
    7676            </xsd:complexType>
     
    7878          <xsd:element name="assembly">
    7979            <xsd:complexType>
    80               <xsd:attribute name="alias" type="xsd:string" />
    81               <xsd:attribute name="name" type="xsd:string" />
     80              <xsd:attribute name="alias" types="xsd:string" />
     81              <xsd:attribute name="name" types="xsd:string" />
    8282            </xsd:complexType>
    8383          </xsd:element>
     
    8585            <xsd:complexType>
    8686              <xsd:sequence>
    87                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    88                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
     87                <xsd:element name="value" types="xsd:string" minOccurs="0" msdata:Ordinal="1" />
     88                <xsd:element name="comment" types="xsd:string" minOccurs="0" msdata:Ordinal="2" />
    8989              </xsd:sequence>
    90               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
    91               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
    92               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
     90              <xsd:attribute name="name" types="xsd:string" use="required" msdata:Ordinal="1" />
     91              <xsd:attribute name="types" types="xsd:string" msdata:Ordinal="3" />
     92              <xsd:attribute name="mimetypes" types="xsd:string" msdata:Ordinal="4" />
    9393              <xsd:attribute ref="xml:space" />
    9494            </xsd:complexType>
     
    9797            <xsd:complexType>
    9898              <xsd:sequence>
    99                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
     99                <xsd:element name="value" types="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    100100              </xsd:sequence>
    101               <xsd:attribute name="name" type="xsd:string" use="required" />
     101              <xsd:attribute name="name" types="xsd:string" use="required" />
    102102            </xsd:complexType>
    103103          </xsd:element>
     
    118118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
    120   <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     120  <metadata name="errorProvider.TrayLocation" types="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    121121    <value>17, 17</value>
    122122  </metadata>
    123   <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     123  <metadata name="toolTip.TrayLocation" types="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    124124    <value>140, 17</value>
    125125  </metadata>
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Views/PushProgramDebuggerView.Designer.cs

    r14744 r14777  
    2525    private void InitializeComponent() {
    2626      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PushProgramDebuggerView));
    27       this.execGroupBox = new System.Windows.Forms.GroupBox();
    28       this.execList = new System.Windows.Forms.ListView();
     27      this.tabControl = new System.Windows.Forms.TabControl();
     28      this.tabPage1 = new System.Windows.Forms.TabPage();
     29      this.simplifyButton = new System.Windows.Forms.Button();
     30      this.skipNoopsCheckBox = new System.Windows.Forms.CheckBox();
     31      this.runButton = new System.Windows.Forms.Button();
     32      this.stepWidthBox = new System.Windows.Forms.NumericUpDown();
     33      this.resetButton = new System.Windows.Forms.Button();
     34      this.stepButton = new System.Windows.Forms.Button();
     35      this.exampleComboBox = new System.Windows.Forms.ComboBox();
     36      this.label1 = new System.Windows.Forms.Label();
     37      this.debugTableLayout = new System.Windows.Forms.TableLayoutPanel();
     38      this.codeGroupBox = new System.Windows.Forms.GroupBox();
     39      this.codeList = new System.Windows.Forms.ListBox();
     40      this.nameGroupBox = new System.Windows.Forms.GroupBox();
     41      this.nameList = new System.Windows.Forms.ListBox();
    2942      this.integerGroupBox = new System.Windows.Forms.GroupBox();
    3043      this.integerList = new System.Windows.Forms.ListBox();
    3144      this.floatGroupBox = new System.Windows.Forms.GroupBox();
     45      this.groupBox2 = new System.Windows.Forms.GroupBox();
     46      this.listBox2 = new System.Windows.Forms.ListBox();
    3247      this.floatList = new System.Windows.Forms.ListBox();
    33       this.codeGroupBox = new System.Windows.Forms.GroupBox();
    34       this.codeList = new System.Windows.Forms.ListBox();
     48      this.execGroupBox = new System.Windows.Forms.GroupBox();
     49      this.execList = new System.Windows.Forms.ListView();
    3550      this.booleanGroupBox = new System.Windows.Forms.GroupBox();
     51      this.groupBox4 = new System.Windows.Forms.GroupBox();
     52      this.listBox3 = new System.Windows.Forms.ListBox();
    3653      this.booleanList = new System.Windows.Forms.ListBox();
    37       this.nameGroupBox = new System.Windows.Forms.GroupBox();
    38       this.nameList = new System.Windows.Forms.ListBox();
    39       this.stepButton = new System.Windows.Forms.Button();
    40       this.resetButton = new System.Windows.Forms.Button();
    41       this.label1 = new System.Windows.Forms.Label();
    42       this.exampleComboBox = new System.Windows.Forms.ComboBox();
    43       this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
    44       this.stepWidthBox = new System.Windows.Forms.NumericUpDown();
    45       this.runButton = new System.Windows.Forms.Button();
    46       this.skipNoopsCheckBox = new System.Windows.Forms.CheckBox();
     54      this.stringGroupBox = new System.Windows.Forms.GroupBox();
     55      this.groupBox6 = new System.Windows.Forms.GroupBox();
     56      this.listBox5 = new System.Windows.Forms.ListBox();
     57      this.stringList = new System.Windows.Forms.ListBox();
     58      this.charGroupBox = new System.Windows.Forms.GroupBox();
     59      this.groupBox8 = new System.Windows.Forms.GroupBox();
     60      this.listBox7 = new System.Windows.Forms.ListBox();
     61      this.charList = new System.Windows.Forms.ListBox();
     62      this.tabPage2 = new System.Windows.Forms.TabPage();
     63      this.resultsDataGrid = new System.Windows.Forms.DataGridView();
    4764      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
    48       this.execGroupBox.SuspendLayout();
     65      this.tabControl.SuspendLayout();
     66      this.tabPage1.SuspendLayout();
     67      ((System.ComponentModel.ISupportInitialize)(this.stepWidthBox)).BeginInit();
     68      this.debugTableLayout.SuspendLayout();
     69      this.codeGroupBox.SuspendLayout();
     70      this.nameGroupBox.SuspendLayout();
    4971      this.integerGroupBox.SuspendLayout();
    5072      this.floatGroupBox.SuspendLayout();
    51       this.codeGroupBox.SuspendLayout();
     73      this.groupBox2.SuspendLayout();
     74      this.execGroupBox.SuspendLayout();
    5275      this.booleanGroupBox.SuspendLayout();
    53       this.nameGroupBox.SuspendLayout();
    54       this.tableLayoutPanel1.SuspendLayout();
    55       ((System.ComponentModel.ISupportInitialize)(this.stepWidthBox)).BeginInit();
     76      this.groupBox4.SuspendLayout();
     77      this.stringGroupBox.SuspendLayout();
     78      this.groupBox6.SuspendLayout();
     79      this.charGroupBox.SuspendLayout();
     80      this.groupBox8.SuspendLayout();
     81      this.tabPage2.SuspendLayout();
     82      ((System.ComponentModel.ISupportInitialize)(this.resultsDataGrid)).BeginInit();
    5683      this.SuspendLayout();
    5784      //
     
    6087      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
    6188      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    62       this.nameTextBox.Size = new System.Drawing.Size(890, 20);
     89      this.nameTextBox.Size = new System.Drawing.Size(1176, 20);
    6390      //
    6491      // infoLabel
    6592      //
    66       this.infoLabel.Location = new System.Drawing.Point(954, 3);
    67       //
    68       // execGroupBox
    69       //
    70       this.execGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    71             | System.Windows.Forms.AnchorStyles.Left)
    72             | System.Windows.Forms.AnchorStyles.Right)));
    73       this.execGroupBox.Controls.Add(this.execList);
    74       this.execGroupBox.Location = new System.Drawing.Point(3, 3);
    75       this.execGroupBox.Name = "execGroupBox";
    76       this.execGroupBox.Size = new System.Drawing.Size(244, 633);
    77       this.execGroupBox.TabIndex = 3;
    78       this.execGroupBox.TabStop = false;
    79       this.execGroupBox.Text = "Exec";
    80       //
    81       // execList
    82       //
    83       this.execList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    84             | System.Windows.Forms.AnchorStyles.Left)
    85             | System.Windows.Forms.AnchorStyles.Right)));
    86       this.execList.Location = new System.Drawing.Point(3, 16);
    87       this.execList.Name = "execList";
    88       this.execList.Size = new System.Drawing.Size(235, 605);
    89       this.execList.TabIndex = 1;
    90       this.execList.UseCompatibleStateImageBehavior = false;
    91       this.execList.View = System.Windows.Forms.View.List;
    92       this.execList.VirtualMode = true;
    93       //
    94       // integerGroupBox
    95       //
    96       this.integerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    97             | System.Windows.Forms.AnchorStyles.Left)
    98             | System.Windows.Forms.AnchorStyles.Right)));
    99       this.integerGroupBox.Controls.Add(this.integerList);
    100       this.integerGroupBox.Location = new System.Drawing.Point(628, 3);
    101       this.integerGroupBox.Name = "integerGroupBox";
    102       this.integerGroupBox.Size = new System.Drawing.Size(119, 633);
    103       this.integerGroupBox.TabIndex = 4;
    104       this.integerGroupBox.TabStop = false;
    105       this.integerGroupBox.Text = "Integer";
    106       //
    107       // integerList
    108       //
    109       this.integerList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    110             | System.Windows.Forms.AnchorStyles.Left)
    111             | System.Windows.Forms.AnchorStyles.Right)));
    112       this.integerList.FormattingEnabled = true;
    113       this.integerList.HorizontalScrollbar = true;
    114       this.integerList.Location = new System.Drawing.Point(6, 19);
    115       this.integerList.Name = "integerList";
    116       this.integerList.SelectionMode = System.Windows.Forms.SelectionMode.None;
    117       this.integerList.Size = new System.Drawing.Size(107, 602);
    118       this.integerList.TabIndex = 3;
    119       //
    120       // floatGroupBox
    121       //
    122       this.floatGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    123             | System.Windows.Forms.AnchorStyles.Left)
    124             | System.Windows.Forms.AnchorStyles.Right)));
    125       this.floatGroupBox.Controls.Add(this.floatList);
    126       this.floatGroupBox.Location = new System.Drawing.Point(753, 3);
    127       this.floatGroupBox.Name = "floatGroupBox";
    128       this.floatGroupBox.Size = new System.Drawing.Size(119, 633);
    129       this.floatGroupBox.TabIndex = 5;
    130       this.floatGroupBox.TabStop = false;
    131       this.floatGroupBox.Text = "Float";
    132       //
    133       // floatList
    134       //
    135       this.floatList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    136             | System.Windows.Forms.AnchorStyles.Left)
    137             | System.Windows.Forms.AnchorStyles.Right)));
    138       this.floatList.FormattingEnabled = true;
    139       this.floatList.HorizontalScrollbar = true;
    140       this.floatList.Location = new System.Drawing.Point(6, 19);
    141       this.floatList.Name = "floatList";
    142       this.floatList.SelectionMode = System.Windows.Forms.SelectionMode.None;
    143       this.floatList.Size = new System.Drawing.Size(107, 602);
    144       this.floatList.TabIndex = 4;
    145       //
    146       // codeGroupBox
    147       //
    148       this.codeGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    149             | System.Windows.Forms.AnchorStyles.Left)
    150             | System.Windows.Forms.AnchorStyles.Right)));
    151       this.codeGroupBox.Controls.Add(this.codeList);
    152       this.codeGroupBox.Location = new System.Drawing.Point(253, 3);
    153       this.codeGroupBox.Name = "codeGroupBox";
    154       this.codeGroupBox.Size = new System.Drawing.Size(244, 633);
    155       this.codeGroupBox.TabIndex = 5;
    156       this.codeGroupBox.TabStop = false;
    157       this.codeGroupBox.Text = "Code";
    158       //
    159       // codeList
    160       //
    161       this.codeList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    162             | System.Windows.Forms.AnchorStyles.Left)
    163             | System.Windows.Forms.AnchorStyles.Right)));
    164       this.codeList.FormattingEnabled = true;
    165       this.codeList.HorizontalScrollbar = true;
    166       this.codeList.Location = new System.Drawing.Point(7, 19);
    167       this.codeList.Name = "codeList";
    168       this.codeList.SelectionMode = System.Windows.Forms.SelectionMode.None;
    169       this.codeList.Size = new System.Drawing.Size(231, 602);
    170       this.codeList.TabIndex = 1;
    171       //
    172       // booleanGroupBox
    173       //
    174       this.booleanGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    175             | System.Windows.Forms.AnchorStyles.Left)
    176             | System.Windows.Forms.AnchorStyles.Right)));
    177       this.booleanGroupBox.Controls.Add(this.booleanList);
    178       this.booleanGroupBox.Location = new System.Drawing.Point(878, 3);
    179       this.booleanGroupBox.Name = "booleanGroupBox";
    180       this.booleanGroupBox.Size = new System.Drawing.Size(119, 633);
    181       this.booleanGroupBox.TabIndex = 5;
    182       this.booleanGroupBox.TabStop = false;
    183       this.booleanGroupBox.Text = "Boolean";
    184       //
    185       // booleanList
    186       //
    187       this.booleanList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    188             | System.Windows.Forms.AnchorStyles.Left)
    189             | System.Windows.Forms.AnchorStyles.Right)));
    190       this.booleanList.FormattingEnabled = true;
    191       this.booleanList.HorizontalScrollbar = true;
    192       this.booleanList.Location = new System.Drawing.Point(6, 19);
    193       this.booleanList.Name = "booleanList";
    194       this.booleanList.SelectionMode = System.Windows.Forms.SelectionMode.None;
    195       this.booleanList.Size = new System.Drawing.Size(107, 602);
    196       this.booleanList.TabIndex = 5;
    197       //
    198       // nameGroupBox
    199       //
    200       this.nameGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    201             | System.Windows.Forms.AnchorStyles.Left)
    202             | System.Windows.Forms.AnchorStyles.Right)));
    203       this.nameGroupBox.Controls.Add(this.nameList);
    204       this.nameGroupBox.Location = new System.Drawing.Point(503, 3);
    205       this.nameGroupBox.Name = "nameGroupBox";
    206       this.nameGroupBox.Size = new System.Drawing.Size(119, 633);
    207       this.nameGroupBox.TabIndex = 5;
    208       this.nameGroupBox.TabStop = false;
    209       this.nameGroupBox.Text = "Name";
    210       //
    211       // nameList
    212       //
    213       this.nameList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    214             | System.Windows.Forms.AnchorStyles.Left)
    215             | System.Windows.Forms.AnchorStyles.Right)));
    216       this.nameList.FormattingEnabled = true;
    217       this.nameList.HorizontalScrollbar = true;
    218       this.nameList.Location = new System.Drawing.Point(6, 19);
    219       this.nameList.Name = "nameList";
    220       this.nameList.SelectionMode = System.Windows.Forms.SelectionMode.None;
    221       this.nameList.Size = new System.Drawing.Size(107, 602);
    222       this.nameList.TabIndex = 2;
    223       //
    224       // stepButton
    225       //
    226       this.stepButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    227       this.stepButton.Image = ((System.Drawing.Image)(resources.GetObject("stepButton.Image")));
    228       this.stepButton.Location = new System.Drawing.Point(112, 698);
    229       this.stepButton.Name = "stepButton";
    230       this.stepButton.Size = new System.Drawing.Size(28, 26);
    231       this.stepButton.TabIndex = 6;
    232       this.toolTip.SetToolTip(this.stepButton, "Step");
    233       this.stepButton.UseVisualStyleBackColor = true;
    234       //
    235       // resetButton
    236       //
    237       this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    238       this.resetButton.Image = ((System.Drawing.Image)(resources.GetObject("resetButton.Image")));
    239       this.resetButton.Location = new System.Drawing.Point(6, 698);
    240       this.resetButton.Name = "resetButton";
    241       this.resetButton.Size = new System.Drawing.Size(28, 26);
    242       this.resetButton.TabIndex = 7;
    243       this.toolTip.SetToolTip(this.resetButton, "Reset to start");
    244       this.resetButton.UseVisualStyleBackColor = true;
    245       //
    246       // label1
    247       //
    248       this.label1.AutoSize = true;
    249       this.label1.Location = new System.Drawing.Point(3, 29);
    250       this.label1.Name = "label1";
    251       this.label1.Size = new System.Drawing.Size(50, 13);
    252       this.label1.TabIndex = 8;
    253       this.label1.Text = "Example:";
    254       //
    255       // exampleComboBox
    256       //
    257       this.exampleComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    258             | System.Windows.Forms.AnchorStyles.Right)));
    259       this.exampleComboBox.FormattingEnabled = true;
    260       this.exampleComboBox.Location = new System.Drawing.Point(58, 26);
    261       this.exampleComboBox.Name = "exampleComboBox";
    262       this.exampleComboBox.Size = new System.Drawing.Size(890, 21);
    263       this.exampleComboBox.TabIndex = 9;
    264       //
    265       // tableLayoutPanel1
    266       //
    267       this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    268             | System.Windows.Forms.AnchorStyles.Left)
    269             | System.Windows.Forms.AnchorStyles.Right)));
    270       this.tableLayoutPanel1.AutoScroll = true;
    271       this.tableLayoutPanel1.ColumnCount = 7;
    272       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F));
    273       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F));
    274       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 125F));
    275       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 125F));
    276       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 125F));
    277       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 125F));
    278       this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 36F));
    279       this.tableLayoutPanel1.Controls.Add(this.codeGroupBox, 1, 0);
    280       this.tableLayoutPanel1.Controls.Add(this.nameGroupBox, 2, 0);
    281       this.tableLayoutPanel1.Controls.Add(this.integerGroupBox, 3, 0);
    282       this.tableLayoutPanel1.Controls.Add(this.floatGroupBox, 4, 0);
    283       this.tableLayoutPanel1.Controls.Add(this.booleanGroupBox, 5, 0);
    284       this.tableLayoutPanel1.Controls.Add(this.execGroupBox, 0, 0);
    285       this.tableLayoutPanel1.Location = new System.Drawing.Point(6, 53);
    286       this.tableLayoutPanel1.Name = "tableLayoutPanel1";
    287       this.tableLayoutPanel1.RowCount = 1;
    288       this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
    289       this.tableLayoutPanel1.Size = new System.Drawing.Size(1036, 639);
    290       this.tableLayoutPanel1.TabIndex = 1;
     93      this.infoLabel.Location = new System.Drawing.Point(1259, 3);
     94      //
     95      // tabControl
     96      //
     97      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     98            | System.Windows.Forms.AnchorStyles.Left)
     99            | System.Windows.Forms.AnchorStyles.Right)));
     100      this.tabControl.Controls.Add(this.tabPage1);
     101      this.tabControl.Controls.Add(this.tabPage2);
     102      this.tabControl.Location = new System.Drawing.Point(6, 26);
     103      this.tabControl.Name = "tabControl";
     104      this.tabControl.SelectedIndex = 0;
     105      this.tabControl.Size = new System.Drawing.Size(1269, 698);
     106      this.tabControl.TabIndex = 12;
     107      //
     108      // tabPage1
     109      //
     110      this.tabPage1.Controls.Add(this.simplifyButton);
     111      this.tabPage1.Controls.Add(this.skipNoopsCheckBox);
     112      this.tabPage1.Controls.Add(this.runButton);
     113      this.tabPage1.Controls.Add(this.stepWidthBox);
     114      this.tabPage1.Controls.Add(this.resetButton);
     115      this.tabPage1.Controls.Add(this.stepButton);
     116      this.tabPage1.Controls.Add(this.exampleComboBox);
     117      this.tabPage1.Controls.Add(this.label1);
     118      this.tabPage1.Controls.Add(this.debugTableLayout);
     119      this.tabPage1.Location = new System.Drawing.Point(4, 22);
     120      this.tabPage1.Name = "tabPage1";
     121      this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
     122      this.tabPage1.Size = new System.Drawing.Size(1261, 672);
     123      this.tabPage1.TabIndex = 0;
     124      this.tabPage1.Text = "Debug";
     125      this.tabPage1.UseVisualStyleBackColor = true;
     126      //
     127      // simplifyButton
     128      //
     129      this.simplifyButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     130      this.simplifyButton.Location = new System.Drawing.Point(237, 640);
     131      this.simplifyButton.Name = "simplifyButton";
     132      this.simplifyButton.Size = new System.Drawing.Size(62, 26);
     133      this.simplifyButton.TabIndex = 17;
     134      this.simplifyButton.Text = "Simplify";
     135      this.toolTip.SetToolTip(this.simplifyButton, "Run all instructions");
     136      this.simplifyButton.UseVisualStyleBackColor = true;
     137      //
     138      // skipNoopsCheckBox
     139      //
     140      this.skipNoopsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     141      this.skipNoopsCheckBox.AutoSize = true;
     142      this.skipNoopsCheckBox.Checked = true;
     143      this.skipNoopsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
     144      this.skipNoopsCheckBox.Location = new System.Drawing.Point(150, 646);
     145      this.skipNoopsCheckBox.Name = "skipNoopsCheckBox";
     146      this.skipNoopsCheckBox.Size = new System.Drawing.Size(81, 17);
     147      this.skipNoopsCheckBox.TabIndex = 16;
     148      this.skipNoopsCheckBox.Text = "Skip NOOP";
     149      this.skipNoopsCheckBox.UseVisualStyleBackColor = true;
     150      //
     151      // runButton
     152      //
     153      this.runButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     154      this.runButton.Image = ((System.Drawing.Image)(resources.GetObject("runButton.Image")));
     155      this.runButton.Location = new System.Drawing.Point(40, 640);
     156      this.runButton.Name = "runButton";
     157      this.runButton.Size = new System.Drawing.Size(28, 26);
     158      this.runButton.TabIndex = 15;
     159      this.toolTip.SetToolTip(this.runButton, "Run all instructions");
     160      this.runButton.UseVisualStyleBackColor = true;
    291161      //
    292162      // stepWidthBox
     
    294164      this.stepWidthBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    295165      this.stepWidthBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    296       this.stepWidthBox.Location = new System.Drawing.Point(73, 699);
     166      this.stepWidthBox.Location = new System.Drawing.Point(73, 641);
    297167      this.stepWidthBox.Maximum = new decimal(new int[] {
    298168            99999,
     
    307177      this.stepWidthBox.Name = "stepWidthBox";
    308178      this.stepWidthBox.Size = new System.Drawing.Size(40, 24);
    309       this.stepWidthBox.TabIndex = 2;
     179      this.stepWidthBox.TabIndex = 12;
    310180      this.stepWidthBox.Value = new decimal(new int[] {
    311181            1,
     
    314184            0});
    315185      //
    316       // runButton
    317       //
    318       this.runButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    319       this.runButton.Image = ((System.Drawing.Image)(resources.GetObject("runButton.Image")));
    320       this.runButton.Location = new System.Drawing.Point(40, 698);
    321       this.runButton.Name = "runButton";
    322       this.runButton.Size = new System.Drawing.Size(28, 26);
    323       this.runButton.TabIndex = 10;
    324       this.toolTip.SetToolTip(this.runButton, "Run all instructions");
    325       this.runButton.UseVisualStyleBackColor = true;
    326       //
    327       // skipNoopsCheckBox
    328       //
    329       this.skipNoopsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    330       this.skipNoopsCheckBox.AutoSize = true;
    331       this.skipNoopsCheckBox.Checked = true;
    332       this.skipNoopsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
    333       this.skipNoopsCheckBox.Location = new System.Drawing.Point(150, 704);
    334       this.skipNoopsCheckBox.Name = "skipNoopsCheckBox";
    335       this.skipNoopsCheckBox.Size = new System.Drawing.Size(81, 17);
    336       this.skipNoopsCheckBox.TabIndex = 11;
    337       this.skipNoopsCheckBox.Text = "Skip NOOP";
    338       this.skipNoopsCheckBox.UseVisualStyleBackColor = true;
     186      // resetButton
     187      //
     188      this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     189      this.resetButton.Image = ((System.Drawing.Image)(resources.GetObject("resetButton.Image")));
     190      this.resetButton.Location = new System.Drawing.Point(6, 640);
     191      this.resetButton.Name = "resetButton";
     192      this.resetButton.Size = new System.Drawing.Size(28, 26);
     193      this.resetButton.TabIndex = 14;
     194      this.toolTip.SetToolTip(this.resetButton, "Reset to start");
     195      this.resetButton.UseVisualStyleBackColor = true;
     196      //
     197      // stepButton
     198      //
     199      this.stepButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     200      this.stepButton.Image = ((System.Drawing.Image)(resources.GetObject("stepButton.Image")));
     201      this.stepButton.Location = new System.Drawing.Point(112, 640);
     202      this.stepButton.Name = "stepButton";
     203      this.stepButton.Size = new System.Drawing.Size(28, 26);
     204      this.stepButton.TabIndex = 13;
     205      this.toolTip.SetToolTip(this.stepButton, "Step");
     206      this.stepButton.UseVisualStyleBackColor = true;
     207      //
     208      // exampleComboBox
     209      //
     210      this.exampleComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     211            | System.Windows.Forms.AnchorStyles.Right)));
     212      this.exampleComboBox.FormattingEnabled = true;
     213      this.exampleComboBox.Location = new System.Drawing.Point(58, 6);
     214      this.exampleComboBox.Name = "exampleComboBox";
     215      this.exampleComboBox.Size = new System.Drawing.Size(1165, 21);
     216      this.exampleComboBox.TabIndex = 11;
     217      //
     218      // label1
     219      //
     220      this.label1.AutoSize = true;
     221      this.label1.Location = new System.Drawing.Point(3, 9);
     222      this.label1.Name = "label1";
     223      this.label1.Size = new System.Drawing.Size(50, 13);
     224      this.label1.TabIndex = 10;
     225      this.label1.Text = "Example:";
     226      //
     227      // debugTableLayout
     228      //
     229      this.debugTableLayout.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     230            | System.Windows.Forms.AnchorStyles.Left)
     231            | System.Windows.Forms.AnchorStyles.Right)));
     232      this.debugTableLayout.AutoScroll = true;
     233      this.debugTableLayout.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
     234      this.debugTableLayout.ColumnCount = 9;
     235      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 270F));
     236      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 270F));
     237      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     238      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     239      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     240      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     241      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     242      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     243      this.debugTableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
     244      this.debugTableLayout.Controls.Add(this.codeGroupBox, 1, 0);
     245      this.debugTableLayout.Controls.Add(this.nameGroupBox, 2, 0);
     246      this.debugTableLayout.Controls.Add(this.integerGroupBox, 3, 0);
     247      this.debugTableLayout.Controls.Add(this.floatGroupBox, 4, 0);
     248      this.debugTableLayout.Controls.Add(this.execGroupBox, 0, 0);
     249      this.debugTableLayout.Controls.Add(this.booleanGroupBox, 5, 0);
     250      this.debugTableLayout.Controls.Add(this.stringGroupBox, 6, 0);
     251      this.debugTableLayout.Controls.Add(this.charGroupBox, 7, 0);
     252      this.debugTableLayout.Location = new System.Drawing.Point(6, 33);
     253      this.debugTableLayout.Name = "debugTableLayout";
     254      this.debugTableLayout.RowCount = 1;
     255      this.debugTableLayout.RowStyles.Add(new System.Windows.Forms.RowStyle());
     256      this.debugTableLayout.Size = new System.Drawing.Size(1259, 601);
     257      this.debugTableLayout.TabIndex = 2;
     258      //
     259      // codeGroupBox
     260      //
     261      this.codeGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     262            | System.Windows.Forms.AnchorStyles.Left)
     263            | System.Windows.Forms.AnchorStyles.Right)));
     264      this.codeGroupBox.Controls.Add(this.codeList);
     265      this.codeGroupBox.Location = new System.Drawing.Point(273, 3);
     266      this.codeGroupBox.Name = "codeGroupBox";
     267      this.codeGroupBox.Size = new System.Drawing.Size(264, 595);
     268      this.codeGroupBox.TabIndex = 5;
     269      this.codeGroupBox.TabStop = false;
     270      this.codeGroupBox.Text = "Code";
     271      //
     272      // codeList
     273      //
     274      this.codeList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     275            | System.Windows.Forms.AnchorStyles.Left)
     276            | System.Windows.Forms.AnchorStyles.Right)));
     277      this.codeList.FormattingEnabled = true;
     278      this.codeList.HorizontalScrollbar = true;
     279      this.codeList.Location = new System.Drawing.Point(7, 19);
     280      this.codeList.Name = "codeList";
     281      this.codeList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     282      this.codeList.Size = new System.Drawing.Size(251, 563);
     283      this.codeList.TabIndex = 1;
     284      //
     285      // nameGroupBox
     286      //
     287      this.nameGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     288            | System.Windows.Forms.AnchorStyles.Left)
     289            | System.Windows.Forms.AnchorStyles.Right)));
     290      this.nameGroupBox.Controls.Add(this.nameList);
     291      this.nameGroupBox.Location = new System.Drawing.Point(543, 3);
     292      this.nameGroupBox.Name = "nameGroupBox";
     293      this.nameGroupBox.Size = new System.Drawing.Size(119, 595);
     294      this.nameGroupBox.TabIndex = 5;
     295      this.nameGroupBox.TabStop = false;
     296      this.nameGroupBox.Text = "Name";
     297      //
     298      // nameList
     299      //
     300      this.nameList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     301            | System.Windows.Forms.AnchorStyles.Left)
     302            | System.Windows.Forms.AnchorStyles.Right)));
     303      this.nameList.FormattingEnabled = true;
     304      this.nameList.HorizontalScrollbar = true;
     305      this.nameList.Location = new System.Drawing.Point(6, 19);
     306      this.nameList.Name = "nameList";
     307      this.nameList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     308      this.nameList.Size = new System.Drawing.Size(107, 563);
     309      this.nameList.TabIndex = 2;
     310      //
     311      // integerGroupBox
     312      //
     313      this.integerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     314            | System.Windows.Forms.AnchorStyles.Left)
     315            | System.Windows.Forms.AnchorStyles.Right)));
     316      this.integerGroupBox.Controls.Add(this.integerList);
     317      this.integerGroupBox.Location = new System.Drawing.Point(668, 3);
     318      this.integerGroupBox.Name = "integerGroupBox";
     319      this.integerGroupBox.Size = new System.Drawing.Size(119, 595);
     320      this.integerGroupBox.TabIndex = 4;
     321      this.integerGroupBox.TabStop = false;
     322      this.integerGroupBox.Text = "Integer";
     323      //
     324      // integerList
     325      //
     326      this.integerList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     327            | System.Windows.Forms.AnchorStyles.Left)
     328            | System.Windows.Forms.AnchorStyles.Right)));
     329      this.integerList.FormattingEnabled = true;
     330      this.integerList.HorizontalScrollbar = true;
     331      this.integerList.Location = new System.Drawing.Point(6, 19);
     332      this.integerList.Name = "integerList";
     333      this.integerList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     334      this.integerList.Size = new System.Drawing.Size(107, 563);
     335      this.integerList.TabIndex = 3;
     336      //
     337      // floatGroupBox
     338      //
     339      this.floatGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     340            | System.Windows.Forms.AnchorStyles.Left)
     341            | System.Windows.Forms.AnchorStyles.Right)));
     342      this.floatGroupBox.Controls.Add(this.groupBox2);
     343      this.floatGroupBox.Controls.Add(this.floatList);
     344      this.floatGroupBox.Location = new System.Drawing.Point(793, 3);
     345      this.floatGroupBox.Name = "floatGroupBox";
     346      this.floatGroupBox.Size = new System.Drawing.Size(119, 595);
     347      this.floatGroupBox.TabIndex = 5;
     348      this.floatGroupBox.TabStop = false;
     349      this.floatGroupBox.Text = "Float";
     350      //
     351      // groupBox2
     352      //
     353      this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     354            | System.Windows.Forms.AnchorStyles.Left)
     355            | System.Windows.Forms.AnchorStyles.Right)));
     356      this.groupBox2.Controls.Add(this.listBox2);
     357      this.groupBox2.Location = new System.Drawing.Point(1003, 3);
     358      this.groupBox2.Name = "groupBox2";
     359      this.groupBox2.Size = new System.Drawing.Size(253, 595);
     360      this.groupBox2.TabIndex = 6;
     361      this.groupBox2.TabStop = false;
     362      this.groupBox2.Text = "Float";
     363      //
     364      // listBox2
     365      //
     366      this.listBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     367            | System.Windows.Forms.AnchorStyles.Left)
     368            | System.Windows.Forms.AnchorStyles.Right)));
     369      this.listBox2.FormattingEnabled = true;
     370      this.listBox2.HorizontalScrollbar = true;
     371      this.listBox2.Location = new System.Drawing.Point(6, 19);
     372      this.listBox2.Name = "listBox2";
     373      this.listBox2.SelectionMode = System.Windows.Forms.SelectionMode.None;
     374      this.listBox2.Size = new System.Drawing.Size(107, 563);
     375      this.listBox2.TabIndex = 4;
     376      //
     377      // floatList
     378      //
     379      this.floatList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     380            | System.Windows.Forms.AnchorStyles.Left)
     381            | System.Windows.Forms.AnchorStyles.Right)));
     382      this.floatList.FormattingEnabled = true;
     383      this.floatList.HorizontalScrollbar = true;
     384      this.floatList.Location = new System.Drawing.Point(6, 19);
     385      this.floatList.Name = "floatList";
     386      this.floatList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     387      this.floatList.Size = new System.Drawing.Size(107, 563);
     388      this.floatList.TabIndex = 4;
     389      //
     390      // execGroupBox
     391      //
     392      this.execGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     393            | System.Windows.Forms.AnchorStyles.Left)
     394            | System.Windows.Forms.AnchorStyles.Right)));
     395      this.execGroupBox.Controls.Add(this.execList);
     396      this.execGroupBox.Location = new System.Drawing.Point(3, 3);
     397      this.execGroupBox.Name = "execGroupBox";
     398      this.execGroupBox.Size = new System.Drawing.Size(264, 595);
     399      this.execGroupBox.TabIndex = 3;
     400      this.execGroupBox.TabStop = false;
     401      this.execGroupBox.Text = "Exec";
     402      //
     403      // execList
     404      //
     405      this.execList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     406            | System.Windows.Forms.AnchorStyles.Left)
     407            | System.Windows.Forms.AnchorStyles.Right)));
     408      this.execList.Location = new System.Drawing.Point(3, 16);
     409      this.execList.Name = "execList";
     410      this.execList.Size = new System.Drawing.Size(255, 571);
     411      this.execList.TabIndex = 1;
     412      this.execList.UseCompatibleStateImageBehavior = false;
     413      this.execList.View = System.Windows.Forms.View.List;
     414      this.execList.VirtualMode = true;
     415      //
     416      // booleanGroupBox
     417      //
     418      this.booleanGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     419            | System.Windows.Forms.AnchorStyles.Left)
     420            | System.Windows.Forms.AnchorStyles.Right)));
     421      this.booleanGroupBox.Controls.Add(this.groupBox4);
     422      this.booleanGroupBox.Controls.Add(this.booleanList);
     423      this.booleanGroupBox.Location = new System.Drawing.Point(918, 3);
     424      this.booleanGroupBox.Name = "booleanGroupBox";
     425      this.booleanGroupBox.Size = new System.Drawing.Size(119, 595);
     426      this.booleanGroupBox.TabIndex = 7;
     427      this.booleanGroupBox.TabStop = false;
     428      this.booleanGroupBox.Text = "Boolean";
     429      //
     430      // groupBox4
     431      //
     432      this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     433            | System.Windows.Forms.AnchorStyles.Left)
     434            | System.Windows.Forms.AnchorStyles.Right)));
     435      this.groupBox4.Controls.Add(this.listBox3);
     436      this.groupBox4.Location = new System.Drawing.Point(1003, 3);
     437      this.groupBox4.Name = "groupBox4";
     438      this.groupBox4.Size = new System.Drawing.Size(253, 595);
     439      this.groupBox4.TabIndex = 6;
     440      this.groupBox4.TabStop = false;
     441      this.groupBox4.Text = "Float";
     442      //
     443      // listBox3
     444      //
     445      this.listBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     446            | System.Windows.Forms.AnchorStyles.Left)
     447            | System.Windows.Forms.AnchorStyles.Right)));
     448      this.listBox3.FormattingEnabled = true;
     449      this.listBox3.HorizontalScrollbar = true;
     450      this.listBox3.Location = new System.Drawing.Point(6, 19);
     451      this.listBox3.Name = "listBox3";
     452      this.listBox3.SelectionMode = System.Windows.Forms.SelectionMode.None;
     453      this.listBox3.Size = new System.Drawing.Size(107, 563);
     454      this.listBox3.TabIndex = 4;
     455      //
     456      // booleanList
     457      //
     458      this.booleanList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     459            | System.Windows.Forms.AnchorStyles.Left)
     460            | System.Windows.Forms.AnchorStyles.Right)));
     461      this.booleanList.FormattingEnabled = true;
     462      this.booleanList.HorizontalScrollbar = true;
     463      this.booleanList.Location = new System.Drawing.Point(6, 19);
     464      this.booleanList.Name = "booleanList";
     465      this.booleanList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     466      this.booleanList.Size = new System.Drawing.Size(107, 563);
     467      this.booleanList.TabIndex = 4;
     468      //
     469      // stringGroupBox
     470      //
     471      this.stringGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     472            | System.Windows.Forms.AnchorStyles.Left)
     473            | System.Windows.Forms.AnchorStyles.Right)));
     474      this.stringGroupBox.Controls.Add(this.groupBox6);
     475      this.stringGroupBox.Controls.Add(this.stringList);
     476      this.stringGroupBox.Location = new System.Drawing.Point(1043, 3);
     477      this.stringGroupBox.Name = "stringGroupBox";
     478      this.stringGroupBox.Size = new System.Drawing.Size(120, 595);
     479      this.stringGroupBox.TabIndex = 8;
     480      this.stringGroupBox.TabStop = false;
     481      this.stringGroupBox.Text = "String";
     482      //
     483      // groupBox6
     484      //
     485      this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     486            | System.Windows.Forms.AnchorStyles.Left)
     487            | System.Windows.Forms.AnchorStyles.Right)));
     488      this.groupBox6.Controls.Add(this.listBox5);
     489      this.groupBox6.Location = new System.Drawing.Point(1003, 3);
     490      this.groupBox6.Name = "groupBox6";
     491      this.groupBox6.Size = new System.Drawing.Size(254, 595);
     492      this.groupBox6.TabIndex = 6;
     493      this.groupBox6.TabStop = false;
     494      this.groupBox6.Text = "Float";
     495      //
     496      // listBox5
     497      //
     498      this.listBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     499            | System.Windows.Forms.AnchorStyles.Left)
     500            | System.Windows.Forms.AnchorStyles.Right)));
     501      this.listBox5.FormattingEnabled = true;
     502      this.listBox5.HorizontalScrollbar = true;
     503      this.listBox5.Location = new System.Drawing.Point(6, 19);
     504      this.listBox5.Name = "listBox5";
     505      this.listBox5.SelectionMode = System.Windows.Forms.SelectionMode.None;
     506      this.listBox5.Size = new System.Drawing.Size(108, 563);
     507      this.listBox5.TabIndex = 4;
     508      //
     509      // stringList
     510      //
     511      this.stringList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     512            | System.Windows.Forms.AnchorStyles.Left)
     513            | System.Windows.Forms.AnchorStyles.Right)));
     514      this.stringList.FormattingEnabled = true;
     515      this.stringList.HorizontalScrollbar = true;
     516      this.stringList.Location = new System.Drawing.Point(6, 19);
     517      this.stringList.Name = "stringList";
     518      this.stringList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     519      this.stringList.Size = new System.Drawing.Size(108, 563);
     520      this.stringList.TabIndex = 4;
     521      //
     522      // charGroupBox
     523      //
     524      this.charGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     525            | System.Windows.Forms.AnchorStyles.Left)
     526            | System.Windows.Forms.AnchorStyles.Right)));
     527      this.charGroupBox.Controls.Add(this.groupBox8);
     528      this.charGroupBox.Controls.Add(this.charList);
     529      this.charGroupBox.Location = new System.Drawing.Point(1169, 3);
     530      this.charGroupBox.Name = "charGroupBox";
     531      this.charGroupBox.Size = new System.Drawing.Size(119, 595);
     532      this.charGroupBox.TabIndex = 9;
     533      this.charGroupBox.TabStop = false;
     534      this.charGroupBox.Text = "Char";
     535      //
     536      // groupBox8
     537      //
     538      this.groupBox8.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     539            | System.Windows.Forms.AnchorStyles.Left)
     540            | System.Windows.Forms.AnchorStyles.Right)));
     541      this.groupBox8.Controls.Add(this.listBox7);
     542      this.groupBox8.Location = new System.Drawing.Point(1003, 3);
     543      this.groupBox8.Name = "groupBox8";
     544      this.groupBox8.Size = new System.Drawing.Size(253, 595);
     545      this.groupBox8.TabIndex = 6;
     546      this.groupBox8.TabStop = false;
     547      this.groupBox8.Text = "Float";
     548      //
     549      // listBox7
     550      //
     551      this.listBox7.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     552            | System.Windows.Forms.AnchorStyles.Left)
     553            | System.Windows.Forms.AnchorStyles.Right)));
     554      this.listBox7.FormattingEnabled = true;
     555      this.listBox7.HorizontalScrollbar = true;
     556      this.listBox7.Location = new System.Drawing.Point(6, 19);
     557      this.listBox7.Name = "listBox7";
     558      this.listBox7.SelectionMode = System.Windows.Forms.SelectionMode.None;
     559      this.listBox7.Size = new System.Drawing.Size(107, 563);
     560      this.listBox7.TabIndex = 4;
     561      //
     562      // charList
     563      //
     564      this.charList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     565            | System.Windows.Forms.AnchorStyles.Left)
     566            | System.Windows.Forms.AnchorStyles.Right)));
     567      this.charList.FormattingEnabled = true;
     568      this.charList.HorizontalScrollbar = true;
     569      this.charList.Location = new System.Drawing.Point(6, 19);
     570      this.charList.Name = "charList";
     571      this.charList.SelectionMode = System.Windows.Forms.SelectionMode.None;
     572      this.charList.Size = new System.Drawing.Size(107, 563);
     573      this.charList.TabIndex = 4;
     574      //
     575      // tabPage2
     576      //
     577      this.tabPage2.Controls.Add(this.resultsDataGrid);
     578      this.tabPage2.Location = new System.Drawing.Point(4, 22);
     579      this.tabPage2.Name = "tabPage2";
     580      this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
     581      this.tabPage2.Size = new System.Drawing.Size(1261, 672);
     582      this.tabPage2.TabIndex = 1;
     583      this.tabPage2.Text = "Results";
     584      this.tabPage2.UseVisualStyleBackColor = true;
     585      //
     586      // resultsDataGrid
     587      //
     588      this.resultsDataGrid.AllowUserToAddRows = false;
     589      this.resultsDataGrid.AllowUserToDeleteRows = false;
     590      this.resultsDataGrid.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     591            | System.Windows.Forms.AnchorStyles.Left)
     592            | System.Windows.Forms.AnchorStyles.Right)));
     593      this.resultsDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
     594      this.resultsDataGrid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
     595      this.resultsDataGrid.Location = new System.Drawing.Point(7, 7);
     596      this.resultsDataGrid.Name = "resultsDataGrid";
     597      this.resultsDataGrid.ReadOnly = true;
     598      this.resultsDataGrid.Size = new System.Drawing.Size(1248, 659);
     599      this.resultsDataGrid.TabIndex = 0;
    339600      //
    340601      // PushProgramDebuggerView
     
    342603      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    343604      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    344       this.Controls.Add(this.skipNoopsCheckBox);
    345       this.Controls.Add(this.runButton);
    346       this.Controls.Add(this.stepWidthBox);
    347       this.Controls.Add(this.tableLayoutPanel1);
    348       this.Controls.Add(this.exampleComboBox);
    349       this.Controls.Add(this.label1);
    350       this.Controls.Add(this.resetButton);
    351       this.Controls.Add(this.stepButton);
     605      this.Controls.Add(this.tabControl);
    352606      this.Name = "PushProgramDebuggerView";
    353       this.Size = new System.Drawing.Size(1058, 727);
    354       this.Controls.SetChildIndex(this.stepButton, 0);
    355       this.Controls.SetChildIndex(this.resetButton, 0);
    356       this.Controls.SetChildIndex(this.label1, 0);
    357       this.Controls.SetChildIndex(this.exampleComboBox, 0);
    358       this.Controls.SetChildIndex(this.tableLayoutPanel1, 0);
     607      this.Size = new System.Drawing.Size(1278, 727);
     608      this.Controls.SetChildIndex(this.tabControl, 0);
    359609      this.Controls.SetChildIndex(this.nameLabel, 0);
    360610      this.Controls.SetChildIndex(this.nameTextBox, 0);
    361611      this.Controls.SetChildIndex(this.infoLabel, 0);
    362       this.Controls.SetChildIndex(this.stepWidthBox, 0);
    363       this.Controls.SetChildIndex(this.runButton, 0);
    364       this.Controls.SetChildIndex(this.skipNoopsCheckBox, 0);
    365612      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
    366       this.execGroupBox.ResumeLayout(false);
     613      this.tabControl.ResumeLayout(false);
     614      this.tabPage1.ResumeLayout(false);
     615      this.tabPage1.PerformLayout();
     616      ((System.ComponentModel.ISupportInitialize)(this.stepWidthBox)).EndInit();
     617      this.debugTableLayout.ResumeLayout(false);
     618      this.codeGroupBox.ResumeLayout(false);
     619      this.nameGroupBox.ResumeLayout(false);
    367620      this.integerGroupBox.ResumeLayout(false);
    368621      this.floatGroupBox.ResumeLayout(false);
    369       this.codeGroupBox.ResumeLayout(false);
     622      this.groupBox2.ResumeLayout(false);
     623      this.execGroupBox.ResumeLayout(false);
    370624      this.booleanGroupBox.ResumeLayout(false);
    371       this.nameGroupBox.ResumeLayout(false);
    372       this.tableLayoutPanel1.ResumeLayout(false);
    373       ((System.ComponentModel.ISupportInitialize)(this.stepWidthBox)).EndInit();
     625      this.groupBox4.ResumeLayout(false);
     626      this.stringGroupBox.ResumeLayout(false);
     627      this.groupBox6.ResumeLayout(false);
     628      this.charGroupBox.ResumeLayout(false);
     629      this.groupBox8.ResumeLayout(false);
     630      this.tabPage2.ResumeLayout(false);
     631      ((System.ComponentModel.ISupportInitialize)(this.resultsDataGrid)).EndInit();
    374632      this.ResumeLayout(false);
    375633      this.PerformLayout();
     
    379637    #endregion
    380638
     639    private System.Windows.Forms.TabControl tabControl;
     640    private System.Windows.Forms.TabPage tabPage1;
     641    private System.Windows.Forms.CheckBox skipNoopsCheckBox;
     642    private System.Windows.Forms.Button runButton;
     643    private System.Windows.Forms.NumericUpDown stepWidthBox;
     644    private System.Windows.Forms.Button resetButton;
     645    private System.Windows.Forms.Button stepButton;
     646    private System.Windows.Forms.ComboBox exampleComboBox;
     647    private System.Windows.Forms.Label label1;
     648    private System.Windows.Forms.TableLayoutPanel debugTableLayout;
     649    private System.Windows.Forms.GroupBox codeGroupBox;
     650    private System.Windows.Forms.ListBox codeList;
     651    private System.Windows.Forms.GroupBox nameGroupBox;
     652    private System.Windows.Forms.ListBox nameList;
     653    private System.Windows.Forms.GroupBox integerGroupBox;
     654    private System.Windows.Forms.ListBox integerList;
     655    private System.Windows.Forms.GroupBox floatGroupBox;
     656    private System.Windows.Forms.ListBox floatList;
    381657    private System.Windows.Forms.GroupBox execGroupBox;
    382     private System.Windows.Forms.GroupBox integerGroupBox;
    383     private System.Windows.Forms.GroupBox floatGroupBox;
    384     private System.Windows.Forms.GroupBox codeGroupBox;
     658    private System.Windows.Forms.ListView execList;
     659    private System.Windows.Forms.TabPage tabPage2;
     660    private System.Windows.Forms.DataGridView resultsDataGrid;
     661    private System.Windows.Forms.Button simplifyButton;
     662    private System.Windows.Forms.GroupBox stringGroupBox;
     663    private System.Windows.Forms.GroupBox groupBox6;
     664    private System.Windows.Forms.ListBox listBox5;
     665    private System.Windows.Forms.ListBox stringList;
    385666    private System.Windows.Forms.GroupBox booleanGroupBox;
    386     private System.Windows.Forms.GroupBox nameGroupBox;
    387     private System.Windows.Forms.ListBox integerList;
    388     private System.Windows.Forms.ListBox floatList;
    389     private System.Windows.Forms.ListBox codeList;
     667    private System.Windows.Forms.GroupBox groupBox4;
     668    private System.Windows.Forms.ListBox listBox3;
    390669    private System.Windows.Forms.ListBox booleanList;
    391     private System.Windows.Forms.ListBox nameList;
    392     private System.Windows.Forms.Button stepButton;
    393     private System.Windows.Forms.Button resetButton;
    394     private System.Windows.Forms.Label label1;
    395     private System.Windows.Forms.ComboBox exampleComboBox;
    396     private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
    397     private System.Windows.Forms.NumericUpDown stepWidthBox;
    398     private System.Windows.Forms.Button runButton;
    399     private System.Windows.Forms.CheckBox skipNoopsCheckBox;
    400     private System.Windows.Forms.ListView execList;
     670    private System.Windows.Forms.GroupBox groupBox2;
     671    private System.Windows.Forms.ListBox listBox2;
     672    private System.Windows.Forms.GroupBox charGroupBox;
     673    private System.Windows.Forms.GroupBox groupBox8;
     674    private System.Windows.Forms.ListBox listBox7;
     675    private System.Windows.Forms.ListBox charList;
    401676  }
    402677}
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Views/PushProgramDebuggerView.cs

    r14744 r14777  
    99
    1010  using HeuristicLab.BenchmarkSuite;
     11  using HeuristicLab.BenchmarkSuite.Problems;
     12  using HeuristicLab.BenchmarkSuite.Views;
    1113  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
    1214  using HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter;
    1315  using HeuristicLab.Problems.ProgramSynthesis.Push.Problem;
     16  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
    1417  using HeuristicLab.Random;
    1518
     
    1821  public partial class PushProgramDebuggerView : NamedItemView {
    1922    private const string Separator = ", ";
     23    private const string EmptySign = "-";
    2024    private PushProgram program;
    2125
     
    3135      Name = "Push Program Debugger";
    3236
     37      InitEvents();
     38      InitExecList();
     39    }
     40
     41    private void InitEvents() {
    3342      exampleComboBox.SelectedIndexChanged += SelectedExampleIndexChanged;
    3443      runButton.Click += RunButtonClick;
    3544      resetButton.Click += ResetButtonClick;
    3645      stepButton.Click += StepButtonClick;
    37 
     46      simplifyButton.Click += SimplifyButtonClick;
     47    }
     48
     49    private void SimplifyButtonClick(object sender, EventArgs e) {
     50
     51    }
     52
     53    private void InitExecList() {
    3854      execList.RetrieveVirtualItem += ExecListRetrieveVirtualItem;
    3955      execList.CacheVirtualItems += ExecListCacheVirtualItems;
    4056
    4157      execList.View = View.Details;
    42       execList.HeaderStyle = ColumnHeaderStyle.Nonclickable;
     58      execList.HeaderStyle = ColumnHeaderStyle.None;
    4359      execList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.None);
    4460      execList.Columns.Add(new ColumnHeader { Width = execList.Width - 40 });
     
    111127
    112128    private void SetReadonlyFields() {
    113       exampleComboBox.Enabled = !ReadOnly;
    114       execList.Enabled = !ReadOnly;
    115       codeList.Enabled = !ReadOnly;
    116       nameList.Enabled = !ReadOnly;
    117       integerList.Enabled = !ReadOnly;
    118       floatList.Enabled = !ReadOnly;
    119       booleanList.Enabled = !ReadOnly;
    120       stepButton.Enabled = !ReadOnly;
    121       runButton.Enabled = !ReadOnly;
    122       resetButton.Enabled = !ReadOnly;
    123       skipNoopsCheckBox.Enabled = !ReadOnly;
    124       stepWidthBox.Enabled = !ReadOnly;
     129      var enabled = !ReadOnly;
     130
     131      exampleComboBox.Enabled = enabled;
     132      execList.Enabled = enabled;
     133      codeList.Enabled = enabled;
     134      nameList.Enabled = enabled;
     135      integerList.Enabled = enabled;
     136      floatList.Enabled = enabled;
     137      booleanList.Enabled = enabled;
     138      stringList.Enabled = enabled;
     139      charList.Enabled = enabled;
     140      stepButton.Enabled = enabled;
     141      runButton.Enabled = enabled;
     142      resetButton.Enabled = enabled;
     143      skipNoopsCheckBox.Enabled = enabled;
     144      stepWidthBox.Enabled = enabled;
    125145    }
    126146
     
    200220      interpreter.Clear();
    201221
    202       var example = Content.DataDescriptor.Examples[this.exampleComboBox.SelectedIndex];
     222      var example = Content.Data.Examples[this.exampleComboBox.SelectedIndex];
    203223
    204224      interpreter.BooleanStack.Push(example.InputBoolean);
     
    217237      if (Content == null) return;
    218238
     239      this.nameTextBox.Text = "Push Solution";
     240
    219241      var random = Content.Random ?? new FastRandom();
    220242      interpreter = new PushInterpreter(Content.Config, random);
    221243      program = Content.IntegerVector.MapToPushProgram(Content.Config.EnabledExpressions);
    222244
    223       UpdateExamples(Content.DataDescriptor);
     245      UpdateExamples(Content.Data);
     246      InitResultGrid();
    224247
    225248      if (this.exampleComboBox.SelectedIndex < 0) {
     
    228251        Reset();
    229252      }
     253    }
     254
     255    private void InitResultGrid() {
     256      var cellTemplate = new DataGridViewTextBoxCell();
     257
     258      for (var i = 0; i < Content.Data.InputArgumentTypes.Length; i++) {
     259        var headerTypeName = ViewHelper.GetHeaderTypeName(Content.Data.InputArgumentTypes[i]);
     260        var column = new DataGridViewColumn {
     261          HeaderText = string.Format("Input {0} : {1}", i + 1, headerTypeName),
     262          AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
     263          CellTemplate = cellTemplate
     264        };
     265
     266        resultsDataGrid.Columns.Add(column);
     267      }
     268
     269      for (var i = 0; i < Content.Data.OutputArgumentTypes.Length; i++) {
     270        var headerTypeName = ViewHelper.GetHeaderTypeName(Content.Data.OutputArgumentTypes[i]);
     271
     272        var estimatedOutputColumn = new DataGridViewColumn {
     273          HeaderText = string.Format("Estimated Output {0} : {1}", i + 1, headerTypeName),
     274          AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
     275          CellTemplate = cellTemplate
     276        };
     277
     278        var outputColumn = new DataGridViewColumn {
     279          HeaderText = string.Format("Output {0} : {1}", i + 1, headerTypeName),
     280          AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill,
     281          CellTemplate = cellTemplate
     282        };
     283
     284        resultsDataGrid.Columns.Add(estimatedOutputColumn);
     285        resultsDataGrid.Columns.Add(outputColumn);
     286      }
     287
     288      resultsDataGrid.Columns.Add(
     289        new DataGridViewColumn {
     290          HeaderText = "Absolute Diff.",
     291          AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader,
     292          CellTemplate = cellTemplate
     293        });
     294
     295      resultsDataGrid.Columns.Add(
     296        new DataGridViewColumn {
     297          HeaderText = "Relative Diff.",
     298          AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader,
     299          CellTemplate = cellTemplate,
     300        });
     301
     302      var pool = new PushInterpreterPool(Content.Config);
     303      var program = Content.IntegerVector.MapToPushProgram(Content.Config.EnabledExpressions);
     304
     305      using (var pushInterpreter = pool.Create(Content.Random)) {
     306        foreach (var example in Content.Data.Examples) {
     307          var row = new DataGridViewRow();
     308          var absoluteDiff = PushEvaluator.Evaluate(pushInterpreter, program, example, Content.Data.WorstResult);
     309          var relativeDiff = absoluteDiff / Math.Abs(Content.Data.BestResult - Content.Data.WorstResult) * 100d;
     310
     311          row.HeaderCell.Value = row.Index + 1;
     312          row.CreateCells(resultsDataGrid);
     313
     314          for (var i = 0; i < Content.Data.InputArgumentTypes.Length; i++) {
     315            row.Cells[i].Value = ViewHelper.StringifyInput(Content.Data.InputArgumentTypes[i], example, Separator);
     316          }
     317
     318          for (var i = 0; i < Content.Data.OutputArgumentTypes.Length; i++) {
     319            row.Cells[Content.Data.InputArgumentTypes.Length + i * 2].Value = ViewHelper.StringifyOutput(Content.Data.OutputArgumentTypes[i], example, Separator);
     320            row.Cells[Content.Data.InputArgumentTypes.Length + i * 2 + 1].Value = StringifyResult(Content.Data.OutputArgumentTypes[i], pushInterpreter, example, Separator);
     321          }
     322
     323          row.Cells[Content.Data.TotalArgumentCount + 1].Value = absoluteDiff;
     324          row.Cells[Content.Data.TotalArgumentCount + 2].Value = relativeDiff + "%";
     325
     326          this.resultsDataGrid.Rows.Add(row);
     327          pushInterpreter.Clear();
     328        }
     329      }
     330    }
     331
     332    private string StringifyResult(ExampleArgumentType type, IPushInterpreter interpreter, Example example, string valueSeparator) {
     333      switch (type) {
     334        case ExampleArgumentType.Integer:
     335        case ExampleArgumentType.IntegerCollection: return interpreter.IntegerStack.IsEmpty ? EmptySign : string.Join(valueSeparator, interpreter.IntegerStack.Peek(GetCount(interpreter.IntegerStack, example.OutputInt)));
     336
     337        case ExampleArgumentType.Float:
     338        case ExampleArgumentType.FloatCollection: return interpreter.FloatStack.IsEmpty ? EmptySign : string.Join(valueSeparator, interpreter.FloatStack.Peek(GetCount(interpreter.FloatStack, example.OutputFloat)));
     339
     340        case ExampleArgumentType.Bool: return interpreter.BooleanStack.IsEmpty ? EmptySign : interpreter.BooleanStack.Top.ToString();
     341        case ExampleArgumentType.Char: return interpreter.CharStack.IsEmpty ? EmptySign : interpreter.CharStack.Top.ToString();
     342
     343        case ExampleArgumentType.String:
     344        case ExampleArgumentType.StringCollection: return interpreter.StringStack.IsEmpty ? EmptySign : string.Join(valueSeparator, interpreter.StringStack.Peek(GetCount(interpreter.StringStack, example.OutputString)));
     345        default: return string.Empty;
     346      }
     347    }
     348
     349    private int GetCount<T>(IStack<T> stack, T[] data) {
     350      return Math.Max(0, Math.Min(data.Length, stack.Count));
    230351    }
    231352
     
    251372        return;
    252373
    253       if (interpreter.Configuration.IsCodeStackEnabled) {
    254         this.codeList.Enabled = true;
    255 
    256         foreach (var item in interpreter.CodeStack.Reverse())
    257           this.codeList.Items.Add(item);
    258 
    259         this.codeGroupBox.Text = string.Format("Code [{0}]", this.codeList.Items.Count);
     374      ManageStackType(interpreter.Configuration.IsCodeStackEnabled, codeList, codeGroupBox, interpreter.CodeStack, "Code");
     375      ManageStackType(interpreter.Configuration.IsIntegerStackEnabled, integerList, integerGroupBox, interpreter.IntegerStack, "Integer");
     376      ManageStackType(interpreter.Configuration.IsFloatStackEnabled, floatList, floatGroupBox, interpreter.FloatStack, "Float");
     377      ManageStackType(interpreter.Configuration.IsBooleanStackEnabled, booleanList, booleanGroupBox, interpreter.BooleanStack, "Boolean");
     378      ManageStackType(interpreter.Configuration.IsNameStackEnabled, nameList, nameGroupBox, interpreter.NameStack, "Name");
     379      ManageStackType(interpreter.Configuration.IsStringStackEnabled, stringList, stringGroupBox, interpreter.StringStack, "String");
     380      ManageStackType(interpreter.Configuration.IsCharStackEnabled, charList, charGroupBox, interpreter.CharStack, "Char");
     381    }
     382
     383    private void ManageStackType<T>(bool enabled, ListBox listbox, GroupBox groupBox, IStack<T> stack, string name) {
     384      if (enabled) {
     385        listbox.Enabled = true;
     386
     387        foreach (var item in stack.Reverse())
     388          listbox.Items.Add(item);
     389
     390        groupBox.Text = string.Format("{0} [{1}]", name, listbox.Items.Count);
    260391      } else {
    261         this.codeList.Enabled = false;
    262         this.codeGroupBox.Text = "Code - Disabled";
    263       }
    264 
    265       if (interpreter.Configuration.IsIntegerStackEnabled) {
    266         this.integerList.Enabled = true;
    267 
    268         foreach (var item in interpreter.IntegerStack.Reverse())
    269           this.integerList.Items.Add(item);
    270 
    271         this.integerGroupBox.Text = string.Format("Integer [{0}]", this.integerList.Items.Count);
    272       } else {
    273         this.integerList.Enabled = false;
    274         this.integerGroupBox.Text = "Integer - Disabled";
    275       }
    276 
    277       if (interpreter.Configuration.IsFloatStackEnabled) {
    278         this.floatList.Enabled = true;
    279 
    280         foreach (var item in interpreter.FloatStack.Reverse())
    281           this.floatList.Items.Add(item);
    282 
    283         this.floatGroupBox.Text = string.Format("Float [{0}]", this.floatList.Items.Count);
    284       } else {
    285         this.floatList.Enabled = false;
    286         this.floatGroupBox.Text = "Float - Disabled";
    287       }
    288 
    289       if (interpreter.Configuration.IsBooleanStackEnabled) {
    290         this.booleanList.Enabled = true;
    291 
    292         foreach (var item in interpreter.BooleanStack.Reverse())
    293           this.booleanList.Items.Add(item);
    294 
    295         this.booleanGroupBox.Text = string.Format("Boolean [{0}]", this.booleanList.Items.Count);
    296       } else {
    297         this.booleanList.Enabled = false;
    298         this.booleanGroupBox.Text = "Boolean - Disabled";
    299       }
    300 
    301       if (interpreter.Configuration.IsNameStackEnabled) {
    302         this.nameList.Enabled = true;
    303 
    304         foreach (var item in interpreter.NameStack.Reverse())
    305           this.nameList.Items.Add(item);
    306 
    307         this.nameGroupBox.Text = string.Format("Name [{0}]", this.nameList.Items.Count);
    308       } else {
    309         this.nameList.Enabled = false;
    310         this.nameGroupBox.Text = "Name - Disabled";
    311       }
    312     }
    313 
    314     private void UpdateExamples(IBenchmarkSuiteDataDescriptor data) {
     392        listbox.Enabled = false;
     393        groupBox.Text = string.Format("{0} - DISABLED", name);
     394      }
     395    }
     396
     397    private void UpdateExamples(Data data) {
    315398      if (data == null) return;
    316399
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Views/PushProgramDebuggerView.resx

    r14744 r14777  
    125125  </metadata>
    126126  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    127   <data name="stepButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     127  <data name="runButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    128128    <value>
    129129        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
    130         JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAABFklE
    131         QVQ4T2P4//8/Bk7oecKMTRwbxioINEAGiJmwyaFjrIKFs57/j5/8VokYQ7AK5s589j+h+97/uAmvNQh5
    132         B6tgxpSn/+ft//0/qOHma6ABtvgMwSoI1PB/9r5f/zu3/v3vVnr5P5Bvj8sQDAEQjux69H/Ktl//S5b+
    133         /Z8w/e9/m9yzOA1B4cBwYPPD/61r34M1G5d8+S8dfe2/ceSy/w5FZ+PRDUHRCMMeVff/l8x9B9es6NLz
    134         X9pndSA2tRgCIGxfevd/YMszJM0rvbCpA2GsghZ5d/7bFFyBabbBpgaGsQoaZt0Ga5byWu6KTR4ZYxXU
    135         SbsBtHmNLzY5dIxVUMp7rZ+09wqciQcZYxUkBWMVJB7/ZwAA4djU9I5dK1UAAAAASUVORK5CYII=
     130        JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAsElE
     131        QVQ4T2P4//8/RRirYNn+bDds4tgwVsGEGRH/iTUEqyDIAMsyfaIMwSoYNSXo/4Zbi4kyBKtg8ARvkEai
     132        DMEq6NPlDDYAhKMWBeA1BEMAhB2bLf5nbIgFa7Zt1v+vU6zwXyKNG0SroatF4cCweY0eimb+BBasmkEY
     133        QwCE9UqVidIMwlgFVfKliNIMwlgFpTMEidIMwlgFRZI5idIMwlgFidUMwlgFScFYBYnH/xkAJP3E6UxO
     134        vJ8AAAAASUVORK5CYII=
    136135</value>
    137136  </data>
     
    197196</value>
    198197  </data>
    199   <data name="runButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     198  <data name="stepButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    200199    <value>
    201200        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
    202         JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAsElE
    203         QVQ4T2P4//8/RRirYNn+bDds4tgwVsGEGRH/iTUEqyDIAMsyfaIMwSoYNSXo/4Zbi4kyBKtg8ARvkEai
    204         DMEq6NPlDDYAhKMWBeA1BEMAhB2bLf5nbIgFa7Zt1v+vU6zwXyKNG0SroatF4cCweY0eimb+BBasmkEY
    205         QwCE9UqVidIMwlgFVfKliNIMwlgFpTMEidIMwlgFRZI5idIMwlgFidUMwlgFScFYBYnH/xkAJP3E6UxO
    206         vJ8AAAAASUVORK5CYII=
     201        JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAABFklE
     202        QVQ4T2P4//8/Bk7oecKMTRwbxioINEAGiJmwyaFjrIKFs57/j5/8VokYQ7AK5s589j+h+97/uAmvNQh5
     203        B6tgxpSn/+ft//0/qOHma6ABtvgMwSoI1PB/9r5f/zu3/v3vVnr5P5Bvj8sQDAEQjux69H/Ktl//S5b+
     204        /Z8w/e9/m9yzOA1B4cBwYPPD/61r34M1G5d8+S8dfe2/ceSy/w5FZ+PRDUHRCMMeVff/l8x9B9es6NLz
     205        X9pndSA2tRgCIGxfevd/YMszJM0rvbCpA2GsghZ5d/7bFFyBabbBpgaGsQoaZt0Ga5byWu6KTR4ZYxXU
     206        SbsBtHmNLzY5dIxVUMp7rZ+09wqciQcZYxUkBWMVJB7/ZwAA4djU9I5dK1UAAAAASUVORK5CYII=
    207207</value>
    208208  </data>
Note: See TracChangeset for help on using the changeset viewer.