author | moel.mich |
Wed, 18 Jan 2012 21:57:57 +0000 | |
changeset 336 | 1966500884bc |
parent 317 | 1ccf99e620a9 |
child 340 | 600962f8a298 |
permissions | -rw-r--r-- |
moel@1 | 1 |
/* |
moel@1 | 2 |
|
moel@1 | 3 |
Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
moel@1 | 4 |
|
moel@1 | 5 |
The contents of this file are subject to the Mozilla Public License Version |
moel@1 | 6 |
1.1 (the "License"); you may not use this file except in compliance with |
moel@1 | 7 |
the License. You may obtain a copy of the License at |
moel@1 | 8 |
|
moel@1 | 9 |
http://www.mozilla.org/MPL/ |
moel@1 | 10 |
|
moel@1 | 11 |
Software distributed under the License is distributed on an "AS IS" basis, |
moel@1 | 12 |
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
moel@1 | 13 |
for the specific language governing rights and limitations under the License. |
moel@1 | 14 |
|
moel@1 | 15 |
The Original Code is the Open Hardware Monitor code. |
moel@1 | 16 |
|
moel@1 | 17 |
The Initial Developer of the Original Code is |
moel@1 | 18 |
Michael Möller <m.moeller@gmx.ch>. |
moel@317 | 19 |
Portions created by the Initial Developer are Copyright (C) 2009-2011 |
moel@1 | 20 |
the Initial Developer. All Rights Reserved. |
moel@1 | 21 |
|
moel@1 | 22 |
Contributor(s): |
moel@1 | 23 |
|
moel@1 | 24 |
Alternatively, the contents of this file may be used under the terms of |
moel@1 | 25 |
either the GNU General Public License Version 2 or later (the "GPL"), or |
moel@1 | 26 |
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
moel@1 | 27 |
in which case the provisions of the GPL or the LGPL are applicable instead |
moel@1 | 28 |
of those above. If you wish to allow use of your version of this file only |
moel@1 | 29 |
under the terms of either the GPL or the LGPL, and not to allow others to |
moel@1 | 30 |
use your version of this file under the terms of the MPL, indicate your |
moel@1 | 31 |
decision by deleting the provisions above and replace them with the notice |
moel@1 | 32 |
and other provisions required by the GPL or the LGPL. If you do not delete |
moel@1 | 33 |
the provisions above, a recipient may use your version of this file under |
moel@1 | 34 |
the terms of any one of the MPL, the GPL or the LGPL. |
moel@1 | 35 |
|
moel@1 | 36 |
*/ |
moel@1 | 37 |
|
moel@1 | 38 |
using System; |
moel@1 | 39 |
using System.Collections.Generic; |
moel@1 | 40 |
using OpenHardwareMonitor.Hardware; |
moel@1 | 41 |
|
moel@1 | 42 |
namespace OpenHardwareMonitor.GUI { |
moel@1 | 43 |
public class TypeNode : Node { |
moel@1 | 44 |
|
moel@1 | 45 |
private SensorType sensorType; |
moel@1 | 46 |
|
moel@1 | 47 |
public TypeNode(SensorType sensorType) : base() { |
moel@1 | 48 |
this.sensorType = sensorType; |
moel@1 | 49 |
|
moel@1 | 50 |
switch (sensorType) { |
moel@1 | 51 |
case SensorType.Voltage: |
moel@1 | 52 |
this.Image = Utilities.EmbeddedResources.GetImage("voltage.png"); |
moel@1 | 53 |
this.Text = "Voltages"; |
moel@1 | 54 |
break; |
moel@1 | 55 |
case SensorType.Clock: |
moel@1 | 56 |
this.Image = Utilities.EmbeddedResources.GetImage("clock.png"); |
moel@1 | 57 |
this.Text = "Clocks"; |
moel@1 | 58 |
break; |
moel@24 | 59 |
case SensorType.Load: |
moel@24 | 60 |
this.Image = Utilities.EmbeddedResources.GetImage("load.png"); |
moel@24 | 61 |
this.Text = "Load"; |
moel@24 | 62 |
break; |
moel@1 | 63 |
case SensorType.Temperature: |
moel@1 | 64 |
this.Image = Utilities.EmbeddedResources.GetImage("temperature.png"); |
moel@1 | 65 |
this.Text = "Temperatures"; |
moel@1 | 66 |
break; |
moel@1 | 67 |
case SensorType.Fan: |
moel@1 | 68 |
this.Image = Utilities.EmbeddedResources.GetImage("fan.png"); |
moel@1 | 69 |
this.Text = "Fans"; |
moel@1 | 70 |
break; |
moel@57 | 71 |
case SensorType.Flow: |
moel@57 | 72 |
this.Image = Utilities.EmbeddedResources.GetImage("flow.png"); |
moel@57 | 73 |
this.Text = "Flows"; |
moel@57 | 74 |
break; |
moel@118 | 75 |
case SensorType.Control: |
moel@118 | 76 |
this.Image = Utilities.EmbeddedResources.GetImage("control.png"); |
moel@118 | 77 |
this.Text = "Controls"; |
moel@118 | 78 |
break; |
moel@217 | 79 |
case SensorType.Level: |
moel@217 | 80 |
this.Image = Utilities.EmbeddedResources.GetImage("level.png"); |
moel@217 | 81 |
this.Text = "Levels"; |
moel@217 | 82 |
break; |
moel@317 | 83 |
case SensorType.Power: |
moel@317 | 84 |
this.Image = Utilities.EmbeddedResources.GetImage("power.png"); |
moel@317 | 85 |
this.Text = "Powers"; |
moel@317 | 86 |
break; |
moel@324 | 87 |
case SensorType.Data: |
moel@324 | 88 |
this.Image = Utilities.EmbeddedResources.GetImage("data.png"); |
moel@324 | 89 |
this.Text = "Data"; |
moel@324 | 90 |
break; |
moel@1 | 91 |
} |
moel@111 | 92 |
|
moel@111 | 93 |
NodeAdded += new NodeEventHandler(TypeNode_NodeAdded); |
moel@111 | 94 |
NodeRemoved += new NodeEventHandler(TypeNode_NodeRemoved); |
moel@111 | 95 |
} |
moel@111 | 96 |
|
moel@111 | 97 |
private void TypeNode_NodeRemoved(Node node) { |
moel@111 | 98 |
node.IsVisibleChanged -= new NodeEventHandler(node_IsVisibleChanged); |
moel@111 | 99 |
node_IsVisibleChanged(null); |
moel@111 | 100 |
} |
moel@111 | 101 |
|
moel@111 | 102 |
private void TypeNode_NodeAdded(Node node) { |
moel@111 | 103 |
node.IsVisibleChanged += new NodeEventHandler(node_IsVisibleChanged); |
moel@111 | 104 |
node_IsVisibleChanged(null); |
moel@111 | 105 |
} |
moel@111 | 106 |
|
moel@111 | 107 |
private void node_IsVisibleChanged(Node node) { |
moel@111 | 108 |
foreach (Node n in Nodes) |
moel@111 | 109 |
if (n.IsVisible) { |
moel@111 | 110 |
this.IsVisible = true; |
moel@111 | 111 |
return; |
moel@111 | 112 |
} |
moel@111 | 113 |
this.IsVisible = false; |
moel@1 | 114 |
} |
moel@1 | 115 |
|
moel@1 | 116 |
public SensorType SensorType { |
moel@1 | 117 |
get { return sensorType; } |
moel@1 | 118 |
} |
moel@1 | 119 |
} |
moel@1 | 120 |
} |