This is an automated email from the git hooks/post-receive script. ben pushed a commit to branch master in repository autocomplete.
commit d6e31e03331993751fbcfb2a1d03589fa7b2876a Author: bobbylight <[email protected]> Date: Tue Jun 19 03:35:30 2012 +0000 More minor parameterized completion updates. --- .../ParameterizedCompletionContext.java | 69 +++++++++++++++--- .../ParameterizedCompletionDescriptionToolTip.java | 75 -------------------- 2 files changed, 61 insertions(+), 83 deletions(-) diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java index 49ecdfc..62e2a5e 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionContext.java @@ -116,6 +116,11 @@ class ParameterizedCompletionContext { private Position defaultEndOffs; /** + * The currently "selected" parameter in the displayed text. + */ + private int lastSelectedParam; + + /** * A small popup window giving likely choices for parameterized completions. */ private ParameterizedCompletionChoicesWindow paramChoicesWindow; @@ -170,8 +175,6 @@ class ParameterizedCompletionContext { tip = new ParameterizedCompletionDescriptionToolTip(parentWindow, this, ac, pc); - paramChoicesWindow = createParamChoicesWindow(); - } @@ -477,7 +480,7 @@ class ParameterizedCompletionContext { // "+1" is a workaround for Java Highlight issues. tc.setSelectionStart(currentNext.getStartOffset()+1); tc.setSelectionEnd(currentNext.getEndOffset()); - tip.updateText(pos); + updateToolTipText(pos); } @@ -502,7 +505,6 @@ class ParameterizedCompletionContext { Highlight currentPrev = null; int pos = 0; List highlights = getParameterHighlights(); - int lastSelectedParam = tip.getLastSelectedParam(); for (int i=0; i<highlights.size(); i++) { Highlight h = (Highlight)highlights.get(i); @@ -524,13 +526,13 @@ class ParameterizedCompletionContext { // "+1" is a workaround for Java Highlight issues. tc.setSelectionStart(currentPrev.getStartOffset()+1); tc.setSelectionEnd(currentPrev.getEndOffset()); - tip.updateText(pos); + updateToolTipText(pos); } else if (currentPrev!=null && dot>currentPrev.getStartOffset()) { // "+1" is a workaround for Java Highlight issues. tc.setSelectionStart(currentPrev.getStartOffset()+1); tc.setSelectionEnd(currentPrev.getEndOffset()); - tip.updateText(pos); + updateToolTipText(pos); } else { tc.setCaretPosition(maxPos.getOffset()); @@ -611,7 +613,6 @@ class ParameterizedCompletionContext { } // Toggles visibility, if necessary. - int lastSelectedParam = tip.getLastSelectedParam(); paramChoicesWindow.setParameter(lastSelectedParam, paramPrefix); } @@ -695,6 +696,8 @@ class ParameterizedCompletionContext { if (visible) { + lastSelectedParam = -1; + try { int dot = tc.getCaretPosition(); Rectangle r = tc.modelToView(dot); @@ -713,6 +716,7 @@ class ParameterizedCompletionContext { if (paramChoicesWindow==null) { paramChoicesWindow = createParamChoicesWindow(); } + lastSelectedParam = getCurrentParameterIndex(); prepareParamChoicesWindow(); } @@ -780,6 +784,55 @@ class ParameterizedCompletionContext { /** + * Updates the text in the tool tip to have the current parameter + * displayed in bold. The "current parameter" is determined from the + * current caret position. + * + * @return The "prefix" of text in the caret's parameter before the caret. + */ + private String updateToolTipText() { + + JTextComponent tc = ac.getTextComponent(); + int dot = tc.getSelectionStart(); + int mark = tc.getSelectionEnd(); + int index = -1; + String paramPrefix = null; + + List paramHighlights = getParameterHighlights(); + for (int i=0; i<paramHighlights.size(); i++) { + Highlight h = (Highlight)paramHighlights.get(i); + // "+1" because of param hack - see OutlineHighlightPainter + int start = h.getStartOffset()+1; + if (dot>=start && dot<=h.getEndOffset()) { + try { + // All text selected => offer all suggestions, otherwise + // use prefix before selection + if (dot!=start || mark!=h.getEndOffset()) { + paramPrefix = tc.getText(start, dot-start); + } + } catch (BadLocationException ble) { + ble.printStackTrace(); + } + index = i; + break; + } + } + + updateToolTipText(index); + return paramPrefix; + + } + + + private void updateToolTipText(int selectedParam) { + if (selectedParam!=lastSelectedParam) { + tip.updateText(selectedParam); + this.lastSelectedParam = selectedParam; + } + } + + + /** * Updates the <code>LookAndFeel</code> of all popup windows this context * manages. */ @@ -937,7 +990,7 @@ class ParameterizedCompletionContext { setVisible(false, false); return; } - paramPrefix = tip.updateText(); + paramPrefix = updateToolTipText(); if (tip.isVisible()) { prepareParamChoicesWindow(); } diff --git a/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java b/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java index 8d09c17..cfecaf0 100644 --- a/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java +++ b/src/org/fife/ui/autocomplete/ParameterizedCompletionDescriptionToolTip.java @@ -12,15 +12,11 @@ package org.fife.ui.autocomplete; import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.Window; -import java.util.List; import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JWindow; import javax.swing.SwingUtilities; -import javax.swing.text.BadLocationException; -import javax.swing.text.JTextComponent; -import javax.swing.text.Highlighter.Highlight; import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; @@ -36,21 +32,11 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxUtilities; class ParameterizedCompletionDescriptionToolTip { /** - * The parent context. - */ - private ParameterizedCompletionContext context; - - /** * The actual tool tip. */ private JWindow tooltip; /** - * The parent AutoCompletion instance. - */ - private AutoCompletion ac; - - /** * The label that holds the description. */ private JLabel descLabel; @@ -60,11 +46,6 @@ class ParameterizedCompletionDescriptionToolTip { */ private ParameterizedCompletion pc; - /** - * The currently "selected" parameter in the displayed text. - */ - private int lastSelectedParam; - /** * Constructor. @@ -79,8 +60,6 @@ class ParameterizedCompletionDescriptionToolTip { tooltip = new JWindow(owner); - this.context = context; - this.ac = ac; this.pc = pc; descLabel = new JLabel(); @@ -105,7 +84,6 @@ class ParameterizedCompletionDescriptionToolTip { decorator.decorate(tooltip); } - lastSelectedParam = -1; updateText(0); tooltip.setFocusableWindowState(false); @@ -113,11 +91,6 @@ class ParameterizedCompletionDescriptionToolTip { } - public int getLastSelectedParam() { - return lastSelectedParam; - } - - /** * Returns whether this tool tip is visible. * @@ -178,47 +151,6 @@ class ParameterizedCompletionDescriptionToolTip { /** * Updates the text in the tool tip to have the current parameter - * displayed in bold. The "current parameter" is determined from the - * current caret position. - * - * @return The "prefix" of text in the caret's parameter before the caret. - */ - public String updateText() { - - JTextComponent tc = ac.getTextComponent(); - int dot = tc.getSelectionStart(); - int mark = tc.getSelectionEnd(); - int index = -1; - String paramPrefix = null; - - List paramHighlights = context.getParameterHighlights(); - for (int i=0; i<paramHighlights.size(); i++) { - Highlight h = (Highlight)paramHighlights.get(i); - // "+1" because of param hack - see OutlineHighlightPainter - int start = h.getStartOffset()+1; - if (dot>=start && dot<=h.getEndOffset()) { - try { - // All text selected => offer all suggestions, otherwise - // use prefix before selection - if (dot!=start || mark!=h.getEndOffset()) { - paramPrefix = tc.getText(start, dot-start); - } - } catch (BadLocationException ble) { - ble.printStackTrace(); - } - index = i; - break; - } - } - - updateText(index); - return paramPrefix; - - } - - - /** - * Updates the text in the tool tip to have the current parameter * displayed in bold. * * @param selectedParam The index of the selected parameter. @@ -226,13 +158,6 @@ class ParameterizedCompletionDescriptionToolTip { */ public boolean updateText(int selectedParam) { - // Don't redo everything if they're just using the arrow keys to move - // through each char of a single parameter, for example. - if (selectedParam==lastSelectedParam) { - return false; - } - lastSelectedParam = selectedParam; - StringBuffer sb = new StringBuffer("<html>"); int paramCount = pc.getParamCount(); for (int i=0; i<paramCount; i++) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

