Changeset 4757 for branches/ParameterBinding
- Timestamp:
- 11/09/10 15:46:55 (14 years ago)
- Location:
- branches/ParameterBinding
- Files:
-
- 4 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ParameterBinding/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs
r4722 r4757 33 33 public abstract class ParameterizedNamedItem : NamedItem, IParameterizedNamedItem { 34 34 [Storable] 35 private List<IParameterBinding> parameterBindingList; 36 // eventuelly this should be made public and exposed in a view so that the algorithm designer can add bindings in the GUI 37 protected List<IParameterBinding> ParameterBindingList { 38 get { return parameterBindingList; } 39 } 40 [Storable] 35 41 private ParameterCollection parameters; 36 42 protected ParameterCollection Parameters { … … 50 56 : base(original, cloner) { 51 57 parameters = cloner.Clone(original.parameters); 58 parameterBindingList = original.parameterBindingList.Select(x => cloner.Clone(x)).ToList(); 52 59 readOnlyParameters = null; 53 60 } … … 56 63 name = ItemName; 57 64 description = ItemDescription; 65 parameterBindingList = new List<IParameterBinding>(); 58 66 parameters = new ParameterCollection(); 59 67 readOnlyParameters = null; … … 62 70 : base(name) { 63 71 description = ItemDescription; 72 parameterBindingList = new List<IParameterBinding>(); 64 73 parameters = new ParameterCollection(); 65 74 readOnlyParameters = null; … … 68 77 : base(name) { 69 78 description = ItemDescription; 79 parameterBindingList = new List<IParameterBinding>(); 70 80 this.parameters = parameters; 71 81 readOnlyParameters = null; … … 73 83 protected ParameterizedNamedItem(string name, string description) 74 84 : base(name, description) { 85 parameterBindingList = new List<IParameterBinding>(); 75 86 parameters = new ParameterCollection(); 76 87 readOnlyParameters = null; … … 78 89 protected ParameterizedNamedItem(string name, string description, ParameterCollection parameters) 79 90 : base(name, description) { 91 parameterBindingList = new List<IParameterBinding>(); 80 92 this.parameters = parameters; 81 93 readOnlyParameters = null; -
branches/ParameterBinding/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs
r4722 r4757 239 239 ParameterizeAnalyzers(); 240 240 } 241 private void MoveGenerator_InversionMoveParameter_ActualNameChanged(object sender, EventArgs e) {242 string name = ((ILookupParameter<InversionMove>)sender).ActualName;243 foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>()) {244 op.InversionMoveParameter.ActualName = name;245 }246 }247 241 private void MoveGenerator_TranslocationMoveParameter_ActualNameChanged(object sender, EventArgs e) { 248 242 string name = ((ILookupParameter<TranslocationMove>)sender).ActualName; … … 285 279 } 286 280 private void InitializeMoveGenerators() { 287 foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>()) { 288 if (op is IMoveGenerator) { 289 op.InversionMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_InversionMoveParameter_ActualNameChanged); 281 foreach (IPermutationInversionMoveOperator moveGen in Operators.OfType<IMoveGenerator>().OfType<IPermutationInversionMoveOperator>()) { 282 foreach (IPermutationInversionMoveOperator moveOp in Operators.Where(x => ! (x is IMoveGenerator)).OfType<IPermutationInversionMoveOperator>()) { 283 ParameterActualNameBinding binding = new ParameterActualNameBinding( 284 moveGen.InversionMoveParameter, 285 moveOp.InversionMoveParameter); 286 ParameterBindingList.Add(binding); 287 binding.Bind(); 290 288 } 291 289 } 292 foreach (IPermutationTranslocationMoveOperator op in Operators.OfType<IPermutationTranslocationMoveOperator>()) { 293 if (op is IMoveGenerator) { 294 op.TranslocationMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_TranslocationMoveParameter_ActualNameChanged); 290 foreach (IPermutationTranslocationMoveOperator moveGen in Operators.OfType<IMoveGenerator>().OfType<IPermutationTranslocationMoveOperator>()) { 291 foreach (IPermutationTranslocationMoveOperator moveOp in Operators.Where(x => !(x is IMoveGenerator)).OfType<IPermutationTranslocationMoveOperator>()) { 292 ParameterActualNameBinding binding = new ParameterActualNameBinding( 293 moveGen.TranslocationMoveParameter, 294 moveOp.TranslocationMoveParameter); 295 ParameterBindingList.Add(binding); 296 binding.Bind(); 295 297 } 296 298 } … … 310 312 } 311 313 private void ParameterizeEvaluator() { 314 ParameterSecondLevelActualNameBinding binding = new ParameterSecondLevelActualNameBinding( 315 SolutionCreatorParameter, EvaluatorParameter, 316 "PermutationParameter", "PermutationParameter" 317 ); 318 ParameterBindingList.Add(binding); 319 binding.Bind(); 320 312 321 if (Evaluator is ITSPPathEvaluator) 313 322 ((ITSPPathEvaluator)Evaluator).PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
Note: See TracChangeset
for help on using the changeset viewer.