Example #1
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (cfgKey.SelectedKey == Keys.None)
            {
                return;
            }

            var key = new KeyReplacement()
            {
                Key           = cfgKey.SelectedKey,
                Replacement   = cfgReplacement.SelectedKey,
                AltActive     = cfgAlt.Checked,
                ControlActive = cfgCtrl.Checked,
                ShiftActive   = cfgShift.Checked
            };

            try
            {
                Program.Manager.AddReplacement(key);
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Failed to register replacement:\n{ex.Message}", "KWAKF");
                return;
            }
            AddReplacement(key);
        }
Example #2
0
        public void AddReplacement(KeyReplacement key)
        {
            var item = new ListViewItem();

            item.Tag  = key;
            item.Text = key.GetKeyString();
            item.SubItems.Add(key.GetReplacementString());
            item.SubItems.Add("0");
            item.SubItems.Add("0");
            ltvKeyConfiguration.Items.Add(item);
        }
Example #3
0
        public static string BindKey(this Command command, DataSet.Define define, DataSet.Key key, string sql)
        {
            KeyReplacement replacement = Pool <KeyReplacement> .Default.Acquire();

            replacement.define = define;
            replacement.key    = key;
            string result = KeyPattern.Replace(sql, replacement.Execute);

            replacement.define = null;
            replacement.key    = null;
            Pool <KeyReplacement> .Default.Release(replacement);

            var keys = define.Keys;

            for (int i = 0; i < keys.Count; ++i)
            {
                var type = keys[i];
                if (type == DataSet.Type.String)
                {
                    string str = null;
                    if (!key.Read(i, ref str))
                    {
                        throw new DataSet.TypeMismatchException();
                    }
                    str = str ?? "";
                    command.AddParam(str);
                }
                else if (type == DataSet.Type.Blob)
                {
                    byte[] bytes = null;
                    if (!key.Read(i, ref bytes))
                    {
                        throw new DataSet.TypeMismatchException();
                    }
                    command.AddParam(bytes);
                }
            }
            return(result);
        }