Changeset 6299 for branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4
- Timestamp:
- 05/26/11 15:11:48 (13 years ago)
- Location:
- branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolView.Designer.cs
r6109 r6299 47 47 this.initialFrequencyLabel = new System.Windows.Forms.Label(); 48 48 this.initialFrequencyTextBox = new System.Windows.Forms.TextBox(); 49 this.checkBoxEnabled = new System.Windows.Forms.CheckBox(); 49 50 ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit(); 50 51 this.SuspendLayout(); … … 73 74 // initialFrequencyTextBox 74 75 // 75 this.initialFrequencyTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 76 76 this.initialFrequencyTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 77 | System.Windows.Forms.AnchorStyles.Right))); 77 78 this.errorProvider.SetIconAlignment(this.initialFrequencyTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft); 78 79 this.initialFrequencyTextBox.Location = new System.Drawing.Point(93, 26); … … 84 85 this.initialFrequencyTextBox.Validated += new System.EventHandler(this.initialFrequencyTextBox_Validated); 85 86 // 87 // checkBoxEnabled 88 // 89 this.checkBoxEnabled.AutoSize = true; 90 this.checkBoxEnabled.Location = new System.Drawing.Point(93, 52); 91 this.checkBoxEnabled.Name = "checkBoxEnabled"; 92 this.checkBoxEnabled.Size = new System.Drawing.Size(65, 17); 93 this.checkBoxEnabled.TabIndex = 5; 94 this.checkBoxEnabled.Text = "Enabled"; 95 this.checkBoxEnabled.UseVisualStyleBackColor = true; 96 this.checkBoxEnabled.CheckedChanged += new System.EventHandler(this.checkBoxEnabled_CheckedChanged); 97 // 86 98 // SymbolView 87 99 // … … 90 102 this.Controls.Add(this.initialFrequencyTextBox); 91 103 this.Controls.Add(this.initialFrequencyLabel); 104 this.Controls.Add(this.checkBoxEnabled); 92 105 this.Name = "SymbolView"; 93 this.Size = new System.Drawing.Size(320, 51); 106 this.Size = new System.Drawing.Size(320, 75); 107 this.Controls.SetChildIndex(this.checkBoxEnabled, 0); 94 108 this.Controls.SetChildIndex(this.initialFrequencyLabel, 0); 95 109 this.Controls.SetChildIndex(this.initialFrequencyTextBox, 0); … … 107 121 protected System.Windows.Forms.Label initialFrequencyLabel; 108 122 protected System.Windows.Forms.TextBox initialFrequencyTextBox; 123 private System.Windows.Forms.CheckBox checkBoxEnabled; 109 124 110 125 } -
branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolView.cs
r6233 r6299 57 57 protected override void SetEnabledStateOfControls() { 58 58 base.SetEnabledStateOfControls(); 59 initialFrequencyTextBox.Enabled = Content != null ;59 initialFrequencyTextBox.Enabled = Content != null || Locked; 60 60 initialFrequencyTextBox.ReadOnly = ReadOnly; 61 checkBoxEnabled.Enabled = Content != null || Locked || ReadOnly; 61 62 } 62 63 … … 93 94 } 94 95 } 96 97 private void checkBoxEnabled_CheckedChanged(object sender, EventArgs e) { 98 Content.Enabled = checkBoxEnabled.Checked; 99 } 95 100 #endregion 96 101 … … 99 104 if (Content == null) { 100 105 initialFrequencyTextBox.Text = string.Empty; 106 checkBoxEnabled.Checked = false; 101 107 } else { 102 108 initialFrequencyTextBox.Text = Content.InitialFrequency.ToString(); 109 checkBoxEnabled.Checked = Content.Enabled; 103 110 } 104 111 SetEnabledStateOfControls(); 105 112 } 106 113 #endregion 114 107 115 } 108 116 } -
branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionGrammarEditorView.cs
r6285 r6299 100 100 private void RebuildSymbolsTreeView() { 101 101 symbolsTreeView.Nodes.Clear(); 102 var start = new TreeNode(); 103 var symbols = new DummySymbol("Symbols"); 104 start.Name = "Symbols"; 105 start.Text = "Symbols"; 106 start.Tag = symbols; 107 start.Checked = true; 108 symbolsTreeView.Nodes.Add(start); 102 var symbols = Content.Symbols.ToList(); 103 var groupSymbols = symbols.OfType<GroupSymbol>().ToList(); 104 var topLevelSymbols = Content.Symbols.Where(s => !groupSymbols.Any(g => g.Symbols.Contains(s))); 105 AddChildTreeNodes(symbolsTreeView.Nodes, topLevelSymbols); 109 106 110 foreach (ISymbol symbol in Content.Symbols.Where(s => !(s is IReadOnlySymbol))) { 107 RebuildImageList(); 108 symbolsTreeView.ExpandAll(); 109 } 110 111 private void AddChildTreeNodes(TreeNodeCollection collection, IEnumerable<ISymbol> symbols) { 112 foreach (ISymbol symbol in symbols) { 111 113 var node = new TreeNode(); 112 114 node.Name = symbol.Name; 113 115 node.Text = symbol.Name; 114 116 node.Tag = symbol; 115 node.Checked = !symbol.InitialFrequency.IsAlmost(0.0); 116 start.Nodes.Add(node); 117 node.Checked = symbol.Enabled; 118 collection.Add(node); 119 var groupSymbol = symbol as GroupSymbol; 120 if (groupSymbol != null) AddChildTreeNodes(node.Nodes, groupSymbol.Symbols); 117 121 } 118 RebuildImageList();119 symbolsTreeView.ExpandAll();120 122 } 121 123 … … 134 136 if (e.Action != TreeViewAction.Unknown) { 135 137 DeregisterContentEvents(); 136 foreach (var symbol in IterateTreeNodes(e.Node).Select(n => n.Tag).OfType<ISymbol>()) { 137 if (e.Node.Checked) symbol.InitialFrequency = 1.0; 138 else symbol.InitialFrequency = 0.0; 139 } 138 var symbol = (ISymbol)e.Node.Tag; 139 symbol.Enabled = e.Node.Checked; 140 140 RegisterContentEvents(); 141 141 Content_Changed(Content, EventArgs.Empty); … … 176 176 protected virtual void RebuildImageList() { 177 177 symbolsTreeView.ImageList.Images.Clear(); 178 foreach (TreeNode treeNode in symbolsTreeView.Nodes) {178 foreach (TreeNode treeNode in IterateTreeNodes()) { 179 179 var symbol = (ISymbol)treeNode.Tag; 180 180 symbolsTreeView.ImageList.Images.Add(symbol == null ? HeuristicLab.Common.Resources.VSImageLibrary.Nothing : symbol.ItemImage); … … 183 183 } 184 184 } 185 #endregion 185 186 186 187 [NonDiscoverableType] … … 190 191 public override IDeepCloneable Clone(Cloner cloner) { return new DummySymbol(this, cloner); } 191 192 } 192 193 #endregion194 193 } -
branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionGrammarView.cs
r6233 r6299 90 90 if (!(symbol is IReadOnlySymbol)) { 91 91 symbol.Changed += new EventHandler(symbol_Changed); 92 symbols.Add(symbol, symbol. InitialFrequency > 0.0);92 symbols.Add(symbol, symbol.Enabled); 93 93 } 94 94 } … … 101 101 private void symbol_Changed(object sender, EventArgs e) { 102 102 ISymbol symbol = (ISymbol)sender; 103 symbols.SetItemCheckedState(symbol, symbol. InitialFrequency > 0.0);103 symbols.SetItemCheckedState(symbol, symbol.Enabled); 104 104 } 105 105 106 106 private void symbols_CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<ISymbol>> e) { 107 107 ICheckedItemList<ISymbol> checkedItemList = (ICheckedItemList<ISymbol>)sender; 108 foreach (var indexedItem in e.Items) { 109 if (checkedItemList.ItemChecked(indexedItem.Value)) { 110 indexedItem.Value.InitialFrequency = 1.0; 111 } else { 112 indexedItem.Value.InitialFrequency = 0.0; 113 } 114 } 108 foreach (var indexedItem in e.Items) 109 indexedItem.Value.Enabled = checkedItemList.ItemChecked(indexedItem.Value); 115 110 } 116 111 private void ClearSymbols() {
Note: See TracChangeset
for help on using the changeset viewer.