123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- 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.Decode;
- using Uni_Trend.MSO7000X.Common.Helper;
- namespace Uestc.Auto6.Dso.Protocol.Ethernet
- {
- public partial class EthernetTriggerSetPage : UserControl,ITriggerSerialView
- {
- #region 属性定义
- protected new Boolean DesignMode
- {
- get
- {
- Boolean rtnflag = false;
- #if DEBUG
- rtnflag = DesignTimeHelper.InDesignMode(this);
- #endif
- return rtnflag;
- }
- }
- public EthernetTrigSerialPrsnt Presenter
- {
- get => (EthernetTrigSerialPrsnt)(ParentForm as ITriggerView).Presenter;
- set => (ParentForm as ITriggerView).Presenter = value;
- }
- ITriggerPrsnt IView<ITriggerPrsnt>.Presenter
- {
- get => Presenter;
- set => Presenter = (EthernetTrigSerialPrsnt)value;
- }
- #endregion 属性定义
- #region 字段定义
- private TrigDataPage _DataPage;
- private TrigMACPage _MacPage;
- private EthernetSetPage _SetPage;
- #endregion 字段定义
- public EthernetTriggerSetPage()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- _DataPage = new TrigDataPage();
- _DataPage.Visible = false;
- _DataPage.Presenter = Presenter;
- _DataPage.Presenter.TryAddView(_DataPage);
- _DataPage.Top = 0;
- _DataPage.Left = 0;
- this.TlpPanel.Controls.Add(_DataPage,0,1);
- _MacPage = new TrigMACPage();
- _MacPage.Visible = false;
- _MacPage.Presenter = Presenter;
- _MacPage.Presenter.TryAddView(_MacPage);
- _MacPage.Top = 0;
- _MacPage.Left = 0;
- this.TlpPanel.Controls.Add(_MacPage, 0, 2);
- _SetPage = new EthernetSetPage();
- _SetPage.Presenter = ProtocolPrsnt.GetTrigSerialDecodePrsnt(ComModel.SerialProtocolType.Ethernet, _SetPage);
- _SetPage.Presenter.TryAddView(_SetPage);
- _SetPage.Top = 0;
- _SetPage.Left = 0;
- this.TlpPanel.Controls.Add(_SetPage, 0, 3);
- UpdateTriggerOn();
- }
- public void UpdateView(Object presenter, String propertyName)
- {
- if(String.IsNullOrEmpty(propertyName))
- {
- UpdateTriggerOn();
- return;
- }
- switch (propertyName)
- {
- case nameof(FlexRayTrigSerialPrsnt.Condition):
- UpdateTriggerOn();
- break;
- }
- }
- private void UpdateTriggerOn()
- {
- TlpPanel.Controls.Cast<Control>().ToList().ForEach(x => x.Visible = false);
- switch(Presenter.Condition)
- {
- case ComModel.ProtocolEthernet.Condition.MACAddress:
- _DataPage.Visible = false;
- _MacPage.Visible = true;
- break;
- case ComModel.ProtocolEthernet.Condition.FrameHead:
- default:
- _DataPage.Visible = false;
- _MacPage.Visible = false;
- break;
- case ComModel.ProtocolEthernet.Condition.ClientData:
- _DataPage.Visible = true;
- _MacPage.Visible = false;
- break;
- }
- this.Height = TlpPanel.PreferredSize.Height;
- }
- }
- }
|