123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Uestc.Auto6.Dso.Core;
- using Uestc.Auto6.Dso.Core.Tools;
- namespace Uestc.Auto6.Dso.U2
- {
- public partial class ReferencePage : UserControl, IChnlView
- {
- private Boolean _ArgToCtrl;
- public ReferencePage()
- {
- InitializeComponent();
- Init();
- }
- protected new Boolean DesignMode
- {
- get
- {
- Boolean rtnflag = false;
- #if DEBUG
- rtnflag = DesignTimeHelper.InDesignMode(this);
- #endif
- return rtnflag;
- }
- }
- public ReferencePrsnt Presenter
- {
- get => (ReferencePrsnt)(ParentForm as IChnlView).Presenter;
- set => (ParentForm as IChnlView).Presenter = value;
- }
- IBadge IView<IBadge>.Presenter
- {
- get => Presenter;
- set => Presenter = (ReferencePrsnt)value;
- }
- private void Init()
- {
- //NebVScale
- NebVScale.AddClicked += (_, _) => Presenter.ScaleIndex++;
- NebVScale.SubClicked += (_, _) => Presenter.ScaleIndex--;
- NebVScale.StringFormatFunc = (value) => VScaleToString();
- //NebVPos
- NebVPos.AddClicked += (_, _) => Presenter.PosIndexBymDiv++;
- NebVPos.SubClicked += (_, _) => Presenter.PosIndexBymDiv--;
- NebVPos.StringFormatFunc = (value) => VPosToString();
- //NebHScale
- NebHScale.AddClicked += (_, _) => Presenter.Sampling.ScaleIndex++;
- NebHScale.SubClicked += (_, _) => Presenter.Sampling.ScaleIndex--;
- NebHScale.StringFormatFunc = (value) => HScaleToString();
- //NebHPos
- NebHPos.AddClicked += (_, _) => Presenter.Sampling.PosIndexBymDiv++;
- NebHPos.SubClicked += (_, _) => Presenter.Sampling.PosIndexBymDiv--;
- NebHPos.StringFormatFunc = (value) => HPosToString();
- }
- public void UpdateView(String propertyName)
- {
- if (String.IsNullOrEmpty(propertyName))
- {
- UpdateView();
- return;
- }
- _ArgToCtrl = true;
- switch (propertyName)
- {
- case nameof(Presenter.Active):
- ChkActive.Checked = Presenter.Active;
- break;
- case "ConditioningScale":
- case "ConditioningScaleUnit":
- NebVScale.UpdateValueString();
- TbxUnit.Text = Presenter.Unit;
- return;
- case "ConditioningPosition":
- NebVPos.UpdateValueString();
- return;
- case "SamplingScale":
- NebHScale.UpdateValueString();
- return;
- case "SamplingPosition":
- NebHPos.UpdateValueString();
- return;
- case nameof(Presenter.Label):
- TbxLabel.Text = Presenter.Label;
- break;
- }
- _ArgToCtrl = false;
- }
- protected void UpdateView()
- {
- if (!DesignMode)
- {
- _ArgToCtrl = true;
- //ChkActive.Checked = Presenter.Active;
- NebVScale.UpdateValueString();
- NebVPos.UpdateValueString();
- NebHScale.UpdateValueString();
- NebHPos.UpdateValueString();
- TbxLabel.Text = Presenter.Label;
- TbxUnit.Text = Presenter.Unit;
- BtnFullFileName.Text = Presenter.FullFileName;
- _ArgToCtrl = false;
- }
- }
- private String VScaleToString()
- {
- return new Quantity(Presenter.Scale, Presenter.Prefix, Presenter.Unit).ToString();
- }
- private String VPosToString()
- {
- return new Quantity(Presenter.PosIndexBymDiv, Prefix.Milli, "div").ToString("#0.###", true);
- }
- private String HScaleToString()
- {
- return new Quantity(Presenter.Sampling.Scale, Presenter.Sampling.Prefix, Presenter.Sampling.Unit)
- .ToString();
- }
- private String HPosToString()
- {
- return new Quantity(Presenter.Sampling.PositionByus, Presenter.Sampling.Prefix, Presenter.Sampling.Unit)
- .ToString(5, true);
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- Uni_Trend.MSO7000X.UserControls.Style.StyleManager.Instance.RegisterControlRecursion(this);
- UpdateView();
- }
- public override void Refresh()
- {
- UpdateView();
- base.Refresh();
- }
- private void TbxLabel_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (OnEnterKeyPressed(sender, e))
- Presenter.Label = TbxLabel.Text;
- }
- private void TbxLabel_Leave(object sender, EventArgs e)
- {
- Presenter.Label = TbxLabel.Text;
- }
- private static Boolean OnEnterKeyPressed(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (Char)Keys.Enter)
- return true;
- return false;
- }
- private void TbxUnit_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (OnEnterKeyPressed(sender, e))
- Presenter.Unit = TbxUnit.Text;
- }
- private void TbxUnit_Leave(object sender, EventArgs e)
- {
- Presenter.Unit = TbxUnit.Text;
- }
- private void ChkActive_CheckedChangedEvent(object sender, EventArgs e)
- {
- if (!_ArgToCtrl)
- {
- Presenter.Active = false;
- if (DsoPrsnt.FocusId == Presenter.Id)
- Program.Oscilloscope.MoveFocusId();
- (Program.Oscilloscope.View as DsoForm).RemoveBadge(Presenter);
- }
- }
- private void BtnFullFileName_Click(object sender, EventArgs e)
- {
- FileReadForm rdform = new()
- {
- StartPosition = FormStartPosition.CenterScreen,
- };
- rdform.CanClose = false;
- rdform.IsShowPin = false;
- rdform.SetFileFilter(Enum.GetValues<WfmFormat>().Where(x => x == WfmFormat.Binary));
- rdform.SetPath(System.IO.Path.GetDirectoryName(Presenter.FullFileName));
- if (rdform.ShowDialogByEvent() == DialogResult.Yes)
- {
- ReferencePrsnt rprsnt = Presenter;
- if (ReferencePrsnt.TryRead(Presenter.Id, rdform.FullFileName, ref rprsnt))
- {
- BtnFullFileName.Text = Presenter.FullFileName;
- return;
- }
- WeakTip.Default.Write("Ref", MsgTipId.InvalidData);
- }
-
- }
- }
- }
|