diff --git a/pdex/src/processing/mode/experimental/CompletionPanel.java b/pdex/src/processing/mode/experimental/CompletionPanel.java index ff2b7384a..a8f44d190 100644 --- a/pdex/src/processing/mode/experimental/CompletionPanel.java +++ b/pdex/src/processing/mode/experimental/CompletionPanel.java @@ -84,7 +84,7 @@ public class CompletionPanel { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { insertSelection(); - hideSuggestion(); + hide(); } } }); @@ -137,12 +137,12 @@ public class CompletionPanel { } catch (BadLocationException e1) { e1.printStackTrace(); } - hideSuggestion(); + hide(); } return false; } - public void hideSuggestion() { + public void hide() { popupMenu.setVisible(false); log("Suggestion hidden" + System.nanoTime()); //textarea.errorCheckerService.getASTGenerator().jdocWindowVisible(false); diff --git a/pdex/src/processing/mode/experimental/TextArea.java b/pdex/src/processing/mode/experimental/TextArea.java index beb084683..940267395 100644 --- a/pdex/src/processing/mode/experimental/TextArea.java +++ b/pdex/src/processing/mode/experimental/TextArea.java @@ -173,11 +173,18 @@ public class TextArea extends JEditTextArea { case KeyEvent.VK_BACK_SPACE: log("BK Key"); break; + case KeyEvent.VK_SPACE: + if (suggestion != null) + if (suggestion.isVisible()) { + log("Space bar, hide completion list"); + suggestion.hide(); + } + break; default: break; } } - super.processKeyEvent(evt); + super.processKeyEvent(evt); if (evt.getID() == KeyEvent.KEY_TYPED) { final KeyEvent evt2 = evt; @@ -259,20 +266,14 @@ public class TextArea extends JEditTextArea { } } private String fetchPhrase(KeyEvent evt) { - if (evt != null) { - char keyChar = evt.getKeyChar(); - if (keyChar == KeyEvent.VK_ENTER) { - //log("Enter keypress."); - return null; - } -// if (keyChar == KeyEvent.VK_BACK_SPACE || keyChar == KeyEvent.VK_DELETE) -// ; // accepted these keys - else if (keyChar == KeyEvent.VK_ESCAPE) { - //log("ESC keypress. fetchPhrase()"); - return null; - } else if (keyChar == KeyEvent.VK_TAB || keyChar == KeyEvent.CHAR_UNDEFINED) { - return null; - } + char keyChar = evt.getKeyChar(); + if (keyChar == KeyEvent.VK_ENTER) { + return null; + } else if (keyChar == KeyEvent.VK_ESCAPE) { + return null; + } else if (keyChar == KeyEvent.VK_SPACE || keyChar == KeyEvent.VK_TAB + || keyChar == KeyEvent.CHAR_UNDEFINED) { + return null; } int off = getCaretPosition(); log2("off " + off); @@ -741,7 +742,7 @@ public class TextArea extends JEditTextArea { private void hideSuggestion() { if (suggestion != null) { - suggestion.hideSuggestion(); + suggestion.hide(); suggestion = null; } }