public bool ReadInterface(out IList <CodeFunction> methods, out IList <string> names) { IList <CodeFunction> resMethods = new List <CodeFunction>(); IList <string> resNames = new List <string>(); int index = 0; StringHelper.IStringRenamer r = StringHelper.CreateCombineRenamer(textFormula.Text, RecognizeRenamer); // process only checked items: foreach (ListViewItem i in listView.Items) { if (i.Checked) { resMethods.Add(this.methods[index]); resNames.Add(ProcessName(this.methods[index].Name, r)); } index++; } // evaluate result: if (resMethods.Count > 0) { methods = resMethods; names = resNames; return(true); } else { methods = null; names = null; return(false); } }
private void buttonRefresh_Click(object sender, EventArgs e) { renamer = StringHelper.CreateCombineRenamer(textFormula.Text, RecognizeRenamer); if (methods != null) { foreach (ListViewItem i in listView.Items) { RefreshItem(i); } } }
private string ProcessName(string inputText, StringHelper.IStringRenamer r) { // processing name: string newName = r.Rename(inputText); // process the first letter: if (!string.IsNullOrEmpty(newName)) { switch (cmbLetter.SelectedIndex) { case 0: newName = char.ToUpper(newName[0]) + newName.Substring(1); break; case 1: newName = char.ToLower(newName[0]) + newName.Substring(1); break; } } // show to the user: return(newName); }
private void RecognizeRenamer(string formulaFragment, out StringHelper.IStringRenamer r) { if (string.IsNullOrEmpty(formulaFragment)) { r = null; } else { if (formulaFragment == "[C]" || formulaFragment == "[c]") { r = new StringHelper.CounterRenamer(Counter); } else if (formulaFragment[0] == '[' && (formulaFragment[1] == 'N' || formulaFragment[1] == 'n') && formulaFragment[formulaFragment.Length - 1] == ']') { string inner = formulaFragment.Substring(2, formulaFragment.Length - 3).Trim(); if (string.IsNullOrEmpty(inner)) { r = new StringHelper.NameRenamer(); } else { string[] numbers = inner.Split(new char[] { ' ', '-' }, StringSplitOptions.RemoveEmptyEntries); if (numbers == null || numbers.Length == 0) { r = new StringHelper.NameRenamer(); } else { r = new StringHelper.NameRenamer(numbers[0], (numbers.Length > 1 ? numbers[1] : null)); } } } else { r = new StringHelper.StaticRenamer(formulaFragment); } } }
/// <summary> /// Sets the methods on the interface. /// </summary> public void InitInterface(IList <CodeFunction> methods, IList <CodeFunction> selectedMethods) { ListViewItem i; this.methods = methods; listView.Items.Clear(); checkState.Checked = true; renamer = StringHelper.CreateCombineRenamer(textFormula.Text, RecognizeRenamer); if (this.methods != null) { foreach (CodeFunction m in this.methods) { i = new ListViewItem(m.Name); i.Checked = selectedMethods != null && selectedMethods.Contains(m); i.Tag = m; if (i.Checked) { i.SubItems.Add(ProcessName(m.Name, renamer)); i.BackColor = SelectedColor; } else { i.SubItems.Add(m.Name); i.BackColor = NormalColor; } listView.Items.Add(i); } } ActiveControl = textFormula; }