Changeset 6233 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionGrammar.cs
- Timestamp:
- 05/19/11 13:52:12 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionGrammar.cs
r5809 r6233 20 20 #endregion 21 21 22 using System .Linq;22 using System; 23 23 using HeuristicLab.Common; 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 25 26 … … 28 29 public abstract class SymbolicExpressionGrammar : SymbolicExpressionGrammarBase, ISymbolicExpressionGrammar { 29 30 #region fields & properties 31 [Storable(DefaultValue = false)] 32 private bool readOnly; 33 public bool ReadOnly { 34 get { return readOnly; } 35 set { 36 if (readOnly != value) { 37 readOnly = value; 38 OnReadOnlyChanged(); 39 } 40 } 41 } 42 30 43 [Storable] 31 44 private int minimumFunctionDefinitions; … … 102 115 protected SymbolicExpressionGrammar(SymbolicExpressionGrammar original, Cloner cloner) 103 116 : base(original, cloner) { 104 programRootSymbol = (ProgramRootSymbol)cloner.Clone(original.programRootSymbol); 105 startSymbol = (StartSymbol)cloner.Clone(original.StartSymbol); 106 defunSymbol = (Defun)cloner.Clone(original.defunSymbol); 107 symbols = original.symbols 108 .ToDictionary(x => x.Key, y => (ISymbol)cloner.Clone(y.Value)); 117 programRootSymbol = cloner.Clone(original.programRootSymbol); 118 startSymbol = cloner.Clone(original.StartSymbol); 119 defunSymbol = cloner.Clone(original.defunSymbol); 120 109 121 maximumFunctionArguments = original.maximumFunctionArguments; 110 122 minimumFunctionArguments = original.minimumFunctionArguments; … … 140 152 } 141 153 } 154 155 public event EventHandler ReadOnlyChanged; 156 protected virtual void OnReadOnlyChanged() { 157 var handler = ReadOnlyChanged; 158 if (handler != null) 159 handler(this, EventArgs.Empty); 160 } 161 162 #region IStatefulItem 163 void IStatefulItem.InitializeState() { } 164 void IStatefulItem.ClearState() { 165 ReadOnly = false; 166 } 167 #endregion 142 168 } 143 169 }
Note: See TracChangeset
for help on using the changeset viewer.