static public string Menu(Form parent, System.Drawing.Icon ic, string userdata, List <string> additionalkeys, BaseUtils.EnhancedSendKeysParser.IAdditionalKeyParser additionalparser) { Variables vars; string keys; FromString(userdata, out keys, out vars); ExtendedControls.KeyForm kf = new ExtendedControls.KeyForm(); int defdelay = vars.Exists(DelayID) ? vars[DelayID].InvariantParseInt(DefaultDelay) : ExtendedControls.KeyForm.DefaultDelayID; string process = vars.Exists(ProcessID) ? vars[ProcessID] : ""; kf.Init(ic, true, " ", keys, process, defdelay: defdelay, additionalkeys: additionalkeys, parser: additionalparser); // process="" default, defdelay = DefaultDelayID default if (kf.ShowDialog(parent) == DialogResult.OK) { Variables vlist = new Variables(); if (kf.DefaultDelay != ExtendedControls.KeyForm.DefaultDelayID) // only add these into the command if set to non default { vlist[DelayID] = kf.DefaultDelay.ToStringInvariant(); } if (kf.ProcessSelected.Length > 0) { vlist[ProcessID] = kf.ProcessSelected; } return(ToString(kf.KeyList, vlist)); } else { return(null); } }
private void Keypress_Click(object sender, EventArgs e) { ExtendedControls.KeyForm kf = new ExtendedControls.KeyForm(); kf.Init(this.Icon, false, ",", buttonKeys.Text.Equals("?") ? "" : buttonKeys.Text); if (kf.ShowDialog(FindForm()) == DialogResult.OK) { buttonKeys.Text = kf.KeyList; cd.Fields[0].MatchString = kf.KeyList; cd.Fields[0].MatchCondition = (kf.KeyList.Contains(",")) ? ConditionEntry.MatchType.IsOneOf : ConditionEntry.MatchType.Equals; } }
static public string Menu(Control parent, System.Drawing.Icon ic, string userdata, EliteDangerousCore.BindingsFile bf) { ConditionVariables vars; string keys; FromString(userdata, out keys, out vars); ExtendedControls.KeyForm kf = new ExtendedControls.KeyForm(); int defdelay = vars.Exists(DelayID) ? vars[DelayID].InvariantParseInt(DefaultDelay) : DefaultDelay; string process = vars.Exists(ProcessID) ? vars[ProcessID] : ""; kf.Init(ic, true, " ", keys, process, defdelay: defdelay); if (kf.ShowDialog(parent) == DialogResult.OK) { return(ToString(kf.KeyList, new ConditionVariables(new string[] { ProcessID, kf.ProcessSelected, DelayID, kf.DefaultDelay.ToStringInvariant() }))); } else { return(null); } }