diff -r 5400e3e383f7 -r 1a7c13ac7348 GUI/MainForm.cs --- a/GUI/MainForm.cs Tue Feb 23 19:45:40 2010 +0000 +++ b/GUI/MainForm.cs Sat Feb 27 15:55:17 2010 +0000 @@ -63,7 +63,7 @@ InitializeComponent(); this.Font = SystemFonts.MessageBoxFont; treeView.Font = SystemFonts.MessageBoxFont; - plotPanel.Font = SystemFonts.MessageBoxFont; + plotPanel.Font = SystemFonts.MessageBoxFont; nodeCheckBox.IsVisibleValueNeeded += new EventHandler( @@ -320,6 +320,13 @@ if (node != null && node.Sensor != null) { sensorContextMenuStrip.Items.Clear(); + if (node.Sensor.Parameters.Length > 0) { + ToolStripMenuItem item = new ToolStripMenuItem("Parameters..."); + item.Click += delegate(object obj, EventArgs args) { + ShowParameterForm(node.Sensor); + }; + sensorContextMenuStrip.Items.Add(item); + } if (sensorSystemTray.Contains(node.Sensor)) { ToolStripMenuItem item = new ToolStripMenuItem("Remove From Tray"); item.Click += delegate(object obj, EventArgs args) { @@ -398,5 +405,21 @@ sensorSystemTray.Remove(sensor); } + + private void ShowParameterForm(ISensor sensor) { + ParameterForm form = new ParameterForm(); + form.Parameters = sensor.Parameters; + form.captionLabel.Text = sensor.Name; + form.ShowDialog(); + } + + private void treeView_NodeMouseDoubleClick(object sender, + TreeNodeAdvMouseEventArgs e) { + SensorNode node = e.Node.Tag as SensorNode; + if (node != null && node.Sensor != null && + node.Sensor.Parameters.Length > 0) { + ShowParameterForm(node.Sensor); + } + } } }