Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.Designer.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.Designer.cs	(revision 9779)
@@ -0,0 +1,124 @@
+﻿namespace HeuristicLab.Problems.Robocode
+{
+    partial class CodeNodeView
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+          this.prefixCode = new System.Windows.Forms.TextBox();
+          this.prefixLabel = new System.Windows.Forms.Label();
+          this.suffixLabel = new System.Windows.Forms.Label();
+          this.suffixCode = new System.Windows.Forms.TextBox();
+          ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+          this.SuspendLayout();
+          // 
+          // nameTextBox
+          // 
+          this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
+          this.errorProvider.SetIconPadding(this.nameTextBox, 2);
+          this.nameTextBox.Visible = false;
+          // 
+          // nameLabel
+          // 
+          this.nameLabel.Visible = false;
+          // 
+          // infoLabel
+          // 
+          this.infoLabel.Visible = false;
+          // 
+          // prefixCode
+          // 
+          this.prefixCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                      | System.Windows.Forms.AnchorStyles.Right)));
+          this.prefixCode.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+          this.prefixCode.Location = new System.Drawing.Point(6, 19);
+          this.prefixCode.Multiline = true;
+          this.prefixCode.Name = "prefixCode";
+          this.prefixCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+          this.prefixCode.Size = new System.Drawing.Size(333, 93);
+          this.prefixCode.TabIndex = 3;
+          this.prefixCode.Validated += new System.EventHandler(this.prefixCode_Validated);
+          // 
+          // prefixLabel
+          // 
+          this.prefixLabel.AutoSize = true;
+          this.prefixLabel.Location = new System.Drawing.Point(3, 3);
+          this.prefixLabel.Name = "prefixLabel";
+          this.prefixLabel.Size = new System.Drawing.Size(33, 13);
+          this.prefixLabel.TabIndex = 4;
+          this.prefixLabel.Text = "Prefix";
+          // 
+          // suffixLabel
+          // 
+          this.suffixLabel.AutoSize = true;
+          this.suffixLabel.Location = new System.Drawing.Point(6, 115);
+          this.suffixLabel.Name = "suffixLabel";
+          this.suffixLabel.Size = new System.Drawing.Size(33, 13);
+          this.suffixLabel.TabIndex = 5;
+          this.suffixLabel.Text = "Suffix";
+          // 
+          // suffixCode
+          // 
+          this.suffixCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                      | System.Windows.Forms.AnchorStyles.Right)));
+          this.suffixCode.Location = new System.Drawing.Point(6, 131);
+          this.suffixCode.Multiline = true;
+          this.suffixCode.Name = "suffixCode";
+          this.suffixCode.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
+          this.suffixCode.Size = new System.Drawing.Size(333, 87);
+          this.suffixCode.TabIndex = 6;
+          this.suffixCode.Validated += new System.EventHandler(this.suffixCode_Validated);
+          // 
+          // CodeNodeView
+          // 
+          this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+          this.Controls.Add(this.suffixCode);
+          this.Controls.Add(this.suffixLabel);
+          this.Controls.Add(this.prefixLabel);
+          this.Controls.Add(this.prefixCode);
+          this.Name = "CodeNodeView";
+          this.Size = new System.Drawing.Size(351, 238);
+          this.Controls.SetChildIndex(this.nameLabel, 0);
+          this.Controls.SetChildIndex(this.nameTextBox, 0);
+          this.Controls.SetChildIndex(this.infoLabel, 0);
+          this.Controls.SetChildIndex(this.prefixCode, 0);
+          this.Controls.SetChildIndex(this.prefixLabel, 0);
+          this.Controls.SetChildIndex(this.suffixLabel, 0);
+          this.Controls.SetChildIndex(this.suffixCode, 0);
+          ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+          this.ResumeLayout(false);
+          this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.TextBox prefixCode;
+        private System.Windows.Forms.Label prefixLabel;
+        private System.Windows.Forms.Label suffixLabel;
+        private System.Windows.Forms.TextBox suffixCode;
+    }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.cs	(revision 9779)
@@ -0,0 +1,40 @@
+﻿using System;
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+
+namespace HeuristicLab.Problems.Robocode {
+  [View("CodeNode View")]
+  [Content(typeof(CodeNode), IsDefaultView = true)]
+  public partial class CodeNodeView : NamedItemView {
+    public new CodeNode Content {
+      get { return (CodeNode)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public CodeNodeView()
+      : base() {
+      InitializeComponent();
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content == null) {
+        this.prefixCode.Text = "";
+        this.suffixCode.Text = "";
+      } else {
+        this.prefixCode.Text = Content.Prefix;
+        this.suffixCode.Text = Content.Suffix;
+      }
+    }
+
+    private void suffixCode_Validated(object sender, EventArgs e) {
+      Content.Suffix = this.suffixCode.Text;
+    }
+
+    private void prefixCode_Validated(object sender, EventArgs e) {
+      Content.Prefix = this.prefixCode.Text;
+    }
+  }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.resx
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.resx	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/CodeNodeView.resx	(revision 9779)
@@ -0,0 +1,129 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>107, 17</value>
+  </metadata>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>107, 17</value>
+  </metadata>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/HeuristicLab.Problems.Robocode.Views.csproj
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/HeuristicLab.Problems.Robocode.Views.csproj	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/HeuristicLab.Problems.Robocode.Views.csproj	(revision 9779)
@@ -0,0 +1,170 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Problems.Robocode.Views</RootNamespace>
+    <AssemblyName>HeuristicLab.Problems.Robocode.Views-3.3</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\trunk\sources\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\..\trunk\sources\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.Collections-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Common-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Core.Views-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Data-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.MainForm-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Operators-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Optimization-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Optimization.Operators-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Parameters-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Persistence-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Plugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+    <Compile Include="SolutionCodeView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SolutionCodeView.Designer.cs">
+      <DependentUpon>SolutionCodeView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="SolutionProgramView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="SolutionProgramView.Designer.cs">
+      <DependentUpon>SolutionProgramView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Plugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="CodeNodeView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="CodeNodeView.Designer.cs">
+      <DependentUpon>CodeNodeView.cs</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="CodeNodeView.resx">
+      <DependentUpon>CodeNodeView.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SolutionCodeView.resx">
+      <DependentUpon>SolutionCodeView.cs</DependentUpon>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.Problems.Robocode\HeuristicLab.Problems.Robocode.csproj">
+      <Project>{50776649-f3cf-459a-ae8c-146d1bfa64e4}</Project>
+      <Name>HeuristicLab.Problems.Robocode</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
+      set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+      set ProjectDir=$(ProjectDir)
+      set SolutionDir=$(SolutionDir)
+      set Outdir=$(Outdir)
+
+      call PreBuildEvent.cmd
+    </PreBuildEvent>
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+      export ProjectDir=$(ProjectDir)
+      export SolutionDir=$(SolutionDir)
+
+      $SolutionDir/PreBuildEvent.sh
+    </PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Plugin.cs.frame
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Plugin.cs.frame	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Plugin.cs.frame	(revision 9779)
@@ -0,0 +1,44 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Problems.Robocode.Views
+{
+    [Plugin("HeuristicLab.Problems.Robocode.Views", "The Robocode problem for genetic programming.", "3.3.7.$WCREV$")]
+    [PluginFile("HeuristicLab.Problems.Robocode.Views-3.3.dll", PluginFileType.Assembly)]
+    [PluginDependency("HeuristicLab.Data", "3.3")]
+    [PluginDependency("HeuristicLab.Core", "3.3")]
+    [PluginDependency("HeuristicLab.Common", "3.3")]
+    [PluginDependency("HeuristicLab.Collections", "3.3")]
+    [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
+    [PluginDependency("HeuristicLab.Parameters", "3.3")]
+    [PluginDependency("HeuristicLab.Persistence", "3.3")]
+	[PluginDependency("HeuristicLab.Problems.Robocode", "3.3")]
+    public class HeuristicLabProblemsRobocodePlugin : PluginBase
+    {
+    }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Properties/AssemblyInfo.cs.frame	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/Properties/AssemblyInfo.cs.frame	(revision 9779)
@@ -0,0 +1,58 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Problems.Robocode.Views")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2013 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("2c868882-c1a8-4d94-9fdb-9c104891a150")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.8.$WCREV$")]
+
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.Designer.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.Designer.cs	(revision 9779)
@@ -0,0 +1,88 @@
+﻿namespace HeuristicLab.Problems.Robocode
+{
+    partial class SolutionCodeView
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.programCode = new System.Windows.Forms.TextBox();
+            this.btnRunInRobocode = new System.Windows.Forms.Button();
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // nameTextBox
+            // 
+            this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
+            this.errorProvider.SetIconPadding(this.nameTextBox, 2);
+            // 
+            // programCode
+            // 
+            this.programCode.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.programCode.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.programCode.Location = new System.Drawing.Point(0, 0);
+            this.programCode.Multiline = true;
+            this.programCode.Name = "programCode";
+            this.programCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+            this.programCode.Size = new System.Drawing.Size(351, 238);
+            this.programCode.TabIndex = 3;
+            // 
+            // btnRunInRobocode
+            // 
+            this.btnRunInRobocode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnRunInRobocode.AutoSize = true;
+            this.btnRunInRobocode.Location = new System.Drawing.Point(228, 3);
+            this.btnRunInRobocode.Name = "btnRunInRobocode";
+            this.btnRunInRobocode.Size = new System.Drawing.Size(98, 23);
+            this.btnRunInRobocode.TabIndex = 4;
+            this.btnRunInRobocode.Text = "Run in Robocode";
+            this.btnRunInRobocode.UseVisualStyleBackColor = true;
+            this.btnRunInRobocode.Click += new System.EventHandler(this.btnRunInRobocode_Click);
+            // 
+            // SolutionCodeView
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.btnRunInRobocode);
+            this.Controls.Add(this.programCode);
+            this.Name = "SolutionCodeView";
+            this.Size = new System.Drawing.Size(351, 238);
+            this.Controls.SetChildIndex(this.nameLabel, 0);
+            this.Controls.SetChildIndex(this.nameTextBox, 0);
+            this.Controls.SetChildIndex(this.infoLabel, 0);
+            this.Controls.SetChildIndex(this.programCode, 0);
+            this.Controls.SetChildIndex(this.btnRunInRobocode, 0);
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.TextBox programCode;
+        private System.Windows.Forms.Button btnRunInRobocode;
+    }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.cs	(revision 9779)
@@ -0,0 +1,87 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
+using HeuristicLab.MainForm;
+using System.Diagnostics;
+using System.IO;
+
+
+namespace HeuristicLab.Problems.Robocode
+{
+    [View("Robocode Tank Code View")]
+    [Content(typeof(Solution), IsDefaultView = true)]
+    public partial class SolutionCodeView : NamedItemView
+    {
+        private string Path { get; set; }
+
+        public new Solution Content
+        {
+            get { return (Solution)base.Content; }
+            set { base.Content = value; }
+        }
+
+        public SolutionCodeView() : base()
+        {
+            InitializeComponent();
+            this.Path = "F:/robocode/";
+            this.programCode.Text = "";
+        }
+
+        protected override void OnContentChanged()
+        {
+            base.OnContentChanged();
+            if (Content == null)
+            {
+                this.programCode.Text = "";
+            }
+            else
+            {
+                this.Path = Content.Path;
+                string code = Interpreter.InterpretProgramTree(Content.Tree.Root);
+                code = code.Replace("class output extends", "class BestSolution extends");
+                this.programCode.Text = code;
+                File.AppendAllText(Path + "/robots/Evaluation/PreviousBestSolution.java", "\r\n/**********************************************/\r\n" + code);
+                File.WriteAllText(Path + "/robots/Evaluation/BestSolution.java", code, System.Text.Encoding.Default);
+            }
+        }
+
+        private void btnRunInRobocode_Click(object sender, EventArgs e)
+        {
+            string formattedPath = Path.Replace("/", "\\");
+            ProcessStartInfo javaCompileInfo = new ProcessStartInfo();
+            javaCompileInfo.FileName = "cmd.exe";
+            javaCompileInfo.Arguments = "/C javac -cp " + formattedPath + "\\libs\\robocode.jar " + formattedPath + "\\robots\\Evaluation\\BestSolution.java";
+            javaCompileInfo.RedirectStandardOutput = true;
+            javaCompileInfo.RedirectStandardError = true;
+            javaCompileInfo.UseShellExecute = false;
+            javaCompileInfo.CreateNoWindow = true;
+
+            Process javaCompile = new Process();
+            javaCompile.StartInfo = javaCompileInfo;
+            javaCompile.Start();
+            javaCompile.WaitForExit();
+
+            ProcessStartInfo evaluateCodeInfo = new ProcessStartInfo();
+            evaluateCodeInfo.FileName = "cmd.exe";
+            //javaCompileInfo.Arguments = "/C javac -cp C:\\robocode\\libs\\robocode.jar \"" + path + "\\Spaced Up\\output.java\"";
+            evaluateCodeInfo.Arguments = "/C java -classpath " + formattedPath + "\\libs;" + formattedPath + "\\libs\\robocode.core-1.8.1.0.jar;" + formattedPath + "\\libs\\robocode.jar;" + formattedPath + "\\libs\\picocontainer-2.14.2.jar BattleRunner Evaluation.BestSolution*";
+            //Console.WriteLine(javaCompileInfo.Arguments);
+            evaluateCodeInfo.RedirectStandardOutput = true;
+            evaluateCodeInfo.RedirectStandardError = true;
+            evaluateCodeInfo.UseShellExecute = false;
+
+            Process evaluateCode = new Process();
+            evaluateCode.StartInfo = evaluateCodeInfo;
+            evaluateCode.Start();
+            evaluateCode.WaitForExit();
+        }
+    }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.resx
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.resx	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionCodeView.resx	(revision 9779)
@@ -0,0 +1,129 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>140, 17</value>
+  </metadata>
+</root>
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.Designer.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.Designer.cs	(revision 9779)
@@ -0,0 +1,68 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Problems.Robocode {
+  partial class SolutionProgramView {
+    private Panel panel;
+    private GraphicalSymbolicExpressionTreeView graphTreeView;
+
+    private void InitializeComponent() {
+      this.panel = new System.Windows.Forms.Panel();
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // nameTextBox
+      // 
+      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
+      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
+      // 
+      // panel
+      // 
+      this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.panel.Location = new System.Drawing.Point(3, 26);
+      this.panel.Name = "panel";
+      this.panel.Size = new System.Drawing.Size(345, 190);
+      this.panel.TabIndex = 3;
+      // 
+      // SolutionProgramView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.Controls.Add(this.panel);
+      this.Name = "SolutionProgramView";
+      this.Size = new System.Drawing.Size(351, 219);
+      this.Controls.SetChildIndex(this.panel, 0);
+      this.Controls.SetChildIndex(this.nameLabel, 0);
+      this.Controls.SetChildIndex(this.nameTextBox, 0);
+      this.Controls.SetChildIndex(this.infoLabel, 0);
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+  }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.cs	(revision 9779)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.Views/SolutionProgramView.cs	(revision 9779)
@@ -0,0 +1,53 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Problems.Robocode {
+  [View("Robocode Tank Program Tree View")]
+  [Content(typeof(Solution), IsDefaultView = false)]
+  public sealed partial class SolutionProgramView : NamedItemView {
+    public new Solution Content {
+      get { return (Solution)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public SolutionProgramView() {
+      InitializeComponent();
+      this.graphTreeView = new GraphicalSymbolicExpressionTreeView();
+      graphTreeView.Dock = DockStyle.Fill;
+      panel.Controls.Add(graphTreeView);
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content == null) {
+        graphTreeView.Content = null;
+      } else {
+        graphTreeView.Content = Content.Tree;
+      }
+    }
+
+  }
+}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.sln
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.sln	(revision 9776)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode.sln	(revision 9779)
@@ -3,4 +3,6 @@
 # Visual Studio 2012
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Robocode", "HeuristicLab.Problems.Robocode\HeuristicLab.Problems.Robocode.csproj", "{50776649-F3CF-459A-AE8C-146D1BFA64E4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Robocode.Views", "HeuristicLab.Problems.Robocode.Views\HeuristicLab.Problems.Robocode.Views.csproj", "{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}"
 EndProject
 Global
@@ -22,4 +24,12 @@
 		{50776649-F3CF-459A-AE8C-146D1BFA64E4}.Release|x64.ActiveCfg = Release|Any CPU
 		{50776649-F3CF-459A-AE8C-146D1BFA64E4}.Release|x86.ActiveCfg = Release|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Release|x64.ActiveCfg = Release|Any CPU
+		{8EB0C7C3-4083-4EEE-B3F2-A37F123FB23B}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj	(revision 9776)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj	(revision 9779)
@@ -36,47 +36,50 @@
     <Reference Include="HeuristicLab.Collections-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Common-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Core-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Core.Views-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Data-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
-    </Reference>
-    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4">
-      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll</HintPath>
-    </Reference>
-    <Reference Include="HeuristicLab.MainForm-3.3">
-      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
-    </Reference>
-    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
-      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Operators-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Optimization-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Optimization.Operators-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Parameters-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.Persistence-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
       <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="System" />
@@ -101,14 +104,4 @@
     <None Include="Properties\AssemblyInfo.cs.frame" />
     <Compile Include="Solution.cs" />
-    <Compile Include="SolutionCodeView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SolutionCodeView.Designer.cs">
-      <DependentUpon>SolutionCodeView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="SolutionProgramView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SolutionProgramView.Designer.cs" />
     <Compile Include="Symbols\Event Methods\Events\EmptyEvent.cs" />
     <Compile Include="Symbols\Numerical Methods\INumericalMethod.cs" />
@@ -122,10 +115,4 @@
     <Compile Include="Symbols\Abandoned\Constant.cs" />
     <Compile Include="Symbols\Abandoned\ConstantTreeNode.cs" />
-    <Compile Include="Symbols\CodeNodeView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="Symbols\CodeNodeView.Designer.cs">
-      <DependentUpon>CodeNodeView.cs</DependentUpon>
-    </Compile>
     <Compile Include="Symbols\Logical Expressions\Logical Comparators\Conjunction.cs" />
     <Compile Include="Symbols\Logical Expressions\Logical Comparators\Disjunction.cs" />
@@ -183,12 +170,4 @@
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="SolutionCodeView.resx">
-      <DependentUpon>SolutionCodeView.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Symbols\CodeNodeView.resx">
-      <DependentUpon>CodeNodeView.cs</DependentUpon>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
     <Content Include="External Evaluator\BattleRunner.java" />
   </ItemGroup>
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.Designer.cs	(revision 9776)
+++ 	(revision )
@@ -1,88 +1,0 @@
-﻿namespace HeuristicLab.Problems.Robocode
-{
-    partial class SolutionCodeView
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.programCode = new System.Windows.Forms.TextBox();
-            this.btnRunInRobocode = new System.Windows.Forms.Button();
-            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // nameTextBox
-            // 
-            this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
-            this.errorProvider.SetIconPadding(this.nameTextBox, 2);
-            // 
-            // programCode
-            // 
-            this.programCode.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.programCode.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            this.programCode.Location = new System.Drawing.Point(0, 0);
-            this.programCode.Multiline = true;
-            this.programCode.Name = "programCode";
-            this.programCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
-            this.programCode.Size = new System.Drawing.Size(351, 238);
-            this.programCode.TabIndex = 3;
-            // 
-            // btnRunInRobocode
-            // 
-            this.btnRunInRobocode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnRunInRobocode.AutoSize = true;
-            this.btnRunInRobocode.Location = new System.Drawing.Point(228, 3);
-            this.btnRunInRobocode.Name = "btnRunInRobocode";
-            this.btnRunInRobocode.Size = new System.Drawing.Size(98, 23);
-            this.btnRunInRobocode.TabIndex = 4;
-            this.btnRunInRobocode.Text = "Run in Robocode";
-            this.btnRunInRobocode.UseVisualStyleBackColor = true;
-            this.btnRunInRobocode.Click += new System.EventHandler(this.btnRunInRobocode_Click);
-            // 
-            // SolutionCodeView
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.btnRunInRobocode);
-            this.Controls.Add(this.programCode);
-            this.Name = "SolutionCodeView";
-            this.Size = new System.Drawing.Size(351, 238);
-            this.Controls.SetChildIndex(this.nameLabel, 0);
-            this.Controls.SetChildIndex(this.nameTextBox, 0);
-            this.Controls.SetChildIndex(this.infoLabel, 0);
-            this.Controls.SetChildIndex(this.programCode, 0);
-            this.Controls.SetChildIndex(this.btnRunInRobocode, 0);
-            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.TextBox programCode;
-        private System.Windows.Forms.Button btnRunInRobocode;
-    }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.cs	(revision 9776)
+++ 	(revision )
@@ -1,87 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
-using HeuristicLab.MainForm;
-using System.Diagnostics;
-using System.IO;
-
-
-namespace HeuristicLab.Problems.Robocode
-{
-    [View("Robocode Tank Code View")]
-    [Content(typeof(Solution), IsDefaultView = true)]
-    public partial class SolutionCodeView : NamedItemView
-    {
-        private string Path { get; set; }
-
-        public new Solution Content
-        {
-            get { return (Solution)base.Content; }
-            set { base.Content = value; }
-        }
-
-        public SolutionCodeView() : base()
-        {
-            InitializeComponent();
-            this.Path = "F:/robocode/";
-            this.programCode.Text = "";
-        }
-
-        protected override void OnContentChanged()
-        {
-            base.OnContentChanged();
-            if (Content == null)
-            {
-                this.programCode.Text = "";
-            }
-            else
-            {
-                this.Path = Content.Path;
-                string code = Interpreter.InterpretProgramTree(Content.Tree.Root);
-                code = code.Replace("class output extends", "class BestSolution extends");
-                this.programCode.Text = code;
-                File.AppendAllText(Path + "/robots/Evaluation/PreviousBestSolution.java", "\r\n/**********************************************/\r\n" + code);
-                File.WriteAllText(Path + "/robots/Evaluation/BestSolution.java", code, System.Text.Encoding.Default);
-            }
-        }
-
-        private void btnRunInRobocode_Click(object sender, EventArgs e)
-        {
-            string formattedPath = Path.Replace("/", "\\");
-            ProcessStartInfo javaCompileInfo = new ProcessStartInfo();
-            javaCompileInfo.FileName = "cmd.exe";
-            javaCompileInfo.Arguments = "/C javac -cp " + formattedPath + "\\libs\\robocode.jar " + formattedPath + "\\robots\\Evaluation\\BestSolution.java";
-            javaCompileInfo.RedirectStandardOutput = true;
-            javaCompileInfo.RedirectStandardError = true;
-            javaCompileInfo.UseShellExecute = false;
-            javaCompileInfo.CreateNoWindow = true;
-
-            Process javaCompile = new Process();
-            javaCompile.StartInfo = javaCompileInfo;
-            javaCompile.Start();
-            javaCompile.WaitForExit();
-
-            ProcessStartInfo evaluateCodeInfo = new ProcessStartInfo();
-            evaluateCodeInfo.FileName = "cmd.exe";
-            //javaCompileInfo.Arguments = "/C javac -cp C:\\robocode\\libs\\robocode.jar \"" + path + "\\Spaced Up\\output.java\"";
-            evaluateCodeInfo.Arguments = "/C java -classpath " + formattedPath + "\\libs;" + formattedPath + "\\libs\\robocode.core-1.8.1.0.jar;" + formattedPath + "\\libs\\robocode.jar;" + formattedPath + "\\libs\\picocontainer-2.14.2.jar BattleRunner Evaluation.BestSolution*";
-            //Console.WriteLine(javaCompileInfo.Arguments);
-            evaluateCodeInfo.RedirectStandardOutput = true;
-            evaluateCodeInfo.RedirectStandardError = true;
-            evaluateCodeInfo.UseShellExecute = false;
-
-            Process evaluateCode = new Process();
-            evaluateCode.StartInfo = evaluateCodeInfo;
-            evaluateCode.Start();
-            evaluateCode.WaitForExit();
-        }
-    }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.resx
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionCodeView.resx	(revision 9776)
+++ 	(revision )
@@ -1,129 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>140, 17</value>
-  </metadata>
-</root>
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionProgramView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionProgramView.Designer.cs	(revision 9776)
+++ 	(revision )
@@ -1,68 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Problems.Robocode {
-  partial class SolutionProgramView {
-    private Panel panel;
-    private GraphicalSymbolicExpressionTreeView graphTreeView;
-
-    private void InitializeComponent() {
-      this.panel = new System.Windows.Forms.Panel();
-      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // nameTextBox
-      // 
-      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
-      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
-      // 
-      // panel
-      // 
-      this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.panel.Location = new System.Drawing.Point(3, 26);
-      this.panel.Name = "panel";
-      this.panel.Size = new System.Drawing.Size(345, 190);
-      this.panel.TabIndex = 3;
-      // 
-      // SolutionProgramView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.Controls.Add(this.panel);
-      this.Name = "SolutionProgramView";
-      this.Size = new System.Drawing.Size(351, 219);
-      this.Controls.SetChildIndex(this.panel, 0);
-      this.Controls.SetChildIndex(this.nameLabel, 0);
-      this.Controls.SetChildIndex(this.nameTextBox, 0);
-      this.Controls.SetChildIndex(this.infoLabel, 0);
-      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-  }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionProgramView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/SolutionProgramView.cs	(revision 9776)
+++ 	(revision )
@@ -1,53 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Problems.Robocode {
-  [View("Robocode Tank Program Tree View")]
-  [Content(typeof(Solution), IsDefaultView = false)]
-  public sealed partial class SolutionProgramView : NamedItemView {
-    public new Solution Content {
-      get { return (Solution)base.Content; }
-      set { base.Content = value; }
-    }
-
-    public SolutionProgramView() {
-      InitializeComponent();
-      this.graphTreeView = new GraphicalSymbolicExpressionTreeView();
-      graphTreeView.Dock = DockStyle.Fill;
-      panel.Controls.Add(graphTreeView);
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      if (Content == null) {
-        graphTreeView.Content = null;
-      } else {
-        graphTreeView.Content = Content.Tree;
-      }
-    }
-
-  }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.Designer.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.Designer.cs	(revision 9776)
+++ 	(revision )
@@ -1,124 +1,0 @@
-﻿namespace HeuristicLab.Problems.Robocode
-{
-    partial class CodeNodeView
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-          this.prefixCode = new System.Windows.Forms.TextBox();
-          this.prefixLabel = new System.Windows.Forms.Label();
-          this.suffixLabel = new System.Windows.Forms.Label();
-          this.suffixCode = new System.Windows.Forms.TextBox();
-          ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
-          this.SuspendLayout();
-          // 
-          // nameTextBox
-          // 
-          this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
-          this.errorProvider.SetIconPadding(this.nameTextBox, 2);
-          this.nameTextBox.Visible = false;
-          // 
-          // nameLabel
-          // 
-          this.nameLabel.Visible = false;
-          // 
-          // infoLabel
-          // 
-          this.infoLabel.Visible = false;
-          // 
-          // prefixCode
-          // 
-          this.prefixCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                      | System.Windows.Forms.AnchorStyles.Right)));
-          this.prefixCode.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-          this.prefixCode.Location = new System.Drawing.Point(6, 19);
-          this.prefixCode.Multiline = true;
-          this.prefixCode.Name = "prefixCode";
-          this.prefixCode.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
-          this.prefixCode.Size = new System.Drawing.Size(333, 93);
-          this.prefixCode.TabIndex = 3;
-          this.prefixCode.Validated += new System.EventHandler(this.prefixCode_Validated);
-          // 
-          // prefixLabel
-          // 
-          this.prefixLabel.AutoSize = true;
-          this.prefixLabel.Location = new System.Drawing.Point(3, 3);
-          this.prefixLabel.Name = "prefixLabel";
-          this.prefixLabel.Size = new System.Drawing.Size(33, 13);
-          this.prefixLabel.TabIndex = 4;
-          this.prefixLabel.Text = "Prefix";
-          // 
-          // suffixLabel
-          // 
-          this.suffixLabel.AutoSize = true;
-          this.suffixLabel.Location = new System.Drawing.Point(6, 115);
-          this.suffixLabel.Name = "suffixLabel";
-          this.suffixLabel.Size = new System.Drawing.Size(33, 13);
-          this.suffixLabel.TabIndex = 5;
-          this.suffixLabel.Text = "Suffix";
-          // 
-          // suffixCode
-          // 
-          this.suffixCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                      | System.Windows.Forms.AnchorStyles.Right)));
-          this.suffixCode.Location = new System.Drawing.Point(6, 131);
-          this.suffixCode.Multiline = true;
-          this.suffixCode.Name = "suffixCode";
-          this.suffixCode.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
-          this.suffixCode.Size = new System.Drawing.Size(333, 87);
-          this.suffixCode.TabIndex = 6;
-          this.suffixCode.Validated += new System.EventHandler(this.suffixCode_Validated);
-          // 
-          // CodeNodeView
-          // 
-          this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
-          this.Controls.Add(this.suffixCode);
-          this.Controls.Add(this.suffixLabel);
-          this.Controls.Add(this.prefixLabel);
-          this.Controls.Add(this.prefixCode);
-          this.Name = "CodeNodeView";
-          this.Size = new System.Drawing.Size(351, 238);
-          this.Controls.SetChildIndex(this.nameLabel, 0);
-          this.Controls.SetChildIndex(this.nameTextBox, 0);
-          this.Controls.SetChildIndex(this.infoLabel, 0);
-          this.Controls.SetChildIndex(this.prefixCode, 0);
-          this.Controls.SetChildIndex(this.prefixLabel, 0);
-          this.Controls.SetChildIndex(this.suffixLabel, 0);
-          this.Controls.SetChildIndex(this.suffixCode, 0);
-          ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
-          this.ResumeLayout(false);
-          this.PerformLayout();
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.TextBox prefixCode;
-        private System.Windows.Forms.Label prefixLabel;
-        private System.Windows.Forms.Label suffixLabel;
-        private System.Windows.Forms.TextBox suffixCode;
-    }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.cs	(revision 9776)
+++ 	(revision )
@@ -1,40 +1,0 @@
-﻿using System;
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-
-namespace HeuristicLab.Problems.Robocode {
-  [View("CodeNode View")]
-  [Content(typeof(CodeNode), IsDefaultView = true)]
-  public partial class CodeNodeView : NamedItemView {
-    public new CodeNode Content {
-      get { return (CodeNode)base.Content; }
-      set { base.Content = value; }
-    }
-
-    public CodeNodeView()
-      : base() {
-      InitializeComponent();
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      if (Content == null) {
-        this.prefixCode.Text = "";
-        this.suffixCode.Text = "";
-      } else {
-        this.prefixCode.Text = Content.Prefix;
-        this.suffixCode.Text = Content.Suffix;
-      }
-    }
-
-    private void suffixCode_Validated(object sender, EventArgs e) {
-      Content.Suffix = this.suffixCode.Text;
-    }
-
-    private void prefixCode_Validated(object sender, EventArgs e) {
-      Content.Prefix = this.prefixCode.Text;
-    }
-  }
-}
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.resx
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/Symbols/CodeNodeView.resx	(revision 9776)
+++ 	(revision )
@@ -1,129 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>107, 17</value>
-  </metadata>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>107, 17</value>
-  </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-</root>
Index: branches/Robocode.TrunkInt/PreBuildEvent.cmd
===================================================================
--- branches/Robocode.TrunkInt/PreBuildEvent.cmd	(revision 9779)
+++ branches/Robocode.TrunkInt/PreBuildEvent.cmd	(revision 9779)
@@ -0,0 +1,2 @@
+SubWCRev "%ProjectDir%\" "%ProjectDir%\Properties\AssemblyInfo.cs.frame" "%ProjectDir%\Properties\AssemblyInfo.cs"
+SubWCRev "%ProjectDir%\" "%ProjectDir%\Plugin.cs.frame" "%ProjectDir%\Plugin.cs"
