protected virtual void OnDialogCancelClicked(object sender, SimuArgsDialogValuesArgs e) { if (sender == dialog) { dialog.Close(); dialog = null; } }
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(); }
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(); }
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(); } }
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(); }