示例#1
0
 protected virtual void OnDialogCancelClicked(object sender, SimuArgsDialogValuesArgs e)
 {
     if (sender == dialog)
     {
         dialog.Close();
         dialog = null;
     }
 }
示例#2
0
        protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            if (dialog != null)
            {
                return;
            }
            string[] labels  = null;
            string[] values  = null;
            string[] types   = null;
            bool[]   islocks = null;
            switch (Inst)
            {
            // (Value1, Value2)
            case "LDWEQ":
            case "LDWNE":
            case "LDWGE":
            case "LDWLE":
            case "LDWG":
            case "LDWL":
            case "LDDEQ":
            case "LDDNE":
            case "LDDGE":
            case "LDDLE":
            case "LDDG":
            case "LDDL":
            case "LDFEQ":
            case "LDFNE":
            case "LDFGE":
            case "LDFLE":
            case "LDFG":
            case "LDFL":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "IN1";
                labels[1] = "IN2";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (IN)
            default:
                labels    = new string[1];
                values    = new string[1];
                types     = new string[1];
                islocks   = new bool[1];
                labels[0] = "IN";
                _SetDialogProperty(labels, values, types, islocks);
                break;
            }
            dialog = new SimuArgsDialog(labels, values, types, islocks);
            dialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            dialog.EnsureClick          += OnDialogEnsureClicked;
            dialog.CancelClick          += OnDialogCancelClicked;
            dialog.ShowDialog();
        }
示例#3
0
        protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            if (dialog != null)
            {
                return;
            }
            string[] labels  = null;
            string[] values  = null;
            string[] types   = null;
            bool[]   islocks = null;
            switch (Inst)
            {
            // (OUT, CT)
            case "SET":
            case "SETIM":
            case "RST":
            case "RSTIM":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "OUT";
                labels[1] = "CT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            default:
                labels    = new string[1];
                values    = new string[1];
                types     = new string[1];
                islocks   = new bool[1];
                labels[0] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;
            }
            dialog = new SimuArgsDialog(labels, values, types, islocks);
            dialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            dialog.EnsureClick          += OnDialogEnsureClicked;
            dialog.CancelClick          += OnDialogCancelClicked;
            dialog.ShowDialog();
        }
示例#4
0
 protected virtual void OnDialogEnsureClicked(object sender, SimuArgsDialogValuesArgs e)
 {
     if (sender == dialog)
     {
         VariableUnitChangeEventArgs _e = new VariableUnitChangeEventArgs();
         for (int i = 0; i < 5; i++)
         {
             if (this[i + 1] != null)
             {
                 if (!(e.Values[i] is SimuArgsDialogUnlockValue))
                 {
                     this[i + 1].Islocked = true;
                     this[i + 1].Value    = e.Values[i];
                     _e.Old = _e.New = this[i + 1];
                     if (e.IsLocks[i])
                     {
                         VariableUnitLocked(this, _e);
                     }
                     else
                     {
                         VariableUnitValueChanged(this, _e);
                     }
                     Update();
                 }
                 if (e.Values[i] is SimuArgsDialogUnlockValue && this[i + 1].Islocked)
                 {
                     this[i + 1].Islocked = false;
                     _e.Old = _e.New = this[i + 1];
                     VariableUnitUnlocked(this, _e);
                     Update();
                 }
             }
         }
         dialog.Close();
         dialog = null;
         Update();
     }
 }
示例#5
0
        protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            if (dialog != null)
            {
                return;
            }
            string[] labels  = null;
            string[] values  = null;
            string[] types   = null;
            bool[]   islocks = null;
            switch (Inst)
            {
            // (IN, OUT)
            case "WTOD":
            case "DTOW":
            case "DTOF":
            case "ROUND":
            case "TURNC":
            case "BIN":
            case "BCD":
            case "INVW":
            case "MOV":
            case "INC":
            case "DEC":
            case "INVD":
            case "MOVD":
            case "INCD":
            case "DECD":
            case "MOVF":
            case "SQRT":
            case "SIN":
            case "COS":
            case "TAN":
            case "LN":
            case "EXP":
            case "LOG":
            case "FACT":
            case "CML":
            case "CMLD":
            case "NEG":
            case "NEGD":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "IN";
                labels[1] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (OUT1, OUT2)
            case "XCH":
            case "XCHD":
            case "XCHF":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "OUT1";
                labels[1] = "OUT2";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (IN1, IN2, OUT)
            case "ADD":
            case "SUB":
            case "MULW":
            case "DIVW":
            case "ANDW":
            case "ORW":
            case "XORW":
            case "SHL":
            case "SHR":
            case "ROL":
            case "ROR":
            case "ADDD":
            case "SUBD":
            case "MULD":
            case "DIVD":
            case "ANDD":
            case "ORD":
            case "XORD":
            case "SHLD":
            case "SHRD":
            case "ROLD":
            case "RORD":
            case "MUL":
            case "DIV":
            case "ADDF":
            case "SUBF":
            case "MULF":
            case "DIVF":
            case "POW":
            case "CMP":
            case "CMPD":
            case "CMPF":
                labels    = new string[3];
                values    = new string[3];
                types     = new string[3];
                islocks   = new bool[3];
                labels[0] = "IN1";
                labels[1] = "IN2";
                labels[2] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (IN, IN1, IN2, OUT)
            case "ZCP":
            case "ZCPD":
            case "ZCPF":
                labels    = new string[4];
                values    = new string[4];
                types     = new string[4];
                islocks   = new bool[4];
                labels[0] = "IN";
                labels[1] = "IN1";
                labels[2] = "IN2";
                labels[3] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (S, D, CT)
            case "MVBLK":
            case "FMOV":
            case "MVDBLK":
            case "FMOVD":
                labels    = new string[3];
                values    = new string[3];
                types     = new string[3];
                islocks   = new bool[3];
                labels[0] = "S";
                labels[1] = "D";
                labels[2] = "CT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (TV, SV)
            case "TON":
            case "TONR":
            case "TOF":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "TV";
                labels[1] = "SV";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (CV, SV)
            case "CTU":
            case "CTD":
            case "CTUD":
            case "HCNT":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "CV";
                labels[1] = "TV";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (FEQ, OUT)
            case "PLSF":
            case "DPLSF":
                labels    = new string[2];
                values    = new string[2];
                types     = new string[2];
                islocks   = new bool[2];
                labels[0] = "FEQ";
                labels[1] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (FEQ, DF, OUT)
            case "PWM":
            case "DPWM":
                labels    = new string[3];
                values    = new string[3];
                types     = new string[3];
                islocks   = new bool[3];
                labels[0] = "FEQ";
                labels[1] = "DF";
                labels[2] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            // (FEQ, PN, OUT)
            case "PLSY":
            case "DPLSY":
                labels    = new string[3];
                values    = new string[3];
                types     = new string[3];
                islocks   = new bool[3];
                labels[0] = "FEQ";
                labels[1] = "PN";
                labels[2] = "OUT";
                _SetDialogProperty(labels, values, types, islocks);
                break;

            default:
                return;
            }
            dialog = new SimuArgsDialog(labels, values, types, islocks);
            dialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            dialog.EnsureClick          += OnDialogEnsureClicked;
            dialog.CancelClick          += OnDialogCancelClicked;
            dialog.ShowDialog();
        }