Added the option to enable/disable all hardware groups.
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) 2011 Michael Möller <mmoeller@openhardwaremonitor.org>
12 using System.Collections.Generic;
13 using System.Windows.Forms;
14 using OpenHardwareMonitor.Utilities;
16 namespace OpenHardwareMonitor.GUI {
17 public class UserRadioGroup {
20 private MenuItem[] menuItems;
21 private event EventHandler changed;
22 private PersistentSettings settings;
24 public UserRadioGroup(string name, int value,
25 MenuItem[] menuItems, PersistentSettings settings) {
26 this.settings = settings;
29 this.value = settings.GetValue(name, value);
32 this.menuItems = menuItems;
33 this.value = Math.Max(Math.Min(this.value, menuItems.Length - 1), 0);
35 for (int i = 0; i < this.menuItems.Length; i++) {
36 this.menuItems[i].Checked = i == this.value;
38 this.menuItems[i].Click += delegate(object sender, EventArgs e) {
47 if (this.value != value) {
49 if (this.name != null)
50 settings.SetValue(name, value);
51 for (int i = 0; i < this.menuItems.Length; i++)
52 this.menuItems[i].Checked = i == value;
59 public event EventHandler Changed {