[autocomplete] 92/143: Integrating TemplateCompletions into JavaScript language support.

Benjamin Mesing ben at alioth.debian.org
Sat Oct 19 12:53:24 UTC 2013


This is an automated email from the git hooks/post-receive script.

ben pushed a commit to branch master
in repository autocomplete.

commit 2608e280a52cd2c417972e3fd181b7221087d156
Author: bobbylight <robert at fifesoft.com>
Date:   Thu Jun 28 03:09:59 2012 +0000

    Integrating TemplateCompletions into JavaScript language support.
---
 .../ui/autocomplete/CompletionCellRenderer.java    |   59 ++++++++++++++++++--
 1 file changed, 54 insertions(+), 5 deletions(-)

diff --git a/src/org/fife/ui/autocomplete/CompletionCellRenderer.java b/src/org/fife/ui/autocomplete/CompletionCellRenderer.java
index 309b90d..e3e259f 100644
--- a/src/org/fife/ui/autocomplete/CompletionCellRenderer.java
+++ b/src/org/fife/ui/autocomplete/CompletionCellRenderer.java
@@ -30,6 +30,7 @@ import javax.swing.text.View;
  *    <li>{@link VariableCompletion}s</li>
  *    <li>{@link MarkupTagCompletion}s</li>
  *    <li>{@link ShorthandCompletion}s</li>
+ *    <li>{@link TemplateCompletion}s</li>
  * </ul>
  *
  * @author Robert Futrell
@@ -55,9 +56,21 @@ public class CompletionCellRenderer extends DefaultListCellRenderer {
 	 */
 	private boolean showTypes;
 
-private boolean selected;
-private Color realBG;
-private Rectangle paintTextR;
+	/**
+	 * During rendering, whether the item being rendered is selected.
+	 */
+	private boolean selected;
+
+	/**
+	 * During rendering, this is the "real" background color of the item being
+	 * rendered (i.e., what its background color is if it isn't selected).
+	 */
+	private Color realBG;
+
+	/**
+	 * Used in rendering calculations.
+	 */
+	private Rectangle paintTextR;
 
 	/**
 	 * Keeps the HTML descriptions from "wrapping" in the list, which cuts off
@@ -116,8 +129,8 @@ private Rectangle paintTextR;
 		if (font!=null) {
 			setFont(font); // Overrides super's setFont(list.getFont()).
 		}
-this.selected = selected;
-this.realBG = altBG!=null && (index&1)==0 ? altBG : list.getBackground();
+		this.selected = selected;
+		this.realBG = altBG!=null && (index&1)==0 ? altBG : list.getBackground();
 
 		if (value instanceof FunctionCompletion) {
 			FunctionCompletion fc = (FunctionCompletion)value;
@@ -127,6 +140,10 @@ this.realBG = altBG!=null && (index&1)==0 ? altBG : list.getBackground();
 			VariableCompletion vc = (VariableCompletion)value;
 			prepareForVariableCompletion(list, vc, index, selected, hasFocus);
 		}
+		else if (value instanceof TemplateCompletion) {
+			TemplateCompletion tc = (TemplateCompletion)value;
+			prepareForTemplateCompletion(list, tc, index, selected, hasFocus);
+		}
 		else if (value instanceof MarkupTagCompletion) {
 			MarkupTagCompletion mtc = (MarkupTagCompletion)value;
 			prepareForMarkupTagCompletion(list, mtc, index, selected, hasFocus);
@@ -311,6 +328,38 @@ this.realBG = altBG!=null && (index&1)==0 ? altBG : list.getBackground();
 
 
 	/**
+	 * Prepares this renderer to display a template completion.
+	 *
+	 * @param list The list of choices being rendered.
+	 * @param tc The completion to render.
+	 * @param index The index into <code>list</code> being rendered.
+	 * @param selected Whether the item is selected.
+	 * @param hasFocus Whether the item has focus.
+	 */
+	protected void prepareForTemplateCompletion(JList list,
+		TemplateCompletion tc, int index, boolean selected, boolean hasFocus) {
+
+		StringBuffer sb = new StringBuffer(PREFIX);
+		sb.append(tc.getInputText());
+
+		String definition = tc.getDefinitionString();
+		if (definition!=null) {
+			sb.append(" - ");
+			if (!selected) {
+				sb.append("<font color='#808080'>");
+			}
+			sb.append(definition);
+			if (!selected) {
+				sb.append("</font>");
+			}
+		}
+
+		setText(sb.toString());
+
+	}
+
+
+	/**
 	 * Prepares this renderer to display a variable completion.
 	 *
 	 * @param list The list of choices being rendered.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git



More information about the pkg-java-commits mailing list