- Timestamp:
- 03/20/11 02:36:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core.Views/3.3/ParameterCollectionView.cs
r5445 r5768 21 21 22 22 using System; 23 using System.Collections.Generic; 24 using System.Drawing; 25 using System.Linq; 23 26 using System.Windows.Forms; 24 27 using HeuristicLab.MainForm; … … 46 49 } 47 50 51 protected override void DeregisterItemEvents(IParameter item) { 52 item.HiddenChanged -= new EventHandler(Item_HiddenChanged); 53 base.DeregisterItemEvents(item); 54 } 55 protected override void RegisterItemEvents(IParameter item) { 56 base.RegisterItemEvents(item); 57 item.HiddenChanged += new EventHandler(Item_HiddenChanged); 58 } 59 48 60 protected override IParameter CreateItem() { 49 61 if (createParameterDialog == null) createParameterDialog = new CreateParameterDialog(); … … 57 69 return null; 58 70 } 71 72 protected override void AddListViewItem(ListViewItem listViewItem) { 73 IParameter parameter = listViewItem.Tag as IParameter; 74 if ((parameter != null) && (parameter.Hidden) && (!showHiddenParametersCheckBox.Checked)) { 75 return; // skip parameter 76 } 77 if ((parameter != null) && (parameter.Hidden) && (showHiddenParametersCheckBox.Checked)) { 78 listViewItem.Font = new Font(listViewItem.Font, FontStyle.Italic); 79 listViewItem.ForeColor = Color.LightGray; 80 } 81 base.AddListViewItem(listViewItem); 82 } 83 84 protected virtual void UpdateParameterVisibility(IParameter parameter) { 85 if (parameter.Hidden) { 86 if (showHiddenParametersCheckBox.Checked) { 87 foreach (ListViewItem listViewItem in GetListViewItemsForItem(parameter)) { 88 listViewItem.Font = new Font(listViewItem.Font, FontStyle.Italic); 89 listViewItem.ForeColor = Color.LightGray; 90 } 91 } else { 92 foreach (ListViewItem listViewItem in GetListViewItemsForItem(parameter).ToArray()) 93 RemoveListViewItem(listViewItem); 94 RebuildImageList(); 95 } 96 } else { 97 if (showHiddenParametersCheckBox.Checked) { 98 foreach (ListViewItem listViewItem in GetListViewItemsForItem(parameter)) { 99 listViewItem.Font = new Font(listViewItem.Font, FontStyle.Regular); 100 listViewItem.ForeColor = itemsListView.ForeColor; 101 } 102 } else { 103 for (int i = 0; i < Content.Count(x => x == parameter); i++) 104 AddListViewItem(CreateListViewItem(parameter)); 105 } 106 } 107 AdjustListViewColumnSizes(); 108 } 109 110 #region Control Events 111 protected virtual void showHiddenParametersCheckBox_CheckedChanged(object sender, System.EventArgs e) { 112 if (showHiddenParametersCheckBox.Checked) { 113 foreach (IParameter parameter in Content.Where(x => x.Hidden)) 114 AddListViewItem(CreateListViewItem(parameter)); 115 AdjustListViewColumnSizes(); 116 } else { 117 foreach (IParameter parameter in Content.Where(x => x.Hidden)) { 118 foreach (ListViewItem listViewItem in GetListViewItemsForItem(parameter).ToArray()) 119 RemoveListViewItem(listViewItem); 120 } 121 RebuildImageList(); 122 } 123 } 124 protected virtual void itemsListViewContextMenuStrip_Opening(object sender, System.ComponentModel.CancelEventArgs e) { 125 if ((itemsListView.SelectedItems.Count == 0) || ReadOnly || Locked) { 126 showHideParametersToolStripMenuItem.Enabled = false; 127 } else { 128 List<IParameter> parameters = new List<IParameter>(); 129 foreach (ListViewItem listViewItem in itemsListView.SelectedItems) { 130 IParameter parameter = listViewItem.Tag as IParameter; 131 if (parameter != null) parameters.Add(parameter); 132 } 133 showHideParametersToolStripMenuItem.Enabled = (parameters.Count > 0) && (parameters.All(x => x.Hidden == parameters[0].Hidden)); 134 if (parameters.Count == 1) showHideParametersToolStripMenuItem.Text = parameters[0].Hidden ? "Show Parameter" : "Hide Parameter"; 135 else showHideParametersToolStripMenuItem.Text = parameters[0].Hidden ? "Show Parameters" : "Hide Parameters"; 136 showHideParametersToolStripMenuItem.Tag = parameters; 137 } 138 } 139 protected virtual void showHideParametersToolStripMenuItem_Click(object sender, System.EventArgs e) { 140 foreach (IParameter parameter in (IEnumerable<IParameter>)showHideParametersToolStripMenuItem.Tag) 141 parameter.Hidden = !parameter.Hidden; 142 } 143 #endregion 144 145 #region Item Events 146 protected virtual void Item_HiddenChanged(object sender, EventArgs e) { 147 if (InvokeRequired) 148 Invoke(new EventHandler(Item_HiddenChanged), sender, e); 149 else 150 UpdateParameterVisibility((IParameter)sender); 151 } 152 #endregion 59 153 } 60 154 }
Note: See TracChangeset
for help on using the changeset viewer.