private void _KeyDown(object sender, KeyEventArgs e) { string allowedChars = "([{}]);,. "; int currentLine = textBox.Selection.Bounds.iStartLine; string textTillCursor = textBox.GetLineText(currentLine).Substring(0, textBox.Selection.Bounds.iStartChar); //string textAfterCursor = tbEditor.GetLineText(currentLine); char charBeforeCursor = textBox.Selection.CharBeforeStart; char charAfterCursor = textBox.Selection.CharAfterStart; if (e.KeyData == (Keys.K | Keys.Control)) { //forced show (MinFragmentLength will be ignored) autocomplete.Show(true); //e.Handled = true; } if (System.Char.IsLetter((char)e.KeyValue) && //warning, lisp programmer at work textTillCursor.Count() > 0 && allowedChars.Contains(charBeforeCursor) && allowedChars.Contains(charAfterCursor)) /*&& cursorIsNotInsideFunctionName * && cursorIsCorrectlyIndented?? perhaps difficult with regex since parsing a language ain't easy */ { autocomplete.Show(true); } UpdateAutocompleteIdentifiers(); }
private void charAdded(object sender, CharAddedEventArgs e) { if (e.Char == '!') { sb.Clear(); sb.Append(@"^\!"); adding = true; adpos = CurrentPosition - 1; } else if (adding) { if (e.Char == '\n') { adding = false; } sb.Append("" + (char)e.Char); } curpos = CurrentPosition; autocom.SearchPattern = sb.ToString(); List <AutocompleteItem> items = new List <AutocompleteItem>(); List <string> s = code.FilterAutocompleteWords(autocom.SearchPattern); foreach (string def in s) { items.Add(new SnippetAutocompleteItem(def)); } autocom.SetAutocompleteItems(items); autocom.CaptureFocus = false; autocom.TargetControlWrapper.TargetControl.Location = new Point(0, 0); autocom.Show(this, false); }
internal void ForceShowSuggestions() { if (_autoCompleteMenu != null && CodeEditorExtension.Instance.Settings.GetValue <bool>("AutoCompletion.AutoComplete")) { _itemEnumerator.CanYieldItems = true; _autoCompleteMenu.Show(true); } }
private void sourceCodeBox_textChanged(object sender, TextChangedEventArgs e) { enforceSyntax(); changeStyles(); setToolStrip(); hasModified = true; if (autoComplete != null) { autoComplete.Show(true); } }
private void TextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Space | Keys.Control)) { //forced show (MinFragmentLength will be ignored) popupMenu.Show(true); e.Handled = true; } if (e.Control && e.KeyCode == Keys.S) { Save(); e.Handled = true; } if (e.Control && e.KeyCode == Keys.W) { Close(); e.Handled = true; } if (e.KeyCode == Keys.F5) { Save(); Editor.Self.Run(Path); e.Handled = true; } }
public void ForceAutoComplete() { if (_autocomplete != null) { _autocomplete.Show(true); } }
public void Show(List <Variant> variants, string leftWord) { if (opened) { return; } opened = true; this.variants = variants; startPlace = textBox.Controller.Lines.PlaceOf(textBox.Controller.LastSelection.caret - leftWord.Length); startCaret = textBox.Controller.LastSelection.caret - leftWord.Length; caret = textBox.Controller.LastSelection.caret; Point point = textBox.ScreenCoordsOfPlace(startPlace); point.Y += textBox.CharHeight; Point screenPoint = textBox.PointToScreen(point); dropDown = new AutocompleteMenu(new Handler(this)); dropDown.SetScreenPosition(screenPoint); dropDown.Show(textBox, screenPoint); UpdateItems(); textBox.KeyMap.AddBefore(keyMap); textBox.FocusedChange += OnFocusedChange; textBox.AfterKeyPress += OnKeyPress; }
private void codeBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Space | Keys.Control)) { //forced show (MinFragmentLength will be ignored) popupMenu.Show(true); e.Handled = true; } if (e.KeyCode == Keys.Escape) { popupMenu.Close(); } if (e.KeyData == (Keys.K | Keys.Control)) { codeTextBox.InsertLinePrefix("//"); } if (e.KeyData == (Keys.K | Keys.Control | Keys.Shift)) { codeTextBox.RemoveLinePrefix("//"); } if (e.KeyData == (Keys.Control | Keys.P)) { codeTextBox.CollapseAllFoldingBlocks(); codeTextBox.ExpandAllFoldingBlocks(); } }
private void fctb_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Space | Keys.Control)) { popupMenu.Show(true); e.Handled = true; } }
public void KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.K | Keys.Control)) { popupMenuMetadataProperties.Show(true); e.Handled = true; } }
private void fctb_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData != (Keys.K | Keys.Control)) { return; } _popupMenu.Show(true); e.Handled = true; }
private void fctb_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.K | Keys.Control)) { //forced show (MinFragmentLength will be ignored) _popupMenu.Show(true); e.Handled = true; } }
private void fastColoredTextBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Control) { if (e.KeyCode == Keys.Space) { Timer t = new Timer(); popupMenu.Show(true); e.Handled = true; } } }
public void fastColoredTextBox1_AutoIndentNeeded(object sender, AutoIndentEventArgs args) { _popupMenu.Show(true); // if previous line contains "then" or "else", // and current line does not contain "begin" // then shift current line to right //block {} if (Regex.IsMatch(args.LineText, @"^[^""']*\{.*\}[^""']*$")) { return; } //start of block {} if (Regex.IsMatch(args.LineText, @"^[^""']*\{")) { args.ShiftNextLines = args.TabLength; return; } //end of block {} if (Regex.IsMatch(args.LineText, @"}[^""']*$")) { args.Shift = -args.TabLength; args.ShiftNextLines = -args.TabLength; return; } //label if (Regex.IsMatch(args.LineText, @"^\s*\w+\s*:\s*($|//)") && !Regex.IsMatch(args.LineText, @"^\s*default\s*:")) { args.Shift = -args.TabLength; return; } //some statements: case, default if (Regex.IsMatch(args.LineText, @"^\s*(case|default)\b.*:\s*($|//)")) { args.Shift = -args.TabLength / 2; return; } //is unclosed operator in previous line ? if (Regex.IsMatch(args.PrevLineText, @"^\s*(if|for|foreach|while|[\}\s]*else)\b[^{]*$")) { if (!Regex.IsMatch(args.PrevLineText, @"(;\s*$)|(;\s*//)")) //operator is unclosed { args.Shift = args.TabLength; } } }
public Editor() { InitializeComponent(); _blueStyle = new TextStyle(Brushes.Blue, null, FontStyle.Regular); _txtSrcCode = new FastColoredTextBox { Font = new Font("Consolas", 11), Dock = DockStyle.Fill }; _txtSrcCode.TextChanged += (s, e) => PPLSyntaxHighlight(e); _txtSrcCode.SelectionChangedDelayed += (s, e) => SelectionDelayed(); _txtSrcCode.KeyDown += (s, e) => { if (e.KeyCode == Keys.Space) { if (e.Control) { _popupMenu.Show(true); e.Handled = true; } } }; _popupMenu = new AutocompleteMenu(_txtSrcCode) { MinFragmentLength = 100, AllowTabKey = true }; _popupMenu.Items.ImageList = iconsList; _popupMenu.Items.SetAutocompleteItems( new List <AutocompleteItem> { //operators new AutocompleteItem("when"), new AutocompleteItem("and"), new AutocompleteItem("or"), //conditions new AutocompleteItem("is_a_bad_credit_customer", 1), new AutocompleteItem("order_ammount_is", 1), new AutocompleteItem("is_a_good_credit_customer", 1), new AutocompleteItem("is_international_order", 1), //actions new AutocompleteItem("add_shipping_fee", 0), new AutocompleteItem("apply_discount", 0), new AutocompleteItem("block_the_order", 0), }); Controls.Add(_txtSrcCode); }
//搜索函数 void Tb_inputKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string key = tb_input.Text; List <AutocompleteItem> list = new List <AutocompleteItem>(); foreach (AutocompleteItem item in items) { if (item.ToolTipText.Contains(key)) { list.Add(item); } } popupMenu.Items.SetAutocompleteItems(list.ToArray()); popupMenu.Show(true); } }
private void txtRoom_ButtonCustomClick(object sender, EventArgs e) { mAutoMennu_Room.Show(txtRoom, true, true); }
public void Autocomplete_Show() { popupMenu.Show(true); }
private void txtHome_ButtonCustomClick(object sender, EventArgs e) { mAutoMennu_Home.Show(txtHome, true, true); }
private void getnextword(string word1, string word2, string word3, string lastletter) { label10.Text = word1; label11.Text = word2; label12.Text = lastletter; var sql_cmd = new SQLiteCommand(); if (checkBox2.Checked) { MessageBox.Show("word1 = " + word1 + " word2 = " + word2 + " word3 = " + word3); } if (lastletter.Equals(" ")) { listBox1.Items.Clear(); sql_cmd = new SQLiteCommand(); if (radioButton4.Checked) { sql_cmd.CommandText = "select word3,id from tgram where word1=@word1 and word2 = @word2 order by freq desc LIMIT 0, 100"; } else { sql_cmd.CommandText = "select word2,id from tgram where word1=@word2 and word3 =@word3 order by freq desc LIMIT 0, 100"; } sql_cmd.Parameters.AddRange(new[] { new SQLiteParameter("@word1", word1), new SQLiteParameter("@word2", word2), new SQLiteParameter("@word3", word3) }); var DT = _database.ExecuteSelect(sql_cmd); idf = -1; if (DT.Rows.Count > 0) { var dr = DT.Rows[0]; idf = Convert.ToInt32(dr[1].ToString()); for (var i = 0; i < DT.Rows.Count; i++) { dr = DT.Rows[i]; if (!ignore(dr[0].ToString())) { listBox1.Items.Add(dr[0].ToString()); } } } listBox1.Items.Add("------------------"); sql_cmd = new SQLiteCommand(); if (radioButton4.Checked) { sql_cmd.CommandText = "select word2,id from bgram where word1=@word2 order by freq desc LIMIT 0, 100"; } else { sql_cmd.CommandText = "select word1,id from bgram where word2=@word3 order by freq desc LIMIT 0, 100"; } sql_cmd.Parameters.AddRange(new[] { new SQLiteParameter("@word1", word1), new SQLiteParameter("@word2", word2), new SQLiteParameter("@word3", word3) }); DT = _database.ExecuteSelect(sql_cmd); if (DT.Rows.Count > 0) { DataRow dr; if (idf == -1) { dr = DT.Rows[0]; idf = Convert.ToInt32(dr[1].ToString()); //getphrases(idf, 2, word2); } for (var i = 0; i < DT.Rows.Count; i++) { dr = DT.Rows[i]; if (!ignore(dr[0].ToString())) { listBox1.Items.Add(dr[0].ToString()); } } } } else { sql_cmd = new SQLiteCommand(); sql_cmd.CommandText = "select word1,id from bgram where word1 like @word2 order by freq desc LIMIT 0, 100"; sql_cmd.Parameters.AddRange(new[] { new SQLiteParameter("@word1", word1), new SQLiteParameter("@word2", word2 + "%"), new SQLiteParameter("@word3", word3) }); var DT = _database.ExecuteSelect(sql_cmd); var list = new List <string>(); for (var i = 0; i < listBox1.Items.Count; i++) { if (!ignore(listBox1.Items[i].ToString())) { list.Add(listBox1.Items[i].ToString()); } } listBox1.Items.Clear(); var items = new List <AutocompleteItem>(); for (var i = 0; i < list.Count; i++) { if (list[i].StartsWith(word2, true, CultureInfo.CurrentCulture)) { listBox1.Items.Add(list[i]); items.Add(new SnippetAutocompleteItem(list[i])); } } list.Clear(); for (var i = 0; i < DT.Rows.Count; i++) { var dr = DT.Rows[i]; var n = listBox1.FindString(dr[0].ToString()); if (n < 0) { if (!ignore(dr[0].ToString())) { listBox1.Items.Add(dr[0].ToString()); items.Add(new SnippetAutocompleteItem(dr[0].ToString())); } } } advancedTextEditor1.autocompleteMenu1.SetAutocompleteItems(items); if (panel6.Visible) { autocompleteMenu1.SetAutocompleteItems(items); autocompleteMenu1.Show(textBox5, false); } } }
private void txtUser_ButtonCustomClick(object sender, EventArgs e) { mAutoMennu_User.Show(txtUser, true, true); }
private void txtEntity_ButtonCustomClick(object sender, EventArgs e) { mAutoMennu_DM_Entity_Type.Show(txtEntity, true, true); }
private void txtType_ButtonCustomClick(object sender, EventArgs e) { mAutoMennu_DM_Intent_Type.Show(txtType, true, true); }
public void ForceAutoComplete() { _autocomplete.Show(true); }
public void Show() { _popupMenu.Show(false); }