void PopupCompletion () { Gtk.Application.Invoke (delegate { char c = (char) Gdk.Keyval.ToUnicode (keyValue); if (currentCompletionData == null && IsCompletionChar (c)) { string expr = Buffer.GetText (TokenBegin, Cursor, false); currentCompletionData = GetCompletionData (expr); if (currentCompletionData != null) { DebugCompletionDataList dataList = new DebugCompletionDataList (currentCompletionData); ctx = ((ICompletionWidget) this).CreateCodeCompletionContext (expr.Length - currentCompletionData.ExpressionLength); CompletionWindowManager.ShowWindow (null, c, dataList, this, ctx); } else { currentCompletionData = null; } } }); }
void PopupCompletion (Entry entry) { Application.Invoke (delegate { char c = (char) Gdk.Keyval.ToUnicode (keyValue); if (currentCompletionData == null && IsCompletionChar (c)) { string exp = entry.Text.Substring (0, entry.CursorPosition); currentCompletionData = GetCompletionData (exp); if (currentCompletionData != null) { DebugCompletionDataList dataList = new DebugCompletionDataList (currentCompletionData); ctx = ((ICompletionWidget) this).CreateCodeCompletionContext (entry.CursorPosition - currentCompletionData.ExpressionLength); CompletionWindowManager.ShowWindow (null, c, dataList, this, ctx); } else { currentCompletionData = null; } } }); }
void OnEditKeyPress (object s, Gtk.KeyPressEventArgs args) { Gtk.Entry entry = (Gtk.Entry)s; if (currentCompletionData != null) { bool ret = CompletionWindowManager.PreProcessKeyEvent (args.Event.Key, (char)args.Event.Key, args.Event.State); CompletionWindowManager.PostProcessKeyEvent (args.Event.Key, (char)args.Event.Key, args.Event.State); args.RetVal = ret; } Gtk.Application.Invoke (delegate { char c = (char)Gdk.Keyval.ToUnicode (args.Event.KeyValue); if (currentCompletionData == null && IsCompletionChar (c)) { string exp = entry.Text.Substring (0, entry.CursorPosition); currentCompletionData = GetCompletionData (exp); if (currentCompletionData != null) { DebugCompletionDataList dataList = new DebugCompletionDataList (currentCompletionData); CodeCompletionContext ctx = ((ICompletionWidget)this).CreateCodeCompletionContext (entry.CursorPosition - currentCompletionData.ExpressionLenght); CompletionWindowManager.ShowWindow (null, c, dataList, this, ctx); } else currentCompletionData = null; } }); }
void OnEditKeyPress (object sender, KeyPressEventArgs args) { if (currentCompletionData != null) { char keyChar = (char)args.Event.Key; if ((args.Event.Key == Gdk.Key.Down || args.Event.Key == Gdk.Key.Up)) { keyChar = '\0'; } var retVal = CompletionWindowManager.PreProcessKeyEvent (args.Event.Key, keyChar, args.Event.State); CompletionWindowManager.PostProcessKeyEvent (args.Event.Key, keyChar, args.Event.State); args.RetVal = retVal; } Application.Invoke (delegate { char c = (char)Gdk.Keyval.ToUnicode (args.Event.KeyValue); if (currentCompletionData == null && IsCompletionChar (c)) { string exp = entry.Text.Substring (0, entry.CursorPosition); currentCompletionData = GetCompletionData (exp); if (currentCompletionData != null) { DebugCompletionDataList dataList = new DebugCompletionDataList (currentCompletionData); CodeCompletionContext ctx = ((ICompletionWidget)this).CreateCodeCompletionContext (entry.CursorPosition - currentCompletionData.ExpressionLength); CompletionWindowManager.ShowWindow (null, c, dataList, this, ctx); } } }); }