コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
                }
            }
        }
コード例 #5
0
        /// <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;
        }