private bool RetrieveAppendConfigs(ref OutputConfig zOutputConfig, RemapEntry zRemapEntry) { var zCurrentOutputConfig = (OutputConfig)txtKeyOut.Tag; if (null == zCurrentOutputConfig) { MessageBox.Show(this, "Please specify an output key.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (zRemapEntry.OutputConfigCount == KeyCapConstants.MaxOutputs) { MessageBox.Show(this, "Failed to append item. The maximum number of outputs allowed is {0}.".FormatString(KeyCapConstants.MaxOutputs), "Append Error!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } zOutputConfig = UpdateOutputFlags(new OutputConfig(zCurrentOutputConfig)); if (!ValidateOutputHasAction(zOutputConfig)) { return(false); } return(true); }
private bool RetrieveAddConfigs(ref InputConfig zInputConfig, ref OutputConfig zOutputConfig, ref RemapEntry zRemapEntry) { var zCurrentInputConfig = (InputConfig)txtKeyIn.Tag; var zCurrentOutputConfig = (OutputConfig)txtKeyOut.Tag; if (null == zCurrentInputConfig || null == zCurrentOutputConfig) { MessageBox.Show(this, "Please specify both an input and output key.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } // build cloned configs based on the ui state zInputConfig = UpdateInputFlags(new InputConfig(zCurrentInputConfig)); zOutputConfig = UpdateOutputFlags(new OutputConfig(zCurrentOutputConfig)); if (!ValidateOutputHasAction(zOutputConfig)) { return(false); } zRemapEntry = new RemapEntry(zInputConfig, zOutputConfig); // flip this result for indicator of a good remap entry return(!IsInputAlreadyDefined(zRemapEntry)); }
private void btnAdd_Click(object sender, EventArgs e) { InputConfig zInputConfig = null; OutputConfig zOutputConfig = null; RemapEntry zRemapEntry = null; if (!RetrieveAddConfigs(ref zInputConfig, ref zOutputConfig, ref zRemapEntry)) { return; } AddRemapEntryToListView(zRemapEntry, true); }
private bool IsInputAlreadyDefined(RemapEntry zNewRemapEntry) { // verify this is not already defined foreach (ListViewItem zListItem in listViewKeys.Items) { var zKeyOldDef = (RemapEntry)zListItem.Tag; if (zNewRemapEntry.GetHashCode() != zKeyOldDef.GetHashCode()) { continue; } MessageBox.Show(this, "Duplicate inputs are not allowed!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(true); } return(false); }
private void btnAddOutputString_Click(object sender, EventArgs e) { const string MACRO_STRING_KEY = "macro_string_key"; var zQuery = new QueryPanelDialog("Enter String Macro", 400, false); zQuery.SetIcon(this.Icon); zQuery.AddTextBox("String", string.Empty, false, MACRO_STRING_KEY); if (DialogResult.OK != zQuery.ShowDialog(this)) { return; } var sMacro = zQuery.GetString(MACRO_STRING_KEY); if (string.IsNullOrWhiteSpace(sMacro)) { MessageBox.Show(this, "Please specify a string of output characters.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var zCurrentInputConfig = (InputConfig)txtKeyIn.Tag; if (null == zCurrentInputConfig) { ShowKeysNotDefinedError(); return; } try { var zRemapEntry = new RemapEntry(zCurrentInputConfig, CreateOutputConfigFromCharacter(sMacro[0])); for (var nIdx = 1; nIdx < sMacro.Length; nIdx++) { zRemapEntry.AppendOutputConfig(CreateOutputConfigFromCharacter(sMacro[nIdx])); } if (!IsInputAlreadyDefined(zRemapEntry)) { AddRemapEntryToListView(zRemapEntry, true); } } catch (Exception ex) { MessageBox.Show(this, "Unfortunately you have specified an unsupported character (at this time)." + ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void AddRemapEntryToListView(RemapEntry zRemapEntry, bool bMarkDirty) { var zItem = new ListViewItem(new string[] { zRemapEntry.GetInputString(), zRemapEntry.GetOutputString() }) { Tag = zRemapEntry, ToolTipText = zRemapEntry.GetOutputString() }; listViewKeys.Items.Add(zItem); listViewKeys.SelectedItems.Clear(); zItem.Selected = true; if (bMarkDirty) { MarkDirty(); } }
private void btnAdd_Click(object sender, EventArgs e) { InputConfig zInputConfig = null; OutputConfig zOutputConfig = null; RemapEntry zRemapEntry = null; if (!RetrieveAddConfigs(ref zInputConfig, ref zOutputConfig, ref zRemapEntry)) { return; } var zItem = new ListViewItem(new string[] { zRemapEntry.GetInputString(), zRemapEntry.GetOutputString() }); zItem.Tag = zRemapEntry; listViewKeys.Items.Add(zItem); listViewKeys.SelectedItems.Clear(); zItem.Selected = true; MarkDirty(); }
private bool RetrieveAddConfigs(ref InputConfig zInputConfig, ref OutputConfig zOutputConfig, ref RemapEntry zRemapEntry) { var zCurrentInputConfig = (InputConfig)txtKeyIn.Tag; var zCurrentOutputConfig = (OutputConfig)txtKeyOut.Tag; if (null == zCurrentInputConfig || null == zCurrentOutputConfig) { MessageBox.Show(this, "Please specify both an input and output key.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } // build cloned configs based on the ui state zInputConfig = UpdateInputFlags(new InputConfig(zCurrentInputConfig)); zOutputConfig = UpdateOutputFlags(new OutputConfig(zCurrentOutputConfig)); if (!ValidateOutputHasAction(zOutputConfig)) { return(false); } zRemapEntry = new RemapEntry(zInputConfig, zOutputConfig); // verify this is not already defined foreach (ListViewItem zListItem in listViewKeys.Items) { var zKeyOldDef = (RemapEntry)zListItem.Tag; if (zRemapEntry.GetHashCode() != zKeyOldDef.GetHashCode()) { continue; } MessageBox.Show(this, "Duplicate inputs are not allowed!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } return(true); }