Added mainboard specific configurations for the following Gigabyte mainboards: EX58-UD3R, G41M-Combo, G41MT-S2, G41MT-S2P, GA-MA770T-UD3P, GA-MA785GM-US2H, GA-MA78LM-S2H, GA-MA790X-UD3P, H55-USB3, H55N-USB3, H61M-DS2 REV 1.2, H61M-USB3-B3 REV 2.0, H67A-USB3-B3, P55A-UD3, P67A-UD3-B3, P67A-UD3R-B3, Z68A-D3H-B3, Z68AP-D3, Z68X-UD3H-B3.
3 This Source Code Form is subject to the terms of the Mozilla Public
4 License, v. 2.0. If a copy of the MPL was not distributed with this
5 file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 Copyright (C) 2009-2010 Michael Möller <mmoeller@openhardwaremonitor.org>
13 using System.Collections.Generic;
14 using System.ComponentModel;
16 using System.Windows.Forms;
17 using OpenHardwareMonitor.Hardware;
18 using OpenHardwareMonitor.Collections;
20 namespace OpenHardwareMonitor.GUI {
21 public partial class ParameterForm : Form {
23 private IReadOnlyArray<IParameter> parameters;
24 private BindingList<ParameterRow> parameterRows;
26 public ParameterForm() {
27 InitializeComponent();
30 public IReadOnlyArray<IParameter> Parameters {
36 parameterRows = new BindingList<ParameterRow>();
37 foreach (IParameter parameter in parameters)
38 parameterRows.Add(new ParameterRow(parameter));
39 bindingSource.DataSource = parameterRows;
43 private class ParameterRow : INotifyPropertyChanged {
44 public IParameter parameter;
46 public bool isDefault;
48 public event PropertyChangedEventHandler PropertyChanged;
50 private void NotifyPropertyChanged(String propertyName) {
51 if (PropertyChanged != null) {
52 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
56 public ParameterRow(IParameter parameter){
57 this.parameter = parameter;
58 this.value = parameter.Value;
59 this.isDefault = parameter.IsDefault;
63 get { return parameter.Name; }
69 this.isDefault = false;
71 NotifyPropertyChanged("Default");
72 NotifyPropertyChanged("Value");
77 get { return isDefault; }
81 this.value = parameter.DefaultValue;
82 NotifyPropertyChanged("Default");
83 NotifyPropertyChanged("Value");
88 private void dataGridView_RowEnter(object sender,
89 DataGridViewCellEventArgs e)
91 if (e.RowIndex >= 0 && e.RowIndex < parameters.Length)
92 descriptionLabel.Text = parameters[e.RowIndex].Description;
94 descriptionLabel.Text = "";
97 private void dataGridView_CellValidating(object sender,
98 DataGridViewCellValidatingEventArgs e)
101 if (e.ColumnIndex == 2 &&
102 !float.TryParse(e.FormattedValue.ToString(), out value)) {
103 dataGridView.Rows[e.RowIndex].Cells[0].ErrorText =
109 private void dataGridView_CellEndEdit(object sender,
110 DataGridViewCellEventArgs e) {
111 dataGridView.Rows[e.RowIndex].Cells[0].ErrorText = "";
114 private void okButton_Click(object sender, EventArgs e) {
115 foreach (ParameterRow row in parameterRows) {
117 row.parameter.IsDefault = true;
119 row.parameter.Value = row.Value;
124 private void dataGridView_CurrentCellDirtyStateChanged(object sender,
126 if (dataGridView.CurrentCell is DataGridViewCheckBoxCell ||
127 dataGridView.CurrentCell is DataGridViewComboBoxCell)
129 dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);