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/11 22:04:27 UTC

svn commit: r909144 - in /pivot/trunk: demos/src/org/apache/pivot/demos/rss/ demos/src/org/apache/pivot/demos/suggest/ tutorials/src/org/apache/pivot/tutorials/webqueries/ wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/ wtk...

Author: gbrown
Date: Thu Feb 11 21:04:26 2010
New Revision: 909144

URL: http://svn.apache.org/viewvc?rev=909144&view=rev
Log:
Move toString() method to ListView.ItemRenderer; remove SuggestionPopup.SuggestionRenderer.

Removed:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/SuggestionPopupItemRenderer.java
Modified:
    pivot/trunk/demos/src/org/apache/pivot/demos/rss/RSSItemRenderer.java
    pivot/trunk/demos/src/org/apache/pivot/demos/suggest/SuggestionDemo.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/webqueries/ResultItemRenderer.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/ListViewItemRenderer.java

Modified: pivot/trunk/demos/src/org/apache/pivot/demos/rss/RSSItemRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/demos/src/org/apache/pivot/demos/rss/RSSItemRenderer.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/demos/src/org/apache/pivot/demos/rss/RSSItemRenderer.java (original)
+++ pivot/trunk/demos/src/org/apache/pivot/demos/rss/RSSItemRenderer.java Thu Feb 11 21:04:26 2010
@@ -113,4 +113,9 @@
         categoriesLabel.getStyles().put("color", color);
         submitterLabel.getStyles().put("color", color);
     }
+
+    @Override
+    public String toString(Object item) {
+        return XMLSerializer.getText((Element)item, "title");
+    }
 }

Modified: pivot/trunk/demos/src/org/apache/pivot/demos/suggest/SuggestionDemo.java
URL: http://svn.apache.org/viewvc/pivot/trunk/demos/src/org/apache/pivot/demos/suggest/SuggestionDemo.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/demos/src/org/apache/pivot/demos/suggest/SuggestionDemo.java (original)
+++ pivot/trunk/demos/src/org/apache/pivot/demos/suggest/SuggestionDemo.java Thu Feb 11 21:04:26 2010
@@ -83,7 +83,7 @@
         }
 
         // Get the query text
-        final String text;
+        String text;
         try {
             text = URLEncoder.encode(textInput.getText(), "UTF-8");
         } catch (UnsupportedEncodingException exception) {
@@ -116,6 +116,13 @@
                             @Override
                             public void suggestionPopupClosed(SuggestionPopup suggestionPopup) {
                                 if (suggestionPopup.getResult()) {
+                                    String text;
+                                    try {
+                                        text = URLEncoder.encode(textInput.getText(), "UTF-8");
+                                    } catch (UnsupportedEncodingException exception) {
+                                        throw new RuntimeException(exception);
+                                    }
+
                                     String location = "http://search.yahoo.com/search?p=" + text;
 
                                     try {

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/webqueries/ResultItemRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/webqueries/ResultItemRenderer.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/webqueries/ResultItemRenderer.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/webqueries/ResultItemRenderer.java Thu Feb 11 21:04:26 2010
@@ -20,6 +20,7 @@
 import java.awt.Font;
 
 import org.apache.pivot.collections.Map;
+import org.apache.pivot.serialization.JSONSerializer;
 import org.apache.pivot.wtk.BoxPane;
 import org.apache.pivot.wtk.Insets;
 import org.apache.pivot.wtk.Label;
@@ -49,22 +50,24 @@
     }
 
     @Override
-    @SuppressWarnings("unchecked")
+    public String toString(Object item) {
+        return JSONSerializer.getString(item, "title");
+    }
+
+    @Override
     public void render(Object item, int index, ListView listView, boolean selected,
         boolean checked, boolean highlighted, boolean disabled) {
         if (item != null) {
-            Map<String, Object> map = (Map<String, Object>)item;
-
-            titleLabel.setText((String)map.get("title"));
-            phoneLabel.setText((String)map.get("Phone"));
+            titleLabel.setText(JSONSerializer.getString(item, "title"));
+            phoneLabel.setText(JSONSerializer.getString(item, "Phone"));
 
-            Map<String, Object> location = (Map<String, Object>)map.get("y:location");
+            Map<String, ?> location = JSONSerializer.getMap(item, "['y:location']");
             if (location == null) {
                 addressLabel.setText(null);
             } else {
-                String street = (String)location.get("street");
-                String city = (String)location.get("city");
-                String state = (String)location.get("state");
+                String street = JSONSerializer.getString(location, "street");
+                String city = JSONSerializer.getString(location, "city");
+                String state = JSONSerializer.getString(location, "state");
                 addressLabel.setText(street + ", " + city + " " + state);
             }
         }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java Thu Feb 11 21:04:26 2010
@@ -217,6 +217,17 @@
                 label.setText(text);
             }
         }
+
+        @Override
+        public String toString(Object item) {
+            File file = (File)item;
+            String text = file.getName();
+            if (text.length() == 0) {
+                text = System.getProperty("file.separator");
+            }
+
+            return text;
+        }
     }
 
     /**
@@ -398,6 +409,11 @@
                 label.setText(file.toString());
             }
         }
+
+        @Override
+        public String toString(Object item) {
+            return null;
+        }
     }
 
     /**

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=909144&r1=909143&r2=909144&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 Thu Feb 11 21:04:26 2010
@@ -296,7 +296,7 @@
 
     @Override
     public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
-        SuggestionPopup.SuggestionRenderer previousSuggestionRenderer) {
+        ListView.ItemRenderer previousSuggestionRenderer) {
         suggestionListView.setItemRenderer(suggestionPopup.getSuggestionRenderer());
     }
 
@@ -307,8 +307,7 @@
 
         Object suggestion = suggestionPopup.getSelectedSuggestion();
         if (suggestion != null) {
-            SuggestionPopup.SuggestionRenderer suggestionRenderer =
-                suggestionPopup.getSuggestionRenderer();
+            ListView.ItemRenderer suggestionRenderer = suggestionPopup.getSuggestionRenderer();
             textInput.setText(suggestionRenderer.toString(suggestion));
         }
     }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java Thu Feb 11 21:04:26 2010
@@ -92,6 +92,13 @@
          */
         public void render(Object item, int index, ListView listView, boolean selected,
             boolean checked, boolean highlighted, boolean disabled);
+
+        /**
+         * Converts a list item to a string representation.
+         *
+         * @param item
+         */
+        public String toString(Object item);
     }
 
     /**

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java Thu Feb 11 21:04:26 2010
@@ -20,26 +20,12 @@
 import org.apache.pivot.collections.List;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.util.Vote;
-import org.apache.pivot.wtk.content.SuggestionPopupItemRenderer;
+import org.apache.pivot.wtk.content.ListViewItemRenderer;
 
 /**
  * Popup that presents a list of text suggestions to the user.
  */
 public class SuggestionPopup extends Window {
-    /**
-     * Extends list view item renderer interface to provide support for converting
-     * suggestions to text.
-     */
-    public interface SuggestionRenderer extends ListView.ItemRenderer {
-        /**
-         * Converts a suggestion to a string representation for display in a
-         * text input.
-         *
-         * @param suggestion
-         */
-        public String toString(Object suggestion);
-    }
-
     private static class SuggestionPopupListenerList extends ListenerList<SuggestionPopupListener>
         implements SuggestionPopupListener {
         @Override
@@ -52,7 +38,7 @@
 
         @Override
         public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
-            SuggestionRenderer previousSuggestionRenderer) {
+            ListView.ItemRenderer previousSuggestionRenderer) {
             for (SuggestionPopupListener listener : this) {
                 listener.suggestionRendererChanged(suggestionPopup, previousSuggestionRenderer);
             }
@@ -99,7 +85,7 @@
     private SuggestionPopupCloseListener suggestionPopupCloseListener = null;
 
     private List<?> suggestions;
-    private SuggestionRenderer suggestionRenderer;
+    private ListView.ItemRenderer suggestionRenderer;
     private int selectedIndex = -1;
 
     private boolean result = false;
@@ -109,8 +95,7 @@
     private SuggestionPopupListenerList suggestionPopupListeners = new SuggestionPopupListenerList();
     private SuggestionPopupStateListenerList suggestionPopupStateListeners = new SuggestionPopupStateListenerList();
 
-    private static final SuggestionRenderer DEFAULT_SUGGESTION_RENDERER =
-        new SuggestionPopupItemRenderer();
+    private static final ListView.ItemRenderer DEFAULT_SUGGESTION_RENDERER = new ListViewItemRenderer();
 
     public SuggestionPopup() {
         this(new ArrayList<Object>());
@@ -158,7 +143,7 @@
     /**
      * Returns the list view item renderer used to present suggestions.
      */
-    public SuggestionRenderer getSuggestionRenderer() {
+    public ListView.ItemRenderer getSuggestionRenderer() {
         return suggestionRenderer;
     }
 
@@ -167,8 +152,8 @@
      *
      * @param suggestionRenderer
      */
-    public void setSuggestionRenderer(SuggestionRenderer suggestionRenderer) {
-        SuggestionRenderer previousSuggestionRenderer = this.suggestionRenderer;
+    public void setSuggestionRenderer(ListView.ItemRenderer suggestionRenderer) {
+        ListView.ItemRenderer previousSuggestionRenderer = this.suggestionRenderer;
 
         if (previousSuggestionRenderer != suggestionRenderer) {
             this.suggestionRenderer = suggestionRenderer;

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java Thu Feb 11 21:04:26 2010
@@ -33,7 +33,7 @@
 
         @Override
         public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
-            SuggestionPopup.SuggestionRenderer previousSuggestionRenderer) {
+            ListView.ItemRenderer previousSuggestionRenderer) {
         }
 
         @Override
@@ -57,7 +57,7 @@
      * @param previousSuggestionRenderer
      */
     public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
-        SuggestionPopup.SuggestionRenderer previousSuggestionRenderer);
+        ListView.ItemRenderer previousSuggestionRenderer);
 
     /**
      * Called when a suggestion popup's selected index has changed.

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/ListViewItemRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/ListViewItemRenderer.java?rev=909144&r1=909143&r2=909144&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/ListViewItemRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/ListViewItemRenderer.java Thu Feb 11 21:04:26 2010
@@ -86,6 +86,22 @@
         label.setText(text);
     }
 
+    public String toString(Object suggestion) {
+        if (suggestion == null) {
+            throw new IllegalArgumentException();
+        }
+
+        String string;
+        if (suggestion instanceof ListItem) {
+            ListItem listItem = (ListItem)suggestion;
+            string = listItem.getText();
+        } else {
+            string = suggestion.toString();
+        }
+
+        return string;
+    }
+
     protected void renderStyles(ListView listView, boolean selected,
         boolean highlighted, boolean disabled) {
         imageView.getStyles().put("opacity", listView.isEnabled() ? 1.0f : 0.5f);