/// <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);
        }
示例#3
0
        /****************************************************************
        *                       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);
        }
示例#5
0
        /****************************************************************
        *                       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);
        }