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/10/01 14:02:47 UTC
svn commit: r1003503 - in /pivot/trunk:
tutorials/src/org/apache/pivot/tutorials/text/
wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/
Author: gbrown
Date: Fri Oct 1 12:02:46 2010
New Revision: 1003503
URL: http://svn.apache.org/viewvc?rev=1003503&view=rev
Log:
Add a "listSize" property to SuggestionPopup (similar to ListButton).
Modified:
pivot/trunk/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java?rev=1003503&r1=1003502&r2=1003503&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java Fri Oct 1 12:02:46 2010
@@ -118,6 +118,8 @@ public class SuggestionPopups extends Wi
suggestionPopup.close();
}
});
+
+ suggestionPopup.setListSize(4);
}
@Override
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=1003503&r1=1003502&r2=1003503&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 Fri Oct 1 12:02:46 2010
@@ -303,12 +303,30 @@ public class TerraSuggestionPopupSkin ex
public void windowOpened(Window window) {
super.windowOpened(window);
+ // Adjust for list size
+ SuggestionPopup suggestionPopup = (SuggestionPopup)window;
+
+ int listSize = suggestionPopup.getListSize();
+ if (listSize == -1) {
+ listViewBorder.setPreferredHeight(-1);
+ } else {
+ if (!listViewBorder.isPreferredHeightSet()) {
+ ListView.ItemRenderer itemRenderer = listView.getItemRenderer();
+ int borderHeight = itemRenderer.getPreferredHeight(-1) * listSize + 2;
+
+ if (listViewBorder.getPreferredHeight() > borderHeight) {
+ listViewBorder.setPreferredHeight(borderHeight);
+ } else {
+ listViewBorder.setPreferredHeight(-1);
+ }
+ }
+ }
+
Display display = window.getDisplay();
display.getContainerMouseListeners().add(displayMouseListener);
dropShadowDecorator.setShadowOpacity(DropShadowDecorator.DEFAULT_SHADOW_OPACITY);
- SuggestionPopup suggestionPopup = (SuggestionPopup)window;
TextInput textInput = suggestionPopup.getTextInput();
textInput.getComponentStateListeners().add(textInputStateListener);
textInput.getComponentKeyListeners().add(textInputKeyListener);
@@ -350,6 +368,11 @@ public class TerraSuggestionPopupSkin ex
}
@Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ // No-op
+ }
+
+ @Override
public void selectedIndexChanged(SuggestionPopup suggestionPopup, int previousSelectedIndex) {
// No-op
}
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=1003503&r1=1003502&r2=1003503&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java Fri Oct 1 12:02:46 2010
@@ -47,6 +47,13 @@ public class SuggestionPopup extends Win
listener.suggestionRendererChanged(suggestionPopup, previousSuggestionRenderer);
}
}
+
+ @Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ for (SuggestionPopupListener listener : this) {
+ listener.listSizeChanged(suggestionPopup, previousListSize);
+ }
+ }
}
private static class SuggestionPopupItemListenerList extends ListenerList<SuggestionPopupItemListener>
@@ -139,6 +146,7 @@ public class SuggestionPopup extends Win
private List<?> suggestionData;
private ListView.ItemRenderer suggestionRenderer;
private int selectedIndex = -1;
+ private int listSize = -1;
private boolean result = false;
@@ -359,6 +367,22 @@ public class SuggestionPopup extends Win
setSelectedIndex((suggestion == null) ? -1 : ((List<Object>)suggestionData).indexOf(suggestion));
}
+ public int getListSize() {
+ return listSize;
+ }
+
+ public void setListSize(int listSize) {
+ if (listSize < -1) {
+ throw new IllegalArgumentException("Invalid list size.");
+ }
+
+ int previousListSize = this.listSize;
+ if (previousListSize != listSize) {
+ this.listSize = listSize;
+
+ }
+ }
+
@Override
public final void open(Display display, Window owner) {
if (textInput == null) {
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=1003503&r1=1003502&r2=1003503&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java Fri Oct 1 12:02:46 2010
@@ -35,6 +35,10 @@ public interface SuggestionPopupListener
public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
ListView.ItemRenderer previousSuggestionRenderer) {
}
+
+ @Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ }
}
/**
@@ -53,4 +57,12 @@ public interface SuggestionPopupListener
*/
public void suggestionRendererChanged(SuggestionPopup suggestionPopup,
ListView.ItemRenderer previousSuggestionRenderer);
+
+ /**
+ * Called when a suggestion popup's list size has changed.
+ *
+ * @param suggestionPopup
+ * @param previousListSize
+ */
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize);
}