Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/CreateFromExperimentMenuItem.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/CreateFromExperimentMenuItem.cs	(revision 7741)
+++ branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/CreateFromExperimentMenuItem.cs	(revision 7742)
@@ -40,13 +40,10 @@
     protected override void OnActiveViewChanged(object sender, EventArgs e) {
       IContentView activeView = MainFormManager.MainForm.ActiveView as IContentView;
-      ToolStripItem.Enabled = (activeView != null) && (activeView.Content != null) && (activeView.Content is Experiment) && !activeView.Locked && OKBRoles.CheckUserPermissions();
+      ToolStripItem.Enabled = (activeView != null) && (activeView.Content != null) && ((activeView.Content is Experiment) || (activeView.Content is RunCollection) || (activeView.Content is IOptimizer)) && !activeView.Locked && OKBRoles.CheckUserPermissions();
     }
 
     public override void Execute() {
       IContentView activeView = MainFormManager.MainForm.ActiveView as IContentView;
-      Experiment experiment = activeView.Content as Experiment;
-      if (experiment != null) {
-        MainFormManager.MainForm.ShowContent(experiment, typeof(OKBExperimentUploadView));
-      }
+      MainFormManager.MainForm.ShowContent(activeView.Content, typeof(OKBExperimentUploadView));
     }
   }
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs	(revision 7741)
+++ branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs	(revision 7742)
@@ -24,23 +24,19 @@
     /// </summary>
     private void InitializeComponent() {
-      this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+      this.components = new System.ComponentModel.Container();
       this.btnUpload = new System.Windows.Forms.Button();
+      this.dataGridView = new System.Windows.Forms.DataGridView();
+      this.RunNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+      this.AlgorithmNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+      this.AlgorithmTypeColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+      this.OKBAlgorithmColumn = new System.Windows.Forms.DataGridViewComboBoxColumn();
+      this.ProblemNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+      this.ProblemTypeColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+      this.OKBProblemColumn = new System.Windows.Forms.DataGridViewComboBoxColumn();
+      this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.setColumnToThisValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
+      this.contextMenu.SuspendLayout();
       this.SuspendLayout();
-      // 
-      // tableLayoutPanel
-      // 
-      this.tableLayoutPanel.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.tableLayoutPanel.AutoScroll = true;
-      this.tableLayoutPanel.BackColor = System.Drawing.SystemColors.Control;
-      this.tableLayoutPanel.ColumnCount = 1;
-      this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
-      this.tableLayoutPanel.Location = new System.Drawing.Point(3, 3);
-      this.tableLayoutPanel.Name = "tableLayoutPanel";
-      this.tableLayoutPanel.RowCount = 1;
-      this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle());
-      this.tableLayoutPanel.Size = new System.Drawing.Size(460, 190);
-      this.tableLayoutPanel.TabIndex = 0;
       // 
       // btnUpload
@@ -55,12 +51,97 @@
       this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
       // 
+      // dataGridView
+      // 
+      this.dataGridView.AllowUserToAddRows = false;
+      this.dataGridView.AllowUserToDeleteRows = false;
+      this.dataGridView.AllowUserToOrderColumns = true;
+      this.dataGridView.AllowUserToResizeRows = false;
+      this.dataGridView.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.dataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+      this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+      this.dataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.RunNameColumn,
+            this.AlgorithmNameColumn,
+            this.AlgorithmTypeColumn,
+            this.OKBAlgorithmColumn,
+            this.ProblemNameColumn,
+            this.ProblemTypeColumn,
+            this.OKBProblemColumn});
+      this.dataGridView.Location = new System.Drawing.Point(3, 3);
+      this.dataGridView.Name = "dataGridView";
+      this.dataGridView.Size = new System.Drawing.Size(460, 191);
+      this.dataGridView.TabIndex = 2;
+      this.dataGridView.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridView_CellMouseClick);
+      // 
+      // RunNameColumn
+      // 
+      this.RunNameColumn.HeaderText = "Run Name";
+      this.RunNameColumn.Name = "RunNameColumn";
+      this.RunNameColumn.ReadOnly = true;
+      // 
+      // AlgorithmNameColumn
+      // 
+      this.AlgorithmNameColumn.HeaderText = "Algorithm Name";
+      this.AlgorithmNameColumn.Name = "AlgorithmNameColumn";
+      this.AlgorithmNameColumn.ReadOnly = true;
+      // 
+      // AlgorithmTypeColumn
+      // 
+      this.AlgorithmTypeColumn.HeaderText = "Algorithm Type";
+      this.AlgorithmTypeColumn.Name = "AlgorithmTypeColumn";
+      this.AlgorithmTypeColumn.ReadOnly = true;
+      // 
+      // OKBAlgorithmColumn
+      // 
+      this.OKBAlgorithmColumn.HeaderText = "OKB Algorithm";
+      this.OKBAlgorithmColumn.Name = "OKBAlgorithmColumn";
+      // 
+      // ProblemNameColumn
+      // 
+      this.ProblemNameColumn.HeaderText = "Problem Name";
+      this.ProblemNameColumn.Name = "ProblemNameColumn";
+      this.ProblemNameColumn.ReadOnly = true;
+      this.ProblemNameColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+      this.ProblemNameColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+      // 
+      // ProblemTypeColumn
+      // 
+      this.ProblemTypeColumn.HeaderText = "Problem Type";
+      this.ProblemTypeColumn.Name = "ProblemTypeColumn";
+      this.ProblemTypeColumn.ReadOnly = true;
+      this.ProblemTypeColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+      this.ProblemTypeColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+      // 
+      // OKBProblemColumn
+      // 
+      this.OKBProblemColumn.HeaderText = "OKB Problem";
+      this.OKBProblemColumn.Name = "OKBProblemColumn";
+      // 
+      // contextMenu
+      // 
+      this.contextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.setColumnToThisValueToolStripMenuItem});
+      this.contextMenu.Name = "contextMenu";
+      this.contextMenu.Size = new System.Drawing.Size(202, 26);
+      // 
+      // setColumnToThisValueToolStripMenuItem
+      // 
+      this.setColumnToThisValueToolStripMenuItem.Name = "setColumnToThisValueToolStripMenuItem";
+      this.setColumnToThisValueToolStripMenuItem.Size = new System.Drawing.Size(201, 22);
+      this.setColumnToThisValueToolStripMenuItem.Text = "Set column to this value";
+      this.setColumnToThisValueToolStripMenuItem.Click += new System.EventHandler(this.setColumnToThisValueToolStripMenuItem_Click);
+      // 
       // OKBExperimentUploadView
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.dataGridView);
       this.Controls.Add(this.btnUpload);
-      this.Controls.Add(this.tableLayoutPanel);
       this.Name = "OKBExperimentUploadView";
       this.Size = new System.Drawing.Size(466, 229);
+      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
+      this.contextMenu.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -69,6 +150,15 @@
     #endregion
 
-    private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
     private System.Windows.Forms.Button btnUpload;
+    private System.Windows.Forms.DataGridView dataGridView;
+    private System.Windows.Forms.DataGridViewTextBoxColumn RunNameColumn;
+    private System.Windows.Forms.DataGridViewTextBoxColumn AlgorithmNameColumn;
+    private System.Windows.Forms.DataGridViewTextBoxColumn AlgorithmTypeColumn;
+    private System.Windows.Forms.DataGridViewComboBoxColumn OKBAlgorithmColumn;
+    private System.Windows.Forms.DataGridViewTextBoxColumn ProblemNameColumn;
+    private System.Windows.Forms.DataGridViewTextBoxColumn ProblemTypeColumn;
+    private System.Windows.Forms.DataGridViewComboBoxColumn OKBProblemColumn;
+    private System.Windows.Forms.ContextMenuStrip contextMenu;
+    private System.Windows.Forms.ToolStripMenuItem setColumnToThisValueToolStripMenuItem;
   }
 }
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.cs	(revision 7741)
+++ branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBExperimentUploadView.cs	(revision 7742)
@@ -22,8 +22,10 @@
 using System;
 using System.Collections.Generic;
+using System.Drawing;
 using System.Linq;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 using HeuristicLab.Clients.Access;
+using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
@@ -34,18 +36,30 @@
   [View("OKBExperimentUpload View")]
   [Content(typeof(Experiment), false)]
+  [Content(typeof(RunCollection), false)]
+  [Content(typeof(IOptimizer), false)]
   public partial class OKBExperimentUploadView : ItemView {
-    public new Experiment Content {
-      get { return (Experiment)base.Content; }
-      set { base.Content = value; }
-    }
-
-    private ProgressView progressView;
-    List<OKBRunConfigSelectionView> runConfigViews = new List<OKBRunConfigSelectionView>();
+    public new IItem Content {
+      get { return base.Content; }
+      set {
+        base.Content = value;
+      }
+    }
+
+    private const string algorithmTypeParameterName = "Algorithm Type";
+    private const string problemTypeParameterName = "Problem Type";
+    private const string algorithmNameParameterName = "Algorithm Name";
+    private const string problemNameParameterName = "Problem Name";
+    private const int algorithmColumnIndex = 3;
+    private const int problemColumnIndex = 6;
+
+    private List<IRun> runs = new List<IRun>();
     private List<Problem> problems = new List<Problem>();
     private List<Algorithm> algorithms = new List<Algorithm>();
+    Algorithm selectedAlgorithm = null;
+    Problem selectedProblem = null;
+    private ProgressView progressView;
 
     public OKBExperimentUploadView() {
       InitializeComponent();
-      tableLayoutPanel.RowCount = 0;
     }
 
@@ -55,4 +69,12 @@
         ClearRuns();
       } else {
+        if (Content is Experiment) {
+          runs.AddRange((Content as Experiment).Runs);
+        } else if (Content is RunCollection) {
+          runs.AddRange((Content as RunCollection));
+        } else if (Content is IOptimizer) {
+          runs.AddRange((Content as IOptimizer).Runs);
+        }
+
         DisplayRuns();
       }
@@ -84,22 +106,60 @@
 
     private void CreateUI() {
-      problems.AddRange(RunCreationClient.Instance.Problems);
-      algorithms.AddRange(RunCreationClient.Instance.Algorithms);
-
-      foreach (var run in Content.Runs) {
-        OKBRunConfigSelectionView orcsv = new OKBRunConfigSelectionView(run, algorithms, problems);
-        orcsv.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
-        runConfigViews.Add(orcsv);
-        tableLayoutPanel.Controls.Add(orcsv);
+      if (problems.Count == 0)
+        problems.AddRange(RunCreationClient.Instance.Problems);
+      if (algorithms.Count == 0)
+        algorithms.AddRange(RunCreationClient.Instance.Algorithms);
+
+      IItem algorithmType;
+      IItem problemType;
+      IItem algorithmName;
+      IItem problemName;
+
+      DataGridViewComboBoxColumn cmbAlgorithm = dataGridView.Columns[algorithmColumnIndex] as DataGridViewComboBoxColumn;
+      cmbAlgorithm.DataSource = algorithms;
+      cmbAlgorithm.DisplayMember = "Name";
+
+      DataGridViewComboBoxColumn cmbProblem = dataGridView.Columns[problemColumnIndex] as DataGridViewComboBoxColumn;
+      cmbProblem.DataSource = problems;
+      cmbProblem.DisplayMember = "Name";
+
+      foreach (IRun run in runs) {
+        int idx = dataGridView.Rows.Add(run.Name);
+        DataGridViewRow curRow = dataGridView.Rows[idx];
+        curRow.Tag = run;
+
+        if (run.Parameters.TryGetValue(algorithmTypeParameterName, out algorithmType)) {
+          HeuristicLab.Data.StringValue algStr = algorithmType as HeuristicLab.Data.StringValue;
+          if (algStr != null) {
+            curRow.Cells[1].Value = algStr;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(algorithmNameParameterName, out algorithmName)) {
+          HeuristicLab.Data.StringValue algStr = algorithmName as HeuristicLab.Data.StringValue;
+          if (algStr != null) {
+            curRow.Cells[2].Value = algStr;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(problemTypeParameterName, out problemType)) {
+          HeuristicLab.Data.StringValue prbStr = problemType as HeuristicLab.Data.StringValue;
+          if (prbStr != null) {
+            curRow.Cells[4].Value = prbStr;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(problemNameParameterName, out problemName)) {
+          HeuristicLab.Data.StringValue prbStr = problemName as HeuristicLab.Data.StringValue;
+          if (prbStr != null) {
+            curRow.Cells[5].Value = prbStr;
+          }
+        }
       }
     }
 
     private void ClearRuns() {
-      foreach (var runConfigView in runConfigViews) {
-        runConfigView.Hide();
-        tableLayoutPanel.Controls.Remove(runConfigView);
-        runConfigView.Dispose();
-      }
-      runConfigViews.Clear();
+      dataGridView.Rows.Clear();
+      runs.Clear();
     }
 
@@ -137,15 +197,19 @@
       prog.Status = "Uploading runs to OKB...";
       prog.ProgressValue = 0;
-      double count = runConfigViews.Count(x => x.UploadToOKB());
+      double count = dataGridView.Rows.Count;
       int i = 0;
 
       SetProgressView(prog);
-      foreach (var runConfigView in runConfigViews) {
-        if (runConfigView.UploadToOKB()) {
-          OKBRun run = new OKBRun(runConfigView.GetSelectedAlgorithm().Id, runConfigView.GetSelectedProblem().Id, runConfigView.ExperimentRun, UserInformation.Instance.User.Id);
-          run.Store();
-          i++;
-          prog.ProgressValue = ((double)i) / count;
-        }
+      foreach (DataGridViewRow row in dataGridView.Rows) {
+        selectedAlgorithm = algorithms.Where(x => x.Name == row.Cells[algorithmColumnIndex].Value.ToString()).FirstOrDefault();
+        selectedProblem = problems.Where(x => x.Name == row.Cells[problemColumnIndex].Value.ToString()).FirstOrDefault();
+        if (selectedAlgorithm == null || selectedProblem == null) {
+          throw new ArgumentException("Can't retrieve the algorithm/problem to upload");
+        }
+
+        OKBRun run = new OKBRun(selectedAlgorithm.Id, selectedProblem.Id, row.Tag as IRun, UserInformation.Instance.User.Id);
+        run.Store();
+        i++;
+        prog.ProgressValue = ((double)i) / count;
       }
       FinishProgressView();
@@ -175,4 +239,33 @@
       }
     }
+
+    private void dataGridView_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) {
+      if (e.Button == System.Windows.Forms.MouseButtons.Right && dataGridView[e.ColumnIndex, e.RowIndex].Value != null) {
+        string curVal = dataGridView[e.ColumnIndex, e.RowIndex].Value.ToString();
+        selectedAlgorithm = algorithms.Where(x => x.Name == curVal).FirstOrDefault();
+        selectedProblem = problems.Where(x => x.Name == curVal).FirstOrDefault();
+
+        if (selectedAlgorithm != null || selectedProblem != null) {
+          Point pos = this.PointToClient(Cursor.Position);
+          contextMenu.Show(this, pos);
+        }
+      }
+    }
+
+    private void setColumnToThisValueToolStripMenuItem_Click(object sender, EventArgs e) {
+      if (selectedAlgorithm != null) {
+        for (int i = 0; i < dataGridView.Rows.Count; i++) {
+          var row = dataGridView.Rows[i];
+          row.Cells[algorithmColumnIndex].Value = selectedAlgorithm.Name;
+        }
+      } else if (selectedProblem != null) {
+        for (int i = 0; i < dataGridView.Rows.Count; i++) {
+          var row = dataGridView.Rows[i];
+          row.Cells[problemColumnIndex].Value = selectedProblem.Name;
+        }
+      }
+      selectedAlgorithm = null;
+      selectedProblem = null;
+    }
   }
 }
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBRunConfigSelectionView.Designer.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBRunConfigSelectionView.Designer.cs	(revision 7741)
+++ 	(revision )
@@ -1,164 +1,0 @@
-﻿namespace HeuristicLab.Clients.OKB.RunCreation {
-  partial class OKBRunConfigSelectionView {
-    /// <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.components = new System.ComponentModel.Container();
-      this.lblRunName = new System.Windows.Forms.Label();
-      this.cmbAlgorithm = new System.Windows.Forms.ComboBox();
-      this.cmbProblem = new System.Windows.Forms.ComboBox();
-      this.label1 = new System.Windows.Forms.Label();
-      this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
-      this.txtRunName = new System.Windows.Forms.TextBox();
-      this.label2 = new System.Windows.Forms.Label();
-      this.chkUpload = new System.Windows.Forms.CheckBox();
-      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
-      this.tableLayoutPanel1.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // lblRunName
-      // 
-      this.lblRunName.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.lblRunName.AutoSize = true;
-      this.lblRunName.Location = new System.Drawing.Point(39, 7);
-      this.lblRunName.Name = "lblRunName";
-      this.lblRunName.Size = new System.Drawing.Size(61, 13);
-      this.lblRunName.TabIndex = 0;
-      this.lblRunName.Text = "Run Name:";
-      // 
-      // cmbAlgorithm
-      // 
-      this.cmbAlgorithm.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.cmbAlgorithm.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.cmbAlgorithm.FormattingEnabled = true;
-      this.cmbAlgorithm.Location = new System.Drawing.Point(423, 3);
-      this.cmbAlgorithm.Name = "cmbAlgorithm";
-      this.cmbAlgorithm.Size = new System.Drawing.Size(134, 21);
-      this.cmbAlgorithm.TabIndex = 1;
-      // 
-      // cmbProblem
-      // 
-      this.cmbProblem.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.cmbProblem.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.cmbProblem.FormattingEnabled = true;
-      this.cmbProblem.Location = new System.Drawing.Point(703, 3);
-      this.cmbProblem.Name = "cmbProblem";
-      this.cmbProblem.Size = new System.Drawing.Size(134, 21);
-      this.cmbProblem.TabIndex = 2;
-      // 
-      // label1
-      // 
-      this.label1.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(311, 7);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(78, 13);
-      this.label1.TabIndex = 3;
-      this.label1.Text = "OKB Algorithm:";
-      // 
-      // tableLayoutPanel1
-      // 
-      this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.tableLayoutPanel1.ColumnCount = 7;
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
-      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 45F));
-      this.tableLayoutPanel1.Controls.Add(this.lblRunName, 0, 0);
-      this.tableLayoutPanel1.Controls.Add(this.cmbProblem, 5, 0);
-      this.tableLayoutPanel1.Controls.Add(this.cmbAlgorithm, 3, 0);
-      this.tableLayoutPanel1.Controls.Add(this.txtRunName, 1, 0);
-      this.tableLayoutPanel1.Controls.Add(this.label2, 4, 0);
-      this.tableLayoutPanel1.Controls.Add(this.label1, 2, 0);
-      this.tableLayoutPanel1.Controls.Add(this.chkUpload, 6, 0);
-      this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 3);
-      this.tableLayoutPanel1.Name = "tableLayoutPanel1";
-      this.tableLayoutPanel1.RowCount = 1;
-      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
-      this.tableLayoutPanel1.Size = new System.Drawing.Size(891, 26);
-      this.tableLayoutPanel1.TabIndex = 5;
-      // 
-      // txtRunName
-      // 
-      this.txtRunName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtRunName.Location = new System.Drawing.Point(143, 3);
-      this.txtRunName.Name = "txtRunName";
-      this.txtRunName.Size = new System.Drawing.Size(134, 20);
-      this.txtRunName.TabIndex = 4;
-      // 
-      // label2
-      // 
-      this.label2.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(593, 7);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(73, 13);
-      this.label2.TabIndex = 5;
-      this.label2.Text = "OKB Problem:";
-      // 
-      // chkUpload
-      // 
-      this.chkUpload.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.chkUpload.AutoSize = true;
-      this.chkUpload.Checked = true;
-      this.chkUpload.CheckState = System.Windows.Forms.CheckState.Checked;
-      this.chkUpload.Location = new System.Drawing.Point(858, 6);
-      this.chkUpload.Name = "chkUpload";
-      this.chkUpload.Size = new System.Drawing.Size(15, 14);
-      this.chkUpload.TabIndex = 6;
-      this.toolTip.SetToolTip(this.chkUpload, "If checked the run will bei uploaded to the OKB.");
-      this.chkUpload.UseVisualStyleBackColor = true;
-      // 
-      // OKBRunConfigSelectionView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.tableLayoutPanel1);
-      this.Name = "OKBRunConfigSelectionView";
-      this.Size = new System.Drawing.Size(898, 34);
-      this.tableLayoutPanel1.ResumeLayout(false);
-      this.tableLayoutPanel1.PerformLayout();
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Label lblRunName;
-    private System.Windows.Forms.ComboBox cmbAlgorithm;
-    private System.Windows.Forms.ComboBox cmbProblem;
-    private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
-    private System.Windows.Forms.TextBox txtRunName;
-    private System.Windows.Forms.Label label2;
-    private System.Windows.Forms.CheckBox chkUpload;
-    private System.Windows.Forms.ToolTip toolTip;
-  }
-}
Index: branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBRunConfigSelectionView.cs
===================================================================
--- branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBRunConfigSelectionView.cs	(revision 7741)
+++ 	(revision )
@@ -1,122 +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.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
-using HeuristicLab.Core;
-
-namespace HeuristicLab.Clients.OKB.RunCreation {
-  public partial class OKBRunConfigSelectionView : UserControl {
-
-    private const string algorithmTypeParameterName = "Algorithm Type";
-    private const string problemTypeParameterName = "Problem Type";
-
-    private List<Algorithm> algorithms;
-    public List<Algorithm> Algorithms {
-      get { return algorithms; }
-      set {
-        algorithms = value;
-        foreach (Algorithm a in Algorithms) {
-          cmbAlgorithm.Items.Add(a);
-        }
-      }
-    }
-
-    private List<Problem> problems;
-    public List<Problem> Problems {
-      get { return problems; }
-      set {
-        problems = value;
-        foreach (Problem p in Problems) {
-          cmbProblem.Items.Add(p);
-        }
-      }
-    }
-
-    private HeuristicLab.Optimization.IRun experimentRun;
-    public HeuristicLab.Optimization.IRun ExperimentRun {
-      get { return experimentRun; }
-      set {
-        experimentRun = value;
-        txtRunName.Text = ExperimentRun.Name;
-      }
-    }
-
-    public OKBRunConfigSelectionView() {
-      InitializeComponent();
-    }
-
-    public OKBRunConfigSelectionView(HeuristicLab.Optimization.IRun run, List<Algorithm> algorithms, List<Problem> problems) {
-      InitializeComponent();
-
-      ExperimentRun = run;
-      Algorithms = algorithms;
-      Problems = problems;
-
-      PopulateComboboxes();
-    }
-
-    private void PopulateComboboxes() {
-      IItem algorithmType;
-      IItem problemType;
-
-      if (cmbAlgorithm.Items.Count > 0) {
-        cmbAlgorithm.SelectedIndex = 0;
-      }
-      if (cmbProblem.Items.Count > 0) {
-        cmbProblem.SelectedIndex = 0;
-      }
-
-      if (ExperimentRun.Parameters.TryGetValue(algorithmTypeParameterName, out algorithmType)) {
-        HeuristicLab.Data.StringValue algStr = algorithmType as HeuristicLab.Data.StringValue;
-        if (algStr != null) {
-          var result = Algorithms.FindAll(x => x.Name == algStr.Value);
-          if (result.Count > 0) {
-            cmbAlgorithm.SelectedItem = result.First();
-          }
-        }
-      }
-
-      if (ExperimentRun.Parameters.TryGetValue(problemTypeParameterName, out problemType)) {
-        HeuristicLab.Data.StringValue prbStr = problemType as HeuristicLab.Data.StringValue;
-        if (prbStr != null) {
-          var result = Problems.FindAll(x => x.Name == prbStr.Value);
-          if (result.Count > 0) {
-            cmbProblem.SelectedItem = result.First();
-          }
-        }
-      }
-    }
-
-    public Algorithm GetSelectedAlgorithm() {
-      return cmbAlgorithm.SelectedItem as Algorithm;
-    }
-
-    public Problem GetSelectedProblem() {
-      return cmbProblem.SelectedItem as Problem;
-    }
-
-    public bool UploadToOKB() {
-      return chkUpload.Checked;
-    }
-  }
-}
