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

ben pushed a commit to branch master
in repository autocomplete.

commit 483ec0292f9c3917fc710a824033aefe4eb3c559
Author: bobbylight <[email protected]>
Date:   Thu Jan 1 17:36:55 2009 +0000

    Making AutoCompletion.doCompletion() a way to programmatically display the 
completion popup window.
---
 .../ui/autocomplete/AutoCompletePopupWindow.java   |   15 +++-
 src/org/fife/ui/autocomplete/AutoCompletion.java   |   83 +++++++++++---------
 2 files changed, 60 insertions(+), 38 deletions(-)

diff --git a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java 
b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java
index d14c08d..ef5fe05 100644
--- a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java
+++ b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java
@@ -176,9 +176,20 @@ lastLine = -1;
        }
 
 
+       /**
+        * Inserts the currently selected completion.
+        *
+        * @see #getSelection()
+        */
+       public void insertSelectedCompletion() {
+               Completion comp = getSelection();
+               ac.insertCompletion(comp);
+       }
+
+
        public void mouseClicked(MouseEvent e) {
                if (e.getClickCount()==2) {
-                       ac.doCompletion();
+                       insertSelectedCompletion();
                }
        }
 
@@ -510,7 +521,7 @@ lastLine = -1;
 
                public void actionPerformed(ActionEvent e) {
                        if (isVisible()) {
-                               ac.doCompletion();
+                               insertSelectedCompletion();
                        }
                }
 
diff --git a/src/org/fife/ui/autocomplete/AutoCompletion.java 
b/src/org/fife/ui/autocomplete/AutoCompletion.java
index 88c693b..2f40157 100644
--- a/src/org/fife/ui/autocomplete/AutoCompletion.java
+++ b/src/org/fife/ui/autocomplete/AutoCompletion.java
@@ -134,37 +134,12 @@ public class AutoCompletion implements HierarchyListener, 
ComponentListener {
        }
 
 
+       /**
+        * Displays the popup window.  Hosting applications can call this method
+        * to programmatically begin an auto-completion operation.
+        */
        public void doCompletion() {
-               Completion comp = popupWindow.getSelection();
-               doCompletionImpl(comp);
-       }
-
-
-       private void doCompletionImpl(Completion c) {
-
-               JTextComponent textComp = getTextComponent();
-               String alreadyEntered = c.getAlreadyEntered(textComp);
-               hidePopupWindow();
-               Caret caret = textComp.getCaret();
-
-               int dot = caret.getDot();
-               caret.setDot(dot - alreadyEntered.length());
-               caret.moveDot(dot);
-               textComp.replaceSelection(c.getReplacementText());
-/*
-               Document doc = textComp.getDocument();
-               int end = caret.getDot();
-               int start = end - alreadyEntered.length();
-try {
-               if (doc instanceof AbstractDocument) {
-                       ((AbstractDocument)doc).replace(start, end-start, 
c.getReplacementText(), null);
-               }
-               else {
-                       doc.remove(start, end-start);
-                       doc.insertString(start, c.getReplacementText(), null);
-               }
-} catch (javax.swing.text.BadLocationException ble) { ble.printStackTrace(); }
-*/
+               refreshPopupWindow();
        }
 
 
@@ -280,6 +255,9 @@ try {
        }
 
 
+       /**
+        * Hides the popup window, if it is visible.
+        */
        private void hidePopupWindow() {
                if (popupWindow!=null) {
                        if (popupWindow.isVisible()) {
@@ -290,6 +268,39 @@ try {
 
 
        /**
+        * Inserts a completion.
+        *
+        * @param c A completion to insert.  This cannot be <code>null</code>.
+        */
+       void insertCompletion(Completion c) {
+
+               JTextComponent textComp = getTextComponent();
+               String alreadyEntered = c.getAlreadyEntered(textComp);
+               hidePopupWindow();
+               Caret caret = textComp.getCaret();
+
+               int dot = caret.getDot();
+               caret.setDot(dot - alreadyEntered.length());
+               caret.moveDot(dot);
+               textComp.replaceSelection(c.getReplacementText());
+/*
+               Document doc = textComp.getDocument();
+               int end = caret.getDot();
+               int start = end - alreadyEntered.length();
+try {
+               if (doc instanceof AbstractDocument) {
+                       ((AbstractDocument)doc).replace(start, end-start, 
c.getReplacementText(), null);
+               }
+               else {
+                       doc.remove(start, end-start);
+                       doc.insertString(start, c.getReplacementText(), null);
+               }
+} catch (javax.swing.text.BadLocationException ble) { ble.printStackTrace(); }
+*/
+       }
+
+
+       /**
         * Installs this autocompletion on a text component.  If this
         * {@link AutoCompletion} is already installed on another text 
component,
         * it is uninstalled first.
@@ -336,6 +347,11 @@ try {
        }
 
 
+       /**
+        * Returns whether the popup window is visible.
+        *
+        * @return Whether the popup window is visible.
+        */
        private boolean isPopupVisible() {
                return popupWindow!=null && popupWindow.isVisible();
        }
@@ -364,11 +380,6 @@ try {
                        }
 
                        popupWindow.setCompletions(completions);
-//                     popupWindow.clear();
-//                     for (int i=0; i<completions.size(); i++) {
-//                             
-//                             
popupWindow.addItem((Completion)completions.get(i));
-//                     }
                        popupWindow.selectFirstItem();
 
                        if (!popupWindow.isVisible()) {
@@ -393,7 +404,7 @@ try {
                else if (count==1) { // !isPopupVisible && 
autoCompleteSingleChoices
                        SwingUtilities.invokeLater(new Runnable() {
                                public void run() {
-                                       
doCompletionImpl((Completion)completions.get(0));
+                                       
insertCompletion((Completion)completions.get(0));
                                }
                        });
                }

-- 
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

Reply via email to