123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- 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 Uni_Trend.MSO7000X.Language;
- using Uni_Trend.MSO7000X.Common.Helper;
- using Uni_Trend.MSO7000X.UserControls;
- using Uestc.Auto6.Dso.ComModel;
- using Uestc.Auto6.Dso.Core.Decode;
- namespace Uestc.Auto6.Dso.Protocol.CAN
- {
- public partial class CANTriggerSetControl : UserControl, ITriggerSerialView
- {
- #region 属性定义
- protected new Boolean DesignMode
- {
- get
- {
- Boolean rtnflag = false;
- #if DEBUG
- rtnflag = DesignTimeHelper.InDesignMode(this);
- #endif
- return rtnflag;
- }
- }
- private Int32 _RowHeight = 56;
- private Int32 _ControlWidth = 120;
- public CANTrigSerialPrsnt Presenter
- {
- get => (CANTrigSerialPrsnt)(ParentForm as ITriggerView).Presenter;
- set => (ParentForm as ITriggerView).Presenter = value;
- }
- ITriggerPrsnt IView<ITriggerPrsnt>.Presenter
- {
- get => Presenter;
- set => Presenter = (CANTrigSerialPrsnt)value;
- }
- private IProtocolView _DecodeView = new CANSetControl();
- private CANIDPage _IDPage = new CANIDPage();
- private CANDataPage _DataPage = new CANDataPage();
- #endregion 属性定义
- public CANTriggerSetControl()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- InitView();
- Init();
- }
- private void Init()
- {
- InitTrigggerOn();
- }
- private void InitTrigggerOn()
- {
- this.CbxTriggerOn.DataSource = ProtocolCAN.Condition.ID.GetEnumList();
- this.CbxTriggerOn.DisplayMember = "Key";
- this.CbxTriggerOn.ValueMember = "Value";
- this.CbxTriggerOn.SelectedValueChanged += (sender, args) =>
- {
- if (ParentForm == null)
- return;
- Presenter.Condition = (ProtocolCAN.Condition)this.CbxTriggerOn.SelectedValue;
- };
- this.CbxTriggerOn.SelectedValue = Presenter.Condition;
- }
- private void InitView()
- {
- _DecodeView.Presenter = ProtocolPrsnt.GetTrigSerialDecodePrsnt(SerialProtocolType.CAN, _DecodeView);
- this.TlpPanel.Controls.Add(_DecodeView as Control, 0, 3);
- _DataPage.Presenter = Presenter;
- this.TlpPanel.Controls.Add(_DataPage, 0, 1);
- _IDPage.Presenter = Presenter;
- this.TlpPanel.Controls.Add(_IDPage, 0, 2);
- this.TlpPanel.Controls.Cast<Control>().ToList().ForEach(x =>
- {
- x.Dock = DockStyle.Fill;
- });
- HeadPanel.Height = _RowHeight;
- LblTriggerOn.Top = 0;
- LblTriggerOn.Left = 0;
- CbxTriggerOn.Left = 0;
- CbxTriggerOn.Top = LblTriggerOn.Bottom + 2;
- HeadPanel.Controls.Cast<Control>().Where(x => (x is UestcLabel) || (x is ComboBoxEx) || (x is UestcIconButton)).ToList().ForEach(x =>
- {
- x.Width = _ControlWidth;
- x.Visible = false;
- Uni_Trend.MSO7000X.UserControls.Style.StyleManager.Instance.RegisterControl(x);
- });
- LblTriggerOn.Visible = true;
- CbxTriggerOn.Visible = true;
- UpdateCondition();
- }
- public void UpdateView(String propertyName)
- {
- switch (propertyName)
- {
- case nameof(CANTrigSerialPrsnt.Condition):
- UpdateCondition();
- break;
- }
- }
-
- private void UpdateCondition()
- {
- this.CbxTriggerOn.SelectedValue = Presenter.Condition;
- switch (Presenter.Condition)
- {
- case ProtocolCAN.Condition.ID:
- _IDPage.Visible = true;
- _DataPage.Visible = false;
- break;
- case ProtocolCAN.Condition.Data:
- _DataPage.Visible = true;
- _IDPage.Visible = false;
- break;
- default:
- _IDPage.Visible = false;
- _DataPage.Visible = false;
- break;
- }
- }
- }
- }
|