Example #1
0
        // 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);
        }