Exemple #1
0
        private void SetViaWavelength(float wl)
        {
            if (AOFilter == null)
            {
                return;
            }

            if (wl >= AOFilter.WL_Min && wl <= AOFilter.WL_Max)
            {
                if (AOFilter.FilterType == FilterTypes.STC_Filter && AutoAtten.IsChecked == true)
                {
                    float attenuation = (float)sliderAttenuation.Value;

                    if (attenuation >= 1700 && attenuation <= 2500)
                    {
                        (AOFilter as STC_Filter).Set_Hz(AOFilter.Get_HZ_via_WL(wl), attenuation);
                    }

                    sliderAttenuation.ValueChanged -= SliderAttenuation_ValueChanged;
                    sliderAttenuation.Value         = attenuation;
                    textBoxAttenuation.Text         = attenuation.ToString("F2", CultureInfo.InvariantCulture);
                    sliderAttenuation.ValueChanged += SliderAttenuation_ValueChanged;
                }
                else
                {
                    AOFilter.Set_Wl(wl);
                }
            }

            UpdateSliders();
            UpdateSliderTextBoxes();
        }