You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/02/14 02:52:48 UTC

svn commit: r909948 - in /pivot/trunk: wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java wtk/src/org/apache/pivot/wtk/Alert.java wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java

Author: gbrown
Date: Sun Feb 14 01:52:47 2010
New Revision: 909948

URL: http://svn.apache.org/viewvc?rev=909948&view=rev
Log:
Various minor fixes.

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Alert.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java?rev=909948&r1=909947&r2=909948&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java Sun Feb 14 01:52:47 2010
@@ -26,6 +26,7 @@
 import org.apache.pivot.wtk.Border;
 import org.apache.pivot.wtk.Component;
 import org.apache.pivot.wtk.ComponentKeyListener;
+import org.apache.pivot.wtk.ComponentStateListener;
 import org.apache.pivot.wtk.Container;
 import org.apache.pivot.wtk.ContainerMouseListener;
 import org.apache.pivot.wtk.Direction;
@@ -83,6 +84,18 @@
         }
     };
 
+    private ComponentStateListener textInputStateListener = new ComponentStateListener.Adapter() {
+        @Override
+        public void focusedChanged(Component component, Component obverseComponent) {
+            SuggestionPopup suggestionPopup = (SuggestionPopup)getComponent();
+
+            if (!component.isFocused()
+                && !suggestionPopup.containsFocus()) {
+                suggestionPopup.close();
+            }
+        }
+    };
+
     private ComponentKeyListener textInputKeyListener = new ComponentKeyListener.Adapter() {
         @Override
         public boolean keyPressed(Component component, int keyCode,
@@ -221,13 +234,11 @@
             }
 
             case Keyboard.KeyCode.TAB: {
-                suggestionPopup.close(true);
+                suggestionPopup.close(false);
 
-                if (suggestionPopup.isClosed()) {
-                    Direction direction = (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) ?
-                        Direction.BACKWARD : Direction.FORWARD;
-                    textInput.transferFocus(direction);
-                }
+                Direction direction = (Keyboard.isPressed(Keyboard.Modifier.SHIFT)) ?
+                    Direction.BACKWARD : Direction.FORWARD;
+                textInput.transferFocus(direction);
 
                 break;
             }
@@ -252,6 +263,7 @@
 
         SuggestionPopup suggestionPopup = (SuggestionPopup)getComponent();
         TextInput textInput = suggestionPopup.getTextInput();
+        textInput.getComponentStateListeners().add(textInputStateListener);
         textInput.getComponentKeyListeners().add(textInputKeyListener);
 
         // Reposition under text input
@@ -274,17 +286,7 @@
     @Override
     public void windowClosed(Window window, Display display, Window owner) {
         display.getContainerMouseListeners().remove(displayMouseListener);
-
-        SuggestionPopup suggestionPopup = (SuggestionPopup)getComponent();
-        suggestionPopup.clearFocusDescendant();
-
-        TextInput textInput = suggestionPopup.getTextInput();
-        textInput.getComponentKeyListeners().remove(textInputKeyListener);
-
         super.windowClosed(window, display, owner);
-
-        textInput.requestFocus();
-        textInput.setSelection(textInput.getTextLength(), 0);
     }
 
     @Override
@@ -345,6 +347,16 @@
 
     @Override
     public void suggestionPopupClosed(SuggestionPopup suggestionPopup) {
+        suggestionPopup.clearFocusDescendant();
+
+        TextInput textInput = suggestionPopup.getTextInput();
+        textInput.getComponentStateListeners().remove(textInputStateListener);
+        textInput.getComponentKeyListeners().remove(textInputKeyListener);
+
+        if (suggestionPopup.getResult()) {
+            textInput.requestFocus();
+        }
+
         suggestionListViewBorder.setEnabled(true);
         closeTransition = null;
     }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Alert.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Alert.java?rev=909948&r1=909947&r2=909948&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Alert.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Alert.java Sun Feb 14 01:52:47 2010
@@ -145,6 +145,7 @@
     public static void alert(MessageType messageType, String message, Component body, Display display,
         DialogCloseListener dialogCloseListener) {
         Alert alert = createAlert(messageType, message, body);
+        alert.setModal(false);
         alert.open(display, dialogCloseListener);
     }
 
@@ -168,6 +169,7 @@
     public static void alert(MessageType messageType, String message, Component body, Window owner,
         DialogCloseListener dialogCloseListener) {
         Alert alert = createAlert(messageType, message, body);
+        alert.setModal(true);
         alert.open(owner.getDisplay(), owner, dialogCloseListener);
     }
 
@@ -175,7 +177,7 @@
         List<Object> options = new ArrayList<Object>();
         options.add(resources.get("defaultOption"));
 
-        Alert alert = new Alert(messageType, message, options, body, true);
+        Alert alert = new Alert(messageType, message, options, body);
         alert.setTitle((String)resources.get("defaultTitle"));
         alert.setSelectedOption(0);
 

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java?rev=909948&r1=909947&r2=909948&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java Sun Feb 14 01:52:47 2010
@@ -331,6 +331,7 @@
     @Override
     public void listDataChanged(ListButton listButton, List<?> previousListData) {
         listView.setListData(listButton.getListData());
+        invalidateComponent();
     }
 
     @Override