// Called when a key is pressed in the editor. // Returns false if the key press has to continue normal processing. public static bool ProcessKeyEvent(CompletionTextEditorExtension ext, ICompletionWidget widget, Gdk.Key key, Gdk.ModifierType modifier) { if (methods.Count == 0) { return(false); } MethodData cmd = methods [methods.Count - 1]; if (key == Gdk.Key.Down) { if (cmd.MethodProvider.Count <= 1) { return(false); } if (cmd.CurrentOverload < cmd.MethodProvider.Count - 1) { cmd.CurrentOverload++; } else { cmd.CurrentOverload = 0; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); } else if (key == Gdk.Key.Up) { if (cmd.MethodProvider.Count <= 1) { return(false); } if (cmd.CurrentOverload > 0) { cmd.CurrentOverload--; } else { cmd.CurrentOverload = cmd.MethodProvider.Count - 1; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); } else if (key == Gdk.Key.Escape) { HideWindow(ext, widget); return(true); } return(false); }
// Called when a key is pressed in the editor. // Returns false if the key press has to continue normal processing. internal static bool ProcessKeyEvent(CompletionTextEditorExtension ext, ICompletionWidget widget, KeyDescriptor descriptor) { if (methods.Count == 0) { return(false); } MethodData cmd = methods [methods.Count - 1]; if (descriptor.SpecialKey == SpecialKey.Down) { if (cmd.MethodProvider.Count <= 1) { return(false); } if (cmd.CurrentOverload < cmd.MethodProvider.Count - 1) { cmd.CurrentOverload++; } else { cmd.CurrentOverload = 0; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); } else if (descriptor.SpecialKey == SpecialKey.Up) { if (cmd.MethodProvider.Count <= 1) { return(false); } if (cmd.CurrentOverload > 0) { cmd.CurrentOverload--; } else { cmd.CurrentOverload = cmd.MethodProvider.Count - 1; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); } else if (descriptor.SpecialKey == SpecialKey.Escape) { HideWindow(ext, widget); return(true); } return(false); }
internal static bool OverloadDown(CompletionTextEditorExtension ext, ICompletionWidget widget) { if (currentMethodGroup == null) { return(false); } if (currentMethodGroup.MethodProvider.Count <= 1) { return(false); } if (currentMethodGroup.CurrentOverload < currentMethodGroup.MethodProvider.Count - 1) { currentMethodGroup.CurrentOverload++; } else { currentMethodGroup.CurrentOverload = 0; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); }
internal static bool OverloadDown(CompletionTextEditorExtension ext, ICompletionWidget widget) { if (methods.Count == 0) { return(false); } MethodData cmd = methods [methods.Count - 1]; if (cmd.MethodProvider.Count <= 1) { return(false); } if (cmd.CurrentOverload < cmd.MethodProvider.Count - 1) { cmd.CurrentOverload++; } else { cmd.CurrentOverload = 0; } window.ChangeOverload(); UpdateWindow(ext, widget); return(true); }