1.1 --- a/GUI/MainForm.cs Sat Feb 27 15:55:17 2010 +0000
1.2 +++ b/GUI/MainForm.cs Sat Feb 27 20:08:13 2010 +0000
1.3 @@ -159,8 +159,18 @@
1.4 }
1.5 }
1.6
1.7 + private void SubHardwareAdded(IHardware hardware, Node node) {
1.8 + Node hardwareNode = new HardwareNode(hardware);
1.9 + node.Nodes.Add(hardwareNode);
1.10 + foreach (IHardware subHardware in hardware.SubHardware)
1.11 + SubHardwareAdded(subHardware, hardwareNode);
1.12 + }
1.13 +
1.14 private void HardwareAdded(IHardware hardware) {
1.15 - root.Nodes.Add(new HardwareNode(hardware));
1.16 + Node hardwareNode = new HardwareNode(hardware);
1.17 + root.Nodes.Add(hardwareNode);
1.18 + foreach (IHardware subHardware in hardware.SubHardware)
1.19 + SubHardwareAdded(subHardware, hardwareNode);
1.20 }
1.21
1.22 private void HardwareRemoved(IHardware hardware) {
1.23 @@ -357,15 +367,25 @@
1.24 UpdatePlotSelection(null, null);
1.25 }
1.26
1.27 - private void UpdateSensorTypeChecked(object sender, EventArgs e) {
1.28 - foreach (HardwareNode node in root.Nodes) {
1.29 - node.SetVisible(SensorType.Voltage, voltMenuItem.Checked);
1.30 - node.SetVisible(SensorType.Clock, clocksMenuItem.Checked);
1.31 - node.SetVisible(SensorType.Load, loadMenuItem.Checked);
1.32 - node.SetVisible(SensorType.Temperature, tempMenuItem.Checked);
1.33 - node.SetVisible(SensorType.Fan, fansMenuItem.Checked);
1.34 - node.SetVisible(SensorType.Flow, flowsMenuItem.Checked);
1.35 - }
1.36 + private void UpdateSensorTypeVisible(Node node) {
1.37 + HardwareNode hardwareNode = node as HardwareNode;
1.38 + if (hardwareNode == null)
1.39 + return;
1.40 +
1.41 + hardwareNode.SetVisible(SensorType.Voltage, voltMenuItem.Checked);
1.42 + hardwareNode.SetVisible(SensorType.Clock, clocksMenuItem.Checked);
1.43 + hardwareNode.SetVisible(SensorType.Load, loadMenuItem.Checked);
1.44 + hardwareNode.SetVisible(SensorType.Temperature, tempMenuItem.Checked);
1.45 + hardwareNode.SetVisible(SensorType.Fan, fansMenuItem.Checked);
1.46 + hardwareNode.SetVisible(SensorType.Flow, flowsMenuItem.Checked);
1.47 +
1.48 + foreach (Node n in node.Nodes)
1.49 + UpdateSensorTypeVisible(n);
1.50 + }
1.51 +
1.52 + private void UpdateSensorTypeChecked(object sender, EventArgs e) {
1.53 + foreach (HardwareNode node in root.Nodes)
1.54 + UpdateSensorTypeVisible(node);
1.55 }
1.56
1.57 private void ToggleSysTray() {