Index: /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEncoding.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEncoding.cs	(revision 17570)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEncoding.cs	(revision 17571)
@@ -103,6 +103,6 @@
       bounds[0, 1] = max;
 
-      lengthParameter = new FixedValueParameter<IntValue>(Name + ".Length", new IntValue(length));
-      boundsParameter = new ValueParameter<DoubleMatrix>(Name + ".Bounds", bounds);
+      lengthParameter = new FixedValueParameter<IntValue>(Name + ".Length", new IntValue(length)) { ReadOnly = true };
+      boundsParameter = new ValueParameter<DoubleMatrix>(Name + ".Bounds", bounds) { ReadOnly = true };
       Parameters.Add(lengthParameter);
       Parameters.Add(boundsParameter);
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Encoding.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Encoding.cs	(revision 17570)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Encoding.cs	(revision 17571)
@@ -95,7 +95,9 @@
     protected Encoding(string name)
       : base(name) {
-      Parameters.Add(new ValueParameter<ISolutionCreator<TEncodedSolution>>(name + ".SolutionCreator", "The operator to create a solution."));
+      Parameters.Add(new ValueParameter<ISolutionCreator<TEncodedSolution>>(name + ".SolutionCreator", "The operator to create a solution.") {
+        ReadOnly = true
+      });
       Parameters.Add(new FixedValueParameter<ReadOnlyItemSet<IOperator>>(name + ".Operators", "The operators that the encoding specifies.", encodingOperators.AsReadOnly()) {
-        GetsCollected = false
+        GetsCollected = false, ReadOnly = true
       });
 
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs	(revision 17570)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs	(revision 17571)
@@ -105,4 +105,5 @@
     protected override void SetEnabledStateOfControls() {
       base.SetEnabledStateOfControls();
+      ReadOnly = Content == null || Content.ReadOnly;
       setValueButton.Enabled = Content != null && !Content.ReadOnly && !(Content is IFixedValueParameter) && !ReadOnly;
       clearValueButton.Enabled = Content != null && !Content.ReadOnly && Content.Value != null && !(Content is IFixedValueParameter) && !(Content is ValueParameter<T>) && !ReadOnly;
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs	(revision 17570)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Parameters/3.3/OptionalValueParameter.cs	(revision 17571)
@@ -44,7 +44,5 @@
     public virtual T Value {
       get { return this.value; }
-      set {
-        DoSetValue(value);
-      }
+      set { DoSetValue(value); }
     }
     private void DoSetValue(T value) {
Index: /branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
===================================================================
--- /branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 17570)
+++ /branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 17571)
@@ -177,4 +177,6 @@
     private void Parameterize() {
       var operators = new List<IItem>();
+
+      //TODO correct wiring code, because most of the parameters are wired in the encoding
       foreach (var op in Operators.OfType<PopulationSimilarityAnalyzer>()) {
         var calcs = Operators.OfType<ISolutionSimilarityCalculator>().ToArray();
