Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolMatrixView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolMatrixView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolMatrixView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/BoolValueView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/ComparisonView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/DoubleRangeView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnhancedStringConvertibleMatrixView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -69,5 +69,5 @@
     }
 
-    protected override void UpdateColumnHeaders() {
+    public override void UpdateColumnHeaders() {
       base.UpdateColumnHeaders();
       if (columnVisibility != null && Content != null && columnVisibility.Count() == dataGridView.ColumnCount) {
@@ -79,5 +79,5 @@
       }
     }
-    protected override void UpdateRowHeaders() {
+    public override void UpdateRowHeaders() {
       if (Content == null) return;
       if (rowVisibility != null && rowVisibility.Count() != dataGridView.RowCount) return;
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -47,4 +47,6 @@
       this.valueLabel = new System.Windows.Forms.Label();
       this.valueComboBox = new System.Windows.Forms.ComboBox();
+      this.flagsListView = new System.Windows.Forms.ListView();
+      this.columnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
       this.SuspendLayout();
       // 
@@ -54,5 +56,5 @@
       this.valueLabel.Location = new System.Drawing.Point(3, 3);
       this.valueLabel.Name = "valueLabel";
-      this.valueLabel.Size = new System.Drawing.Size(56, 13);
+      this.valueLabel.Size = new System.Drawing.Size(37, 13);
       this.valueLabel.TabIndex = 0;
       this.valueLabel.Text = "&Value:";
@@ -60,5 +62,5 @@
       // valueComboBox
       // 
-      this.valueComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+      this.valueComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
       this.valueComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -71,8 +73,29 @@
       this.valueComboBox.SelectedIndexChanged += new System.EventHandler(this.valueComboBox_SelectedIndexChanged);
       // 
+      // flagsListView
+      // 
+      this.flagsListView.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.flagsListView.CheckBoxes = true;
+      this.flagsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+            this.columnHeader});
+      this.flagsListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+      this.flagsListView.Location = new System.Drawing.Point(65, 0);
+      this.flagsListView.Name = "flagsListView";
+      this.flagsListView.Size = new System.Drawing.Size(212, 21);
+      this.flagsListView.TabIndex = 2;
+      this.flagsListView.UseCompatibleStateImageBehavior = false;
+      this.flagsListView.View = System.Windows.Forms.View.Details;
+      this.flagsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.flagsListView_ItemChecked);
+      // 
+      // columnHeader
+      // 
+      this.columnHeader.Width = 100;
+      // 
       // EnumValueView
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+      this.Controls.Add(this.flagsListView);
       this.Controls.Add(this.valueComboBox);
       this.Controls.Add(this.valueLabel);
@@ -81,4 +104,5 @@
       this.ResumeLayout(false);
       this.PerformLayout();
+
     }
 
@@ -87,4 +111,6 @@
     private System.Windows.Forms.Label valueLabel;
     private System.Windows.Forms.ComboBox valueComboBox;
+    private System.Windows.Forms.ListView flagsListView;
+    private System.Windows.Forms.ColumnHeader columnHeader;
   }
 }
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/EnumValueView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,4 +21,5 @@
 
 using System;
+using System.Windows.Forms;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
@@ -42,8 +43,22 @@
     }
 
+    static EnumValueView() {
+      if (!typeof(T).IsEnum)
+        throw new InvalidOperationException("Generic type " + typeof(T).Name + " is not an enum.");
+    }
+
     public EnumValueView() {
       InitializeComponent();
+      this.Caption = typeof(T).Name + " View";
+
       valueComboBox.DataSource = Enum.GetValues(typeof(T));
-      this.Name = typeof(T).Name + "EnumView";
+      foreach (T flag in Enum.GetValues(typeof(T)))
+        flagsListView.Items.Add(new ListViewItem(flag.ToString()) { Tag = flag });
+      columnHeader.Width = -1;
+
+      bool isFlags = Attribute.IsDefined(typeof(T), typeof(FlagsAttribute));
+      if (isFlags) valueLabel.Text = "Flags:";
+      valueComboBox.Visible = !isFlags;
+      flagsListView.Visible = isFlags;
     }
     public EnumValueView(EnumValue<T> content)
@@ -64,14 +79,26 @@
     protected override void OnContentChanged() {
       base.OnContentChanged();
-      if (Content == null)
-        valueComboBox.Enabled = false;
-      else
+      if (Content == null) {
+        valueComboBox.SelectedIndex = -1;
+        foreach (ListViewItem item in flagsListView.Items)
+          item.Checked = false;
+      } else {
         valueComboBox.SelectedItem = Content.Value;
+        foreach (ListViewItem item in flagsListView.Items) {
+          var flag = (Enum)item.Tag;
+          item.Checked = ((Enum)(object)Content.Value).HasFlag(flag);
+        }
+      }
     }
 
     protected override void SetEnabledStateOfControls() {
       base.SetEnabledStateOfControls();
-      if (Content == null) valueComboBox.Enabled = false;
-      else valueComboBox.Enabled = !ReadOnly;
+      if (Content == null) {
+        valueComboBox.Enabled = false;
+        flagsListView.Enabled = false;
+      } else {
+        valueComboBox.Enabled = !ReadOnly;
+        flagsListView.Enabled = !ReadOnly;
+      }
     }
 
@@ -79,6 +106,11 @@
       if (InvokeRequired)
         Invoke(new EventHandler(Content_ValueChanged), sender, e);
-      else
+      else {
         valueComboBox.SelectedItem = Content.Value;
+        foreach (ListViewItem item in flagsListView.Items) {
+          var flag = (Enum)item.Tag;
+          item.Checked = ((Enum)(object)Content.Value).HasFlag(flag);
+        }
+      }
     }
 
@@ -87,4 +119,24 @@
         Content.Value = (T)valueComboBox.SelectedItem;
     }
+
+    private void flagsListView_ItemChecked(object sender, ItemCheckedEventArgs e) {
+      var flag = (T)e.Item.Tag;
+      if ((Content != null) && !Content.ReadOnly)
+        Content.Value = ((Enum)(object)Content.Value).SetFlag(flag, e.Item.Checked);
+    }
+  }
+
+  internal static class EnumHelper {
+    //https://stackoverflow.com/a/21581418
+    public static T SetFlag<T>(this Enum value, T flag, bool set) {
+      var baseType = Enum.GetUnderlyingType(value.GetType());
+      dynamic valueAsBase = Convert.ChangeType(value, baseType);
+      dynamic flagAsBase = Convert.ChangeType(flag, baseType);
+      if (set)
+        valueAsBase |= flagAsBase;
+      else
+        valueAsBase &= ~flagAsBase;
+      return (T)valueAsBase;
+    }
   }
 }
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj	(revision 15973)
@@ -105,4 +105,5 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Microsoft.CSharp" />
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -189,5 +190,5 @@
       <DependentUpon>BoolValueView.cs</DependentUpon>
     </Compile>
-	 <Compile Include="BoolMatrixView.cs">
+    <Compile Include="BoolMatrixView.cs">
       <SubType>UserControl</SubType>
     </Compile>
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/IntRangeView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/DirectoryValueView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/FileValueView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Path Views/TextFileView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Plugin.cs.frame
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Plugin.cs.frame	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Plugin.cs.frame	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -29,5 +29,5 @@
   /// Plugin class for HeuristicLab.Data.Views plugin.
   /// </summary>
-  [Plugin("HeuristicLab.Data.Views", "3.3.13.$WCREV$")]
+  [Plugin("HeuristicLab.Data.Views", "3.3.15.$WCREV$")]
   [PluginFile("HeuristicLab.Data.Views-3.3.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.Common", "3.3")]
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.cs.frame	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.cs.frame	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -32,5 +32,5 @@
 [assembly: AssemblyCompany("")]
 [assembly: AssemblyProduct("HeuristicLab")]
-[assembly: AssemblyCopyright("(c) 2002-2015 HEAL")]
+[assembly: AssemblyCopyright("(c) 2002-2018 HEAL")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -54,3 +54,3 @@
 // by using the '*' as shown below:
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.13.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.15.$WCREV$")]
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -66,5 +66,5 @@
       // 
       this.lengthTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.lengthTextBox.Location = new System.Drawing.Point(52, 0);
       this.lengthTextBox.Name = "lengthTextBox";
@@ -80,11 +80,12 @@
       this.dataGridView.AllowUserToDeleteRows = 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.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.dataGridView.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.Disable;
       this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
       this.dataGridView.ColumnHeadersVisible = false;
       this.dataGridView.Location = new System.Drawing.Point(0, 26);
       this.dataGridView.Name = "dataGridView";
+      this.dataGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders;
       this.dataGridView.Size = new System.Drawing.Size(424, 378);
       this.dataGridView.TabIndex = 2;
@@ -101,5 +102,4 @@
       // StringConvertibleArrayView
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.Controls.Add(this.dataGridView);
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using System;
+using System.Collections.Generic;
 using System.ComponentModel;
 using System.Drawing;
+using System.Linq;
 using System.Text;
 using System.Windows.Forms;
@@ -80,5 +82,5 @@
       lengthTextBox.Enabled = Content != null;
       dataGridView.Enabled = Content != null;
-      lengthTextBox.ReadOnly = ReadOnly;
+      lengthTextBox.ReadOnly = ReadOnly || (Content != null && !Content.Resizable);
       dataGridView.ReadOnly = ReadOnly;
     }
@@ -103,5 +105,5 @@
     }
 
-    protected virtual void UpdateRowHeaders() {
+    public virtual void UpdateRowHeaders() {
       int i = 0;
       foreach (string elementName in Content.ElementNames) {
@@ -199,8 +201,16 @@
       }
 
+      var elementNames = Content.ElementNames.ToList();
       for (int i = minRowIndex; i <= maxRowIndex; i++) {
         DataGridViewColumn column = dataGridView.Columns.GetFirstColumn(DataGridViewElementStates.Visible);
         DataGridViewCell cell = dataGridView[column.Index, i];
         if (cell.Selected) {
+          if (i < elementNames.Count) {
+            s.Append(elementNames[i]);
+            s.Append("\t");
+          } else if (elementNames.Count > 0) {
+            s.Append("Index " + i);
+            s.Append("\t");
+          }
           s.Append(Content.GetValue(i));
           s.Append(Environment.NewLine);
@@ -210,5 +220,11 @@
     }
     private void PasteValuesToDataGridView() {
-      string[] values = SplitClipboardString(Clipboard.GetText());
+      Tuple<string, string>[] values = null;
+      try {
+        values = SplitClipboardString(Clipboard.GetText()).ToArray();
+      } catch (ArgumentException ex) {
+        MessageBox.Show(this, ex.Message, "Error while parsing clipboard text.", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        return;
+      }
       int rowIndex = 0;
       if (dataGridView.CurrentCell != null)
@@ -216,11 +232,55 @@
 
       if (Content.Length < rowIndex + values.Length) Content.Length = rowIndex + values.Length;
-      for (int row = 0; row < values.Length; row++)
-        Content.SetValue(values[row], row + rowIndex);
-    }
-    private string[] SplitClipboardString(string clipboardText) {
+      for (int row = 0; row < values.Length; row++) {
+        Content.SetValue(values[row].Item2, row + rowIndex);
+      }
+      if (values.Any(x => !string.IsNullOrEmpty(x.Item1))) {
+        var elementNames = Content.ElementNames.ToList();
+        for (int row = 0; row < values.Length; row++) {
+          if (row + rowIndex < elementNames.Count)
+            elementNames[row + rowIndex] = values[row].Item1;
+          else elementNames.Add(values[row].Item1);
+        }
+        Content.ElementNames = elementNames;
+      }
+    }
+    private IEnumerable<Tuple<string, string>> SplitClipboardString(string clipboardText) {
       if (clipboardText.EndsWith(Environment.NewLine))
         clipboardText = clipboardText.Remove(clipboardText.Length - Environment.NewLine.Length);  //remove last newline constant
-      return clipboardText.Split(new string[] { Environment.NewLine, "\t" }, StringSplitOptions.None);
+
+      var lines = clipboardText.Split(new [] { Environment.NewLine }, StringSplitOptions.None);
+      var tabSep = new[] { '\t' };
+      if (lines.Length > 2) {
+        // Case 1: Each line contains either "elementName \t value" or just "value" (one or two vertical vectors)
+        foreach (var l in lines) {
+          var row = l.Split(tabSep, StringSplitOptions.RemoveEmptyEntries);
+          if (row.Length > 2) throw new ArgumentException("Clipboard may have either at most two rows or at most two columns.");
+          if (row.Length == 2) yield return Tuple.Create(row[0], row[1]);
+          else if (row.Length == 1) yield return Tuple.Create(string.Empty, row[0]);
+          else yield return Tuple.Create(string.Empty, string.Empty);
+        }
+      } else if (lines.Length == 2) {
+        var firstLine = lines[0].Split(tabSep, StringSplitOptions.None);
+        var secondLine = lines[1].Split(tabSep, StringSplitOptions.None);
+        if (firstLine.Length <= 2 && secondLine.Length <= 2) {
+          // Case 2a: The two lines contain either "elementName \t value" or just "value" (one or two vertical vectors)
+          yield return firstLine.Length >= 2 ? Tuple.Create(firstLine[0], firstLine[1]) : Tuple.Create(string.Empty, firstLine[0]);
+          yield return secondLine.Length >= 2 ? Tuple.Create(secondLine[0], secondLine[1]) : Tuple.Create(string.Empty, secondLine[0]);
+        } else {
+          // Case 2b: The first line contains the elementNames, the second line contains the values (two horizontal vectors)
+          var max = Math.Max(firstLine.Length, secondLine.Length);
+          for (var i = 0; i < max; i++) {
+            var elemName = i < firstLine.Length ? firstLine[i] : string.Empty;
+            var value = i < secondLine.Length ? secondLine[i] : string.Empty;
+            yield return Tuple.Create(elemName, value);
+          }
+        }
+      } else if (lines.Length == 1) {
+        // Case 3: The line contains the values (one horizontal vector)
+        var entries = lines[0].Split(tabSep, StringSplitOptions.None);
+        foreach (var e in entries) {
+          yield return Tuple.Create(string.Empty, e);
+        }
+      }
     }
     #endregion
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixColumnVisibilityDialog.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixRowVisibilityDialog.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -131,23 +131,20 @@
       virtualRowIndices = Enumerable.Range(0, Content.Rows).ToArray();
 
-      if (Content.Columns == 0 && dataGridView.ColumnCount != Content.Columns && !Content.ReadOnly)
-        Content.Columns = dataGridView.ColumnCount;
-      else {
-        DataGridViewColumn[] columns = new DataGridViewColumn[Content.Columns];
-        for (int i = 0; i < columns.Length; ++i) {
-          var column = new DataGridViewTextBoxColumn();
-          column.FillWeight = 1;
-          columns[i] = column;
-        }
-        dataGridView.Columns.Clear();
+
+      dataGridView.RowCount = 0;
+
+      DataGridViewColumn[] columns = new DataGridViewColumn[Content.Columns];
+      for (int i = 0; i < columns.Length; ++i) {
+        var column = new DataGridViewTextBoxColumn();
+        column.SortMode = DataGridViewColumnSortMode.Programmatic;
+        column.FillWeight = 1;
+        columns[i] = column;
+      }
+      dataGridView.Columns.Clear();
+
+      if (Content.Columns != 0) {
         dataGridView.Columns.AddRange(columns);
-      }
-
-      //DataGridViews with rows but no columns are not allowed !
-      if (Content.Rows == 0 && dataGridView.RowCount != Content.Rows && !Content.ReadOnly)
-        Content.Rows = dataGridView.RowCount;
-      else
         dataGridView.RowCount = Content.Rows;
-
+      }
 
       ClearSorting();
@@ -160,5 +157,5 @@
     }
 
-    protected virtual void UpdateColumnHeaders() {
+    public virtual void UpdateColumnHeaders() {
       HashSet<string> invisibleColumnNames = new HashSet<string>(dataGridView.Columns.OfType<DataGridViewColumn>()
       .Where(c => !c.Visible && !string.IsNullOrEmpty(c.HeaderText)).Select(c => c.HeaderText));
@@ -172,5 +169,5 @@
       }
     }
-    protected virtual void UpdateRowHeaders() {
+    public virtual void UpdateRowHeaders() {
       int index = dataGridView.FirstDisplayedScrollingRowIndex;
       if (index == -1) index = 0;
@@ -262,13 +259,17 @@
 
     #region DataGridView Events
+
     protected virtual void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) {
-      if (!dataGridView.ReadOnly) {
-        string errorMessage;
-        if (Content != null && !Content.Validate(e.FormattedValue.ToString(), out errorMessage)) {
-          e.Cancel = true;
-          dataGridView.Rows[e.RowIndex].ErrorText = errorMessage;
-        }
-      }
-    }
+      if (dataGridView.ReadOnly) return;
+      if (Content == null) return;
+      if (Content.Rows <= e.RowIndex || Content.Columns <= e.ColumnIndex) return;
+
+      string errorMessage;
+      if (!Content.Validate(e.FormattedValue.ToString(), out errorMessage)) {
+        e.Cancel = true;
+        dataGridView.Rows[e.RowIndex].ErrorText = errorMessage;
+      }
+    }
+
     protected virtual void dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) {
       if (!dataGridView.ReadOnly) {
@@ -440,5 +441,5 @@
       } else
         if (newSortOrder != SortOrder.None)
-          sortedColumnIndices.Add(new KeyValuePair<int, SortOrder>(columnIndex, newSortOrder));
+        sortedColumnIndices.Add(new KeyValuePair<int, SortOrder>(columnIndex, newSortOrder));
       Sort();
     }
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixVisibilityDialog.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueTupleView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.Designer.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.Designer.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.Designer.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -63,5 +63,5 @@
       this.valueTextBox.Location = new System.Drawing.Point(17, 0);
       this.valueTextBox.Name = "valueTextBox";
-      this.valueTextBox.Size = new System.Drawing.Size(135, 20);
+      this.valueTextBox.Size = new System.Drawing.Size(132, 20);
       this.valueTextBox.TabIndex = 2;
       this.valueTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.valueTextBox_KeyDown);
Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs	(revision 15973)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
