/// <summary> /// Save current settings to the Analytics FizViz interface /// </summary> private void UpdateAnalyticsSettings() { ViewUtility.ResetControlBorders(ControlGrid); float?metricMinimum, metricMaximum, angleMinimum, angleMaximum; metricMinimum = ViewUtility.GetFloat(MinimumMetricTextBox); metricMaximum = ViewUtility.GetFloat(MaximumMetricTextBox); angleMinimum = ViewUtility.GetFloat(MinimumAngleTextBox); angleMaximum = ViewUtility.GetFloat(MaximumAngleTextBox); if (!metricMinimum.HasValue || !metricMaximum.HasValue || !angleMaximum.HasValue || !angleMinimum.HasValue) { return; } App.AnalyticsFizVizInterface.MetricMinimum = metricMinimum.Value; App.AnalyticsFizVizInterface.MetricMaximum = metricMaximum.Value; App.AnalyticsFizVizInterface.DisplayAngleMaximum = angleMaximum.Value; App.AnalyticsFizVizInterface.DisplayAngleMinimum = angleMinimum.Value; if (NeedlePositionMetricComboBox.SelectedValue != null) { App.AnalyticsFizVizInterface.Metric = (string)NeedlePositionMetricComboBox.SelectedValue; } }
private void BackgroundColorButton_Click(object sender, RoutedEventArgs e) { ViewUtility.ResetControlBorders(ControlGrid); BackgroundColor command = new BackgroundColor(); Color[] colors = new Color[FizVizCommand.NEOPIXEL_COUNT]; for (int i = 0; i < FizVizCommand.NEOPIXEL_COUNT; i++) { colors[i] = Color.FromArgb(0, 0, 0, 0); } switch ((BackgroundColorMode)ColorModeComboBox.SelectedValue) { case BackgroundColorMode.Solid: { if (!GetSolid(colors)) { return; } } break; case BackgroundColorMode.Blend: { if (!GetBlend(colors)) { return; } } break; case BackgroundColorMode.Segment: { if (!GetSegment(colors)) { return; } } break; } command.BackgroundColors = colors; App.FizViz.SendCommand(command); }
/**************************************************************** * UI Callbacks * ****************************************************************/ /// <summary> /// Generate and send the display mode to FizViz /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LightingModeButton_Click(object sender, RoutedEventArgs e) { ViewUtility.ResetControlBorders(ControlGrid); DisplayMode displayMode; switch ((DisplayMode.DisplayModeValue)LightingModeComboBox.SelectedValue) { case DisplayMode.DisplayModeValue.HotNeedle: { displayMode = GetHotNeedle(); } break; case DisplayMode.DisplayModeValue.BlockNeedle: { displayMode = GetBlockNeedle(); } break; case DisplayMode.DisplayModeValue.BackgroundRotate: { displayMode = GetBackgroundRotate(); } break; case DisplayMode.DisplayModeValue.MinMax: { displayMode = GetMinMax(); } break; default: return; } if (displayMode == null) { return; } App.FizViz.SendCommand(displayMode); }
/**************************************************************** * UI Callbacks * ****************************************************************/ /// <summary> /// Generate and send a manual needle position command to FizViz /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void NeedlePositionButton_Click(object sender, RoutedEventArgs e) { ViewUtility.ResetControlBorders(ControlGrid); ushort?position = ViewUtility.GetUShort(NeedlePositionTextBox); if (!position.HasValue) { return; } NeedlePosition positionCommand = new NeedlePosition { Position = position.Value, Direction = (NeedlePosition.NeedleDirectionValue)NeedleDirectionComboBox.SelectedValue }; App.FizViz.SendCommand(positionCommand); }
/**************************************************************** * UI Callbacks * ****************************************************************/ /// <summary> /// Generate and send a min max configuration message to FizViz /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MinMaxButton_Click(object sender, RoutedEventArgs e) { ViewUtility.ResetControlBorders(ControlGrid); ushort?reset = ViewUtility.GetUShort(ResetTextBox); if (!reset.HasValue) { return; } MinMaxCommand command = new MinMaxCommand { MinColor = (Color)MinColorComboBox.SelectedValue, MaxColor = (Color)MaxColorComboBox.SelectedValue, DisplayMin = DisplayMin.IsChecked.HasValue && DisplayMin.IsChecked.Value, DisplayMax = DisplayMax.IsChecked.HasValue && DisplayMax.IsChecked.Value, ResetDelay = reset.Value }; App.FizViz.SendCommand(command); }