123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Windows.Forms;
- using Uestc.Auto6.Dso.ComModel;
- using Uestc.Auto6.Dso.Core;
- using Uestc.Auto6.Dso.Core.Tools;
- using Uni_Trend.MSO7000X.Common.Default;
- using Uni_Trend.MSO7000X.Common.Helper;
- using Uni_Trend.MSO7000X.UserControls.Style;
- namespace Uestc.Auto6.Dso.U2.AWG
- {
- public partial class AWGPage : UserControl, IWfmGenView, IStylize
- {
- private Boolean _ArgToCtrl;
- public AWGPage()
- {
- InitializeComponent();
- Init();
- }
- private void Init()
- {
- NebFreqControlInit();
- NebAmpControlInit();
- Neb1LevelControlInit();
- Neb0LevelControlInit();
- NebPeriodControlInit();
- NebOffsetControlInit();
- NebDutyControlInit();
- NebAmpDepthControlInit();
- NebModFreqControlInit();
- NebFreqBiasControlInit();
- NebPhaseBiasControlInit();
- NebSweepStartFreqControlInit();
- NebSweepEndFreqControlInit();
- NebSweepDurationControlInit();
- NebNoiseControlInit();
- NebPhaseControlInit();
- }
- [Browsable(false)]
- public StyleFlag StyleFlags { get; set; } = StyleFlag.None;
- [Description("是否风格化"), Browsable(true), DefaultValue(typeof(Boolean)), Category(Const.Category)]
- public Boolean StylizeFlag { get; set; } = true;
- public ArbWfmGenPrsnt Presenter
- {
- get => (ArbWfmGenPrsnt)(ParentForm as IWfmGenView).Presenter;
- set => (ParentForm as IWfmGenView).Presenter = value;
- }
- IBadge IView<IBadge>.Presenter
- {
- get => Presenter;
- set => Presenter = (ArbWfmGenPrsnt)value;
- }
- public void UpdateView(Object prsnt, String propertyName)
- {
- if (String.IsNullOrEmpty(propertyName))
- {
- UpdateView();
- return;
- }
- _ArgToCtrl = true;
- switch (propertyName)
- {
- case nameof(Presenter.Mode):
- RdoMode.ChoosedButtonIndex = Presenter.Active ? (Int32)Presenter.Mode + 1 : 0;
- ChangeCtrlState();
- break;
- case nameof(Presenter.WfmType):
- ChangeCtrlState();
- CbxSignal.SelectedValue = Presenter.WfmType;
- NebFreq.UpdateValueString();
- NebPeriod.UpdateValueString();
- NebAmp.UpdateValueString();
- NebOffset.UpdateValueString();
- Neb0Level.UpdateValueString();
- Neb1Level.UpdateValueString();
- NebDuty.UpdateValueString();
- break;
- case nameof(Presenter.Frequency):
- NebFreq.UpdateValueString();
- NebPeriod.UpdateValueString();
- break;
- case nameof(Presenter.Amplitude):
- case nameof(Presenter.Offset):
- case nameof(Presenter.LowLevel):
- case nameof(Presenter.HighLevel):
- NebAmp.UpdateValueString();
- NebOffset.UpdateValueString();
- Neb0Level.UpdateValueString();
- Neb1Level.UpdateValueString();
- break;
- case nameof(Presenter.Duty):
- NebDuty.UpdateValueString();
- break;
- case nameof(Presenter.ModMethod):
- CbxModMethod.SelectedIndex = (Int32)Presenter.ModMethod;
- ChangeCtrlState();
- break;
- case nameof(Presenter.ModulatedWfm):
- CbxModulatedSignal.SelectedValue = Presenter.ModulatedWfm;
- ChangeCtrlState();
- NebModFreq.UpdateValueString();
- break;
- case nameof(Presenter.RampType):
- RdoModRamp.ChoosedButtonIndex = (Int32)Presenter.RampType;
- break;
- case nameof(Presenter.ModFreq):
- NebModFreq.UpdateValueString();
- break;
- case nameof(Presenter.AmpDepth):
- NebAmpDepth.UpdateValueString();
- break;
- case nameof(Presenter.FreqBias):
- NebFreqBias.UpdateValueString();
- break;
- case nameof(Presenter.PhaseBias):
- NebPhaseBias.UpdateValueString();
- break;
- case nameof(Presenter.SweepStartFreq):
- NebSweepStartFreq.UpdateValueString();
- break;
- case nameof(Presenter.SweepEndFreq):
- NebSweepEndFreq.UpdateValueString();
- break;
- case nameof(Presenter.SweepDuration):
- NebSweepDuration.UpdateValueString();
- break;
- case nameof(Presenter.SweepType):
- CbxSweepType.SelectedIndex = (Int32)Presenter.SweepType;
- break;
- case nameof(Presenter.Phase):
- NebPhase.UpdateValueString();
- break;
- case nameof(Presenter.Noise):
- NebNoise.UpdateValueString();
- break;
- case nameof(Presenter.Impedance):
- RdoImpedance.ChoosedButtonIndex = (Int32)Presenter.Impedance;
- NebAmp.UpdateValueString();
- NebOffset.UpdateValueString();
- Neb0Level.UpdateValueString();
- Neb1Level.UpdateValueString();
- break;
- case nameof(Presenter.Opposition):
- ChkOpposition.Checked = Presenter.Opposition;
- break;
- }
- _ArgToCtrl = false;
- }
- private void UpdateView()
- {
- if (!DesignMode)
- {
- _ArgToCtrl = true;
- ChangeCtrlState();
- RdoMode.ChoosedButtonIndex = Presenter.Active ? (Int32)Presenter.Mode + 1 : 0;
- CbxSignal.SelectedValue = Presenter.WfmType;
- NebFreq.UpdateValueString();
- NebPeriod.UpdateValueString();
- NebAmp.UpdateValueString();
- NebOffset.UpdateValueString();
- Neb0Level.UpdateValueString();
- Neb1Level.UpdateValueString();
- NebDuty.UpdateValueString();
- CbxModMethod.SelectedIndex = (Int32)Presenter.ModMethod;
- CbxModulatedSignal.SelectedValue = Presenter.ModulatedWfm;
- RdoModRamp.ChoosedButtonIndex = (Int32)Presenter.RampType;
- NebModFreq.UpdateValueString();
- NebFreqBias.UpdateValueString();
- NebAmpDepth.UpdateValueString();
- NebPhaseBias.UpdateValueString();
- CbxSweepType.SelectedIndex = (Int32)Presenter.WfmType;
- NebSweepStartFreq.UpdateValueString();
- NebSweepEndFreq.UpdateValueString();
- NebSweepDuration.UpdateValueString();
- ChkOpposition.Checked = Presenter.Opposition;
- RdoImpedance.ChoosedButtonIndex = (Int32)Presenter.Impedance;
- NebNoise.UpdateValueString();
- NebPhase.UpdateValueString();
- _ArgToCtrl = false;
- }
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- LoadModMethodList();
- LoadModulatedSignalList();
- UpdateView();
- }
- private void LoadSignalList(IEnumerable<ArbWfmType> types)
- {
- CbxSignal.DataSource = types.Select(x => new KeyValuePair<String, ArbWfmType>(EnumEx.GetDescription(x), x)).ToList();
- CbxSignal.DisplayMember = "Key";
- CbxSignal.ValueMember = "Value";
- CbxSignal.SelectedValueChanged += (_, _) =>
- {
- if (!_ArgToCtrl)
- {
- Presenter.WfmType = (ArbWfmType)CbxSignal.SelectedValue;
- }
- };
- }
- private void ChangeCtrlState()
- {
- BtnArbitrary.Visible = LblArbitrary.Visible = Presenter.WfmType == ArbWfmType.Arbitrary;
- LblDuty.Visible = NebDuty.Visible = Presenter.WfmType == ArbWfmType.Pulse || Presenter.WfmType == ArbWfmType.Ramp;
- BtnModArb.Visible = LblModArb.Visible = Presenter.ModulatedWfm == ArbWfmType.Arbitrary;
- LblModRamp.Visible = RdoModRamp.Visible = Presenter.ModulatedWfm == ArbWfmType.Ramp;
- LblPhase.Visible = NebPhase.Visible = Presenter.WfmType != ArbWfmType.Noise || Presenter.WfmType == ArbWfmType.DC;
- LblNoise.Visible = NebNoise.Visible = Presenter.WfmType != ArbWfmType.Noise;
- LblAmplitude.Visible = NebAmp.Visible
- = Lbl1Level.Visible = Neb1Level.Visible = Lbl0Level.Visible = Neb0Level.Visible = Presenter.WfmType != ArbWfmType.DC;
- switch (Presenter.Mode)
- {
- case WfmGenMode.Continuous:
- LoadSignalList(Enum.GetValues<ArbWfmType>());
- break;
- case WfmGenMode.Modulation:
- LoadSignalList(Presenter.CarrierSignalList);
- break;
- case WfmGenMode.Sweep:
- LoadSignalList(Presenter.SweepSignalList);
- break;
- }
- switch (Presenter.Mode)
- {
- case WfmGenMode.Modulation:
- PnlModOption.Visible = true;
- PnlSweepOption.Visible = false;
- TlpAwg.RowStyles[1].Height = 100;
- TlpAwg.RowStyles[2].Height = 0;
- break;
- case WfmGenMode.Sweep:
- PnlModOption.Visible = false;
- PnlSweepOption.Visible = true;
- TlpAwg.RowStyles[2].Height = 100;
- TlpAwg.RowStyles[1].Height = 0;
- break;
- default:
- PnlModOption.Visible = false;
- PnlSweepOption.Visible = false;
- break;
- }
- switch (Presenter.ModMethod)
- {
- case WfmModMethod.FSK:
- LblModFreq.Text = (LblModFreq.Tag as String).Split('#')[1];
- break;
- case WfmModMethod.FM:
- LblModFreq.Text = (LblModFreq.Tag as String).Split('#')[0];
- LblModParameter.Text = (LblModParameter.Tag as String).Split('#')[0];
- NebFreqBias.Visible = true;
- NebAmpDepth.Visible = false;
- NebPhaseBias.Visible = false;
- NebFreqBias.UpdateValueString();
- break;
- case WfmModMethod.AM:
- LblModFreq.Text = (LblModFreq.Tag as String).Split('#')[0];
- LblModParameter.Text = (LblModParameter.Tag as String).Split('#')[1];
- NebFreqBias.Visible = false;
- NebAmpDepth.Visible = true;
- NebPhaseBias.Visible = false;
- NebAmpDepth.UpdateValueString();
- break;
- case WfmModMethod.PM:
- LblModFreq.Text = (LblModFreq.Tag as String).Split('#')[0];
- LblModParameter.Text = (LblModParameter.Tag as String).Split('#')[2];
- NebFreqBias.Visible = false;
- NebAmpDepth.Visible = false;
- NebPhaseBias.Visible = true;
- NebPhaseBias.UpdateValueString();
- break;
- }
- }
- private void LoadModMethodList()
- {
- CbxModMethod.DataSource = Enum.GetValues<WfmModMethod>().Select(w => new KeyValuePair<String, WfmModMethod>(w.ToString(), w)).ToList();
- CbxModMethod.DisplayMember = "Key";
- CbxModMethod.ValueMember = "Value";
- CbxModMethod.SelectedIndexChanged += (_, _) =>
- {
- if (!_ArgToCtrl)
- {
- Presenter.ModMethod = (WfmModMethod)CbxModMethod.SelectedIndex;
- }
- };
- }
- private void LoadModulatedSignalList()
- {
- CbxModulatedSignal.DataSource = Presenter.ModulatedSignalList.Select(w => new KeyValuePair<String, ArbWfmType>(w.GetAlias(), w)).ToList();
- CbxModulatedSignal.DisplayMember = "Key";
- CbxModulatedSignal.ValueMember = "Value";
- CbxModulatedSignal.SelectedValueChanged += (_, _) =>
- {
- if (!_ArgToCtrl)
- {
- Presenter.ModulatedWfm = (ArbWfmType)CbxModulatedSignal.SelectedValue;
- }
- };
- }
- public void NebAmpDepthControlInit()
- {
- NebAmpDepth.AddClicked = (_, e) => Presenter.AdjAmpDepth(e.Step);
- NebAmpDepth.SubClicked = (_, e) => Presenter.AdjAmpDepth(e.Step);
- NebAmpDepth.StringFormatFunc = (_) => AmpDepthToString();
- NebAmpDepth.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- {
- Presenter.AmpDepth = (Int32)Math.Round(data);
- });
- nkf.SetKeyBoardValue(LblModParameter.Text, "%", 12, onokclickeventaction,
- Presenter.AmpDepth, Presenter.MaxAmpDepth, Presenter.MinAmpDepth);
- nkf.ShowDialogByPosition();
- };
- }
- public void NebPhaseBiasControlInit()
- {
- NebPhaseBias.AddClicked = (_, e) => Presenter.AdjPhaseBias(e.Step);
- NebPhaseBias.SubClicked = (_, e) => Presenter.AdjPhaseBias(e.Step);
- NebPhaseBias.StringFormatFunc = (_) => PhaseBiasToString();
- NebPhaseBias.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.PhaseBias = (Int32)Math.Round(data * 100));
- nkf.SetKeyBoardValue(LblModParameter.Text, "°", 12, onokclickeventaction,
- Presenter.Phase / 100.0, Presenter.MaxPhase / 100.0, Presenter.MinPhase / 100.0);
- nkf.ShowDialogByPosition();
- };
- }
- public void NebFreqBiasControlInit()
- {
- NebFreqBias.AddClicked = (_, e) => Presenter.AdjFreqBias(e.Step);
- NebFreqBias.SubClicked = (_, e) => Presenter.AdjFreqBias(e.Step);
- NebFreqBias.StringFormatFunc = (_) => FreqBiasToString();
- NebFreqBias.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.FreqBias = (Int64)Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro));
- nkf.SetKeyBoardValue(LblModParameter.Text, "Hz", 12, onokclickeventaction,
- Quantity.ConvertByPrefix(Presenter.FreqBias, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxFreqBias, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinFreqBias, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- public void NebModFreqControlInit()
- {
- NebModFreq.AddClicked = (_, e) => Presenter.AdjModFreq(e.Step);
- NebModFreq.SubClicked = (_, e) => Presenter.AdjModFreq(e.Step);
- NebModFreq.StringFormatFunc = (_) => ModFreqToString();
- NebModFreq.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.ModFreq = (Int64)Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro));
- nkf.SetKeyBoardValue(LblModFreq.Text, "Hz", 12, onokclickeventaction,
- Quantity.ConvertByPrefix(Presenter.ModFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxModFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinModFreq, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebNoiseControlInit()
- {
- NebNoise.AddClicked = (_, e) => Presenter.AdjNoise(e.Step);
- NebNoise.SubClicked = (_, e) => Presenter.AdjNoise(e.Step);
- NebNoise.StringFormatFunc = (_) => NoiseToString();
- NebNoise.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- nkf.NumberKeyboard.UseSI = false;
-
- var onokclick = new Action<Double>((data) =>
- Presenter.Noise = Convert.ToInt32(data * 100.0));
-
- nkf.SetKeyBoardValue(LblNoise.Text, "%", 12, onokclick,
- Presenter.Noise / 100.0, Presenter.MaxNoise / 100.0, Presenter.MinNoise / 100.0);
- nkf.ShowDialogByPosition();
- };
- }
- private void NebPhaseControlInit()
- {
- NebPhase.AddClicked = (_, e) => Presenter.AdjPhase(e.Step);
- NebPhase.SubClicked = (_, e) => Presenter.AdjPhase(e.Step);
- NebPhase.StringFormatFunc = (_) => PhaseToString();
- NebPhase.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Phase = Convert.ToInt32(data * 100.0));
-
- nkf.SetKeyBoardValue(LblPhase.Text, "°", 12, onokclick,
- (Presenter.Opposition ? (Presenter.Phase + Presenter.HalfPhase) % 36000 : Presenter.Phase) / 100.0,
- Presenter.MaxPhase / 100.0,
- Presenter.MinPhase / 100.0);
- nkf.ShowDialogByPosition();
- };
- }
- private void NebFreqControlInit()
- {
- NebFreq.AddClicked = (_, e) => Presenter.AdjFrequency(e.Step);
- NebFreq.SubClicked = (_, e) => Presenter.AdjFrequency(e.Step);
- NebFreq.StringFormatFunc = (_) => FreqToString();
- NebFreq.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Frequency = Convert.ToInt64(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro)));
- nkf.SetKeyBoardValue(LblFreq.Text, "Hz", 12, onokclick,
- Quantity.ConvertByPrefix(Presenter.Frequency, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxFrequency, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinFrequency, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebPeriodControlInit()
- {
- NebPeriod.AddClicked = (_, e) => Presenter.AdjPeriod(e.Step);
- NebPeriod.SubClicked = (_, e) => Presenter.AdjPeriod(e.Step);
- NebPeriod.StringFormatFunc = (_) => PeriodToString();
- NebPeriod.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Frequency = (Int64)Math.Round(Quantity.ConvertByPrefix(Math.Round(1000 / data), Prefix.Empty, Prefix.Milli)));
- nkf.SetKeyBoardValue(LblPeriod.Text, "s", 12, onokclick,
- Quantity.ConvertByPrefix(1.0 / Presenter.Frequency, Prefix.Mega),
- Quantity.ConvertByPrefix(1.0 / Presenter.MinFrequency, Prefix.Mega),
- Quantity.ConvertByPrefix(1.0 / Presenter.MaxFrequency, Prefix.Mega));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebDutyControlInit()
- {
- NebDuty.AddClicked = (_, e) => Presenter.AdjDuty(e.Step);
- NebDuty.SubClicked = (_, e) => Presenter.AdjDuty(e.Step);
- NebDuty.StringFormatFunc = (_) => DutyToString();
- NebDuty.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Duty = Convert.ToInt32(data * 100.0));
- nkf.SetKeyBoardValue(LblDuty.Text, "%", 12, onokclick,
- Presenter.Duty / 100.0, Presenter.MaxDuty / 100.0, Presenter.MinDuty / 100.0);
- nkf.ShowDialogByPosition();
- };
- }
- private void NebAmpControlInit()
- {
- NebAmp.AddClicked = (_, e) => Presenter.AdjAmplitude(e.Step);
- NebAmp.SubClicked = (_, e) => Presenter.AdjAmplitude(e.Step);
- NebAmp.StringFormatFunc = (_) => AmpToString();
- NebAmp.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Amplitude = Convert.ToInt32(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Milli)));
- nkf.SetKeyBoardValue(LblAmplitude.Text, "V", 12, onokclick,
- Quantity.ConvertByPrefix(Presenter.Amplitude, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MaxAmplitude, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MinAmplitude, Prefix.Milli, Prefix.Empty));
- nkf.ShowDialogByPosition();
- };
- }
- private void Neb1LevelControlInit()
- {
- Neb1Level.AddClicked = (_, e) => Presenter.AdjHighLevel(e.Step);
- Neb1Level.SubClicked = (_, e) => Presenter.AdjHighLevel(e.Step);
- Neb1Level.StringFormatFunc = (_) => HighLevelToString();
- Neb1Level.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.HighLevel = Convert.ToInt32(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Milli)));
- nkf.SetKeyBoardValue(Lbl1Level.Text, "V", 12, onokclick,
- Quantity.ConvertByPrefix(Presenter.HighLevel, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MaxOffset, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MinOffset, Prefix.Milli, Prefix.Empty));
- nkf.ShowDialogByPosition();
- };
- }
- private void Neb0LevelControlInit()
- {
- Neb0Level.AddClicked = (_, e) => Presenter.AdjLowLevel(e.Step);
- Neb0Level.SubClicked = (_, e) => Presenter.AdjLowLevel(e.Step);
- Neb0Level.StringFormatFunc = (_) => LowLevelToString();
- Neb0Level.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.LowLevel = Convert.ToInt32(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Milli)));
- nkf.SetKeyBoardValue(Lbl0Level.Text, "V", 12, onokclick,
- Quantity.ConvertByPrefix(Presenter.LowLevel, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MaxOffset, Prefix.Milli, Prefix.Empty),
- Quantity.ConvertByPrefix(Presenter.MinOffset, Prefix.Milli, Prefix.Empty));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebOffsetControlInit()
- {
- NebOffset.AddClicked = (_, e) => Presenter.AdjOffset(e.Step);
- NebOffset.SubClicked = (_, e) => Presenter.AdjOffset(e.Step);
- NebOffset.StringFormatFunc = (_) => OffsetToString();
- NebOffset.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclick = new Action<Double>((data) =>
- Presenter.Offset = (Int32)Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Milli));
- nkf.SetKeyBoardValue(LblOffset.Text, "V", 12, onokclick
- , Quantity.ConvertByPrefix(Presenter.Offset, Prefix.Milli, Prefix.Empty)
- , Quantity.ConvertByPrefix(Presenter.MaxOffset, Prefix.Milli, Prefix.Empty)
- , Quantity.ConvertByPrefix(Presenter.MinOffset, Prefix.Milli, Prefix.Empty));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebSweepStartFreqControlInit()
- {
- NebSweepStartFreq.AddClicked = (_, e) => Presenter.AdjSweepStartFreq(e.Step);
- NebSweepStartFreq.SubClicked = (_, e) => Presenter.AdjSweepStartFreq(e.Step);
- NebSweepStartFreq.StringFormatFunc = (_) => SweepStartFreqToString();
- NebSweepStartFreq.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.SweepStartFreq = Convert.ToInt64(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro)));
- nkf.SetKeyBoardValue(LblSweepStartFreq.Text, "Hz", 12, onokclickeventaction,
- Quantity.ConvertByPrefix(Presenter.SweepStartFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxSweepFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinSweepFreq, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebSweepEndFreqControlInit()
- {
- NebSweepEndFreq.AddClicked = (_, e) => Presenter.AdjSweepEndFreq(e.Step);
- NebSweepEndFreq.SubClicked = (_, e) => Presenter.AdjSweepEndFreq(e.Step);
- NebSweepEndFreq.StringFormatFunc = (_) => SweepEndFreqToString();
- NebSweepEndFreq.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.SweepEndFreq = Convert.ToInt64(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro)));
- nkf.SetKeyBoardValue(LblSweepEndFreq.Text, "Hz", 12, onokclickeventaction,
- Quantity.ConvertByPrefix(Presenter.SweepEndFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxSweepFreq, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinSweepFreq, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- private void NebSweepDurationControlInit()
- {
- NebSweepDuration.AddClicked = (_, e) => Presenter.AdjSweepDuration(e.Step);
- NebSweepDuration.SubClicked = (_, e) => Presenter.AdjSweepDuration(e.Step);
- NebSweepDuration.StringFormatFunc = (_) => SweepDurationToString();
- NebSweepDuration.EditValueChicked = (_, _) =>
- {
- var nkf = new NumberKeybordForm().UniformInitKeyBoard(this);
- //nkf.NumberKeyboard.UseSI = false;
- var onokclickeventaction = new Action<Double>((data) =>
- Presenter.SweepDuration = Convert.ToInt64(Quantity.ConvertByPrefix(data, Prefix.Empty, Prefix.Micro)));
- nkf.SetKeyBoardValue(LblSweepDuration.Text, "s", 12, onokclickeventaction,
- Quantity.ConvertByPrefix(Presenter.SweepDuration, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MaxSweepDuration, Prefix.Micro),
- Quantity.ConvertByPrefix(Presenter.MinSweepDuration, Prefix.Micro));
- nkf.ShowDialogByPosition();
- };
- }
- private String FreqToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.Frequency / 1000_000f, 3, "Hz");
- //return new Quantity(Presenter.Frequency, Prefix.Micro, QuantityUnit.Hertz).ToString("##0.########", true, 11);
- return new Quantity(Presenter.Frequency, Prefix.Micro, QuantityUnit.Hertz).ToString(8, -1, true);
- }
- private String PeriodToString()
- {
- //return SIHelper.ValueChangeToSI(1E15 / Presenter.Frequency / 1000_000_000f, 3, "s");
- //return new Quantity(1.0 / Presenter.Frequency, Prefix.Mega, QuantityUnit.Second).ToString("##0.########", true, 11);
- return new Quantity(1.0 / Presenter.Frequency, Prefix.Mega, QuantityUnit.Second).ToString(8, -1, true);
- }
- private String AmpToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.Amplitude / 1000f, 3, "V");
- return new Quantity(Presenter.Amplitude, Prefix.Milli, QuantityUnit.Voltage).ToString("##0.###", true, 7);
- }
- private String OffsetToString()
- {
- //return Presenter.Offset == 0 ? "0.00V" : SIHelper.ValueChangeToSI(Presenter.Offset / 1000f, 3, "V");
- return new Quantity(Presenter.Offset, Prefix.Milli, QuantityUnit.Voltage).ToString("##0.###", true, 7);
- }
- private String HighLevelToString()
- {
- //return Presenter.HighLevel == 0 ? "0.00V" : SIHelper.ValueChangeToSI(Presenter.HighLevel / 1000f, 3, "V");
- return new Quantity(Presenter.HighLevel, Prefix.Milli, QuantityUnit.Voltage).ToString("##0.###", true, 7);
- }
- private String LowLevelToString()
- {
- //return Presenter.LowLevel == 0 ? "0.00V" : SIHelper.ValueChangeToSI(Presenter.LowLevel / 1000f, 3, "V");
- return new Quantity(Presenter.LowLevel, Prefix.Milli, QuantityUnit.Voltage).ToString("##0.###", true, 7);
- }
- private String DutyToString()
- {
- return (Presenter.Duty / 100.0).ToString(@"#0.00\%");
- }
- private String PhaseToString()
- {
- //return $"{(Presenter.Opposition ? (Presenter.Phase + Presenter.HalfPhase) % 36000 : Presenter.Phase) / 100f:F2}°";
- return (Presenter.Phase / 100.0).ToString("##0.00°");
- }
- private String NoiseToString()
- {
- return (Presenter.Noise / 100.0).ToString(@"##0.00\%");
- }
- private String ModFreqToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.ModFreq / 1000_000f, 3, "Hz");
- return new Quantity(Presenter.ModFreq, Prefix.Micro, "Hz").ToString("###,###,##0.#", true, 11);
- }
- private String FreqBiasToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.FreqBias / 1000_000f, 3, "Hz");
- return new Quantity(Presenter.FreqBias, Prefix.Micro, "Hz").ToString("###,###,##0.#", true, 11);
- }
- private String PhaseBiasToString()
- {
- //return $"{Presenter.PhaseBias / 1000_000f:F2}°";
- return (Presenter.PhaseBias / 100.0).ToString("##0.00°");
- }
- private String AmpDepthToString()
- {
- //return $"{Presenter.AmpDepth:F2}%";
- return Presenter.AmpDepth.ToString(@"#0\%");
- }
- private String SweepStartFreqToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.SweepStartFreq / 1000_000f, 0, "Hz");
- return new Quantity(Presenter.Frequency, Prefix.Micro, QuantityUnit.Hertz).ToString("###,###,##0.#", true, 11);
- }
- private String SweepDurationToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.SweepDuration / 1000_000f, 0, "s");
- return new Quantity(Presenter.SweepDuration, Prefix.Micro, QuantityUnit.Second).ToString("###,###,##0.###", true, 13);
- }
- private String SweepEndFreqToString()
- {
- //return SIHelper.ValueChangeToSI(Presenter.SweepEndFreq / 1000_000f, 0, "Hz");
- return new Quantity(Presenter.SweepEndFreq, Prefix.Micro, QuantityUnit.Hertz).ToString("###,###,##0.#", true, 11);
- }
- private void RdoMode_IndexChanged(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- if (RdoMode.ChoosedButtonIndex == 0)
- {
- Presenter.Active = false;
- }
- else
- {
- Presenter.Mode = (WfmGenMode)RdoMode.ChoosedButtonIndex - 1;
- Presenter.Active = true;
- }
- }
- }
- private void RdoImpedance_IndexChanged(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- Presenter.Impedance = (WfmGenImpedance)RdoImpedance.ChoosedButtonIndex;
- }
- }
- private void ChkOpposition_CheckedChangedEvent_1(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- Presenter.Opposition = ChkOpposition.Checked;
- }
- }
- private void CbxSweepType_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- Presenter.SweepType = (SweepType)CbxSweepType.SelectedIndex;
- }
- }
- private void RdoModRamp_IndexChanged(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- Presenter.RampType = (WfmRampType)RdoModRamp.ChoosedButtonIndex;
- }
- }
- private void BtnArbitrary_Click(object sender, EventArgs e)
- {
- FileBrowserForm rdform = FileBrowserForm.Instance;
- rdform.SetFileFilter(Enum.GetValues<WfmFormat>().Where(x => x == WfmFormat.Binary));
- rdform.SetPath(Constants.WFM_DEF_PATH);
- if (rdform.ShowDialogByEvent() == DialogResult.Yes)
- {
- Presenter.FilePath = rdform.FullFileName;
- }
- }
- //private void NebNumFocused(TouchNeb touchNeb, Boolean focused = true)
- //{
- // //todo
- // return;
- // if (InvokeRequired)
- // {
- // BeginInvoke(() => NebNumFocused(touchNeb, focused));
- // }
- // else
- // {
- // var BorderFocusedColor = Color.FromArgb(145, 145, 145);
- // var ForeFocusedColor = Color.FromArgb(200, 200, 200);
- // var ForeColor = Color.FromArgb(185, 192, 199);
- // var BorderColor = Color.FromArgb(53, 54, 58);
- // touchNeb.BorderColor = focused ? BorderFocusedColor : BorderColor;
- // touchNeb.BorderThickness = focused ? 1 : 0;
- // touchNeb.ForeColor = focused ? ForeFocusedColor : ForeColor;
- // touchNeb.FocusBoederColor = focused ? BorderFocusedColor : BorderColor;
- // if (focused)
- // {
- // _FocusedNebNumObj = touchNeb;
- // }
- // }
- //}
- }
- }
|