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:12:33 UTC
svn commit: r1003505 - in /pivot/branches/1.5.x:
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:12:33 2010
New Revision: 1003505
URL: http://svn.apache.org/viewvc?rev=1003505&view=rev
Log:
Add a "listSize" property to SuggestionPopup (similar to ListButton).
Modified:
pivot/branches/1.5.x/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java
pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/ListButton.java
pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
Modified: pivot/branches/1.5.x/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java (original)
+++ pivot/branches/1.5.x/tutorials/src/org/apache/pivot/tutorials/text/SuggestionPopups.java Fri Oct 1 12:12:33 2010
@@ -126,6 +126,8 @@ public class SuggestionPopups implements
stateTextInput.getTextInputCharacterListeners().add(textInputCharacterListener);
+ suggestionPopup.setListSize(4);
+
window.open(display);
stateTextInput.requestFocus();
}
Modified: pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java Fri Oct 1 12:12:33 2010
@@ -670,17 +670,6 @@ public class TerraListButtonSkin extends
int width = getWidth();
int height = getHeight();
- // TODO
- /*
- if (listButton.isSplit()) {
- Bounds triggerBounds = new Bounds(Math.max(width - TRIGGER_WIDTH - 1, 0), 0,
- TRIGGER_WIDTH + 1, Math.max(height, 0));
- if (!triggerBounds.contains(mouseDownX, mouseDownY)) {
- return;
- }
- }
- */
-
// Adjust for list size
int listSize = listButton.getListSize();
if (listSize == -1) {
Modified: pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java (original)
+++ pivot/branches/1.5.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSuggestionPopupSkin.java Fri Oct 1 12:12:33 2010
@@ -265,12 +265,30 @@ public class TerraSuggestionPopupSkin ex
public void windowOpened(Window window) {
super.windowOpened(window);
+ SuggestionPopup suggestionPopup = (SuggestionPopup)window;
+
+ // Adjust for list size
+ int listSize = suggestionPopup.getListSize();
+ if (listSize == -1) {
+ suggestionListViewBorder.setPreferredHeight(-1);
+ } else {
+ if (!suggestionListViewBorder.isPreferredHeightSet()) {
+ ListView.ItemRenderer itemRenderer = suggestionListView.getItemRenderer();
+ int borderHeight = itemRenderer.getPreferredHeight(-1) * listSize + 2;
+
+ if (suggestionListViewBorder.getPreferredHeight() > borderHeight) {
+ suggestionListViewBorder.setPreferredHeight(borderHeight);
+ } else {
+ suggestionListViewBorder.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);
@@ -325,6 +343,11 @@ public class TerraSuggestionPopupSkin ex
}
@Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ // No-op
+ }
+
+ @Override
public Vote previewSuggestionPopupClose(final SuggestionPopup suggestionPopup, final boolean result) {
if (closeTransition == null) {
suggestionListViewBorder.setEnabled(false);
Modified: pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/ListButton.java Fri Oct 1 12:12:33 2010
@@ -429,7 +429,7 @@ public class ListButton extends Button {
int previousListSize = this.listSize;
if (previousListSize != listSize) {
this.listSize = listSize;
-
+ listButtonListeners.listSizeChanged(this, previousListSize);
}
}
Modified: pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java (original)
+++ pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopup.java Fri Oct 1 12:12:33 2010
@@ -51,6 +51,13 @@ public class SuggestionPopup extends Win
listener.selectedIndexChanged(suggestionPopup, previousSelectedIndex);
}
}
+
+ @Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ for (SuggestionPopupListener listener : this) {
+ listener.listSizeChanged(suggestionPopup, previousListSize);
+ }
+ }
}
private static class SuggestionPopupStateListenerList extends ListenerList<SuggestionPopupStateListener>
@@ -87,6 +94,7 @@ public class SuggestionPopup extends Win
private List<?> suggestions;
private ListView.ItemRenderer suggestionRenderer;
private int selectedIndex = -1;
+ private int listSize = -1;
private boolean result = false;
@@ -210,6 +218,22 @@ public class SuggestionPopup extends Win
return item;
}
+ 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;
+ suggestionPopupListeners.listSizeChanged(this, previousListSize);
+ }
+ }
+
@Override
public final void open(Display display, Window owner) {
if (textInput == null) {
Modified: pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java
URL: http://svn.apache.org/viewvc/pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java?rev=1003505&r1=1003504&r2=1003505&view=diff
==============================================================================
--- pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java (original)
+++ pivot/branches/1.5.x/wtk/src/org/apache/pivot/wtk/SuggestionPopupListener.java Fri Oct 1 12:12:33 2010
@@ -40,6 +40,10 @@ public interface SuggestionPopupListener
public void selectedIndexChanged(SuggestionPopup suggestionPopup,
int previousSelectedIndex) {
}
+
+ @Override
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize) {
+ }
}
/**
@@ -66,4 +70,12 @@ public interface SuggestionPopupListener
* @param previousSelectedIndex
*/
public void selectedIndexChanged(SuggestionPopup suggestionPopup, int previousSelectedIndex);
+
+ /**
+ * Called when a suggestion popup's list size has changed.
+ *
+ * @param suggestionPopup
+ * @param previousListSize
+ */
+ public void listSizeChanged(SuggestionPopup suggestionPopup, int previousListSize);
}