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/27 18:04:32 UTC
svn commit: r916990 - in /pivot/trunk: tests/src/org/apache/pivot/tests/
wtk-terra/src/org/apache/pivot/wtk/skin/terra/
wtk/src/org/apache/pivot/wtk/ wtk/src/org/apache/pivot/wtk/skin/
Author: gbrown
Date: Sat Feb 27 17:04:31 2010
New Revision: 916990
URL: http://svn.apache.org/viewvc?rev=916990&view=rev
Log:
Add bind mapping support to Button and Label; rename ListButton and CalendarButton bind mapping to "selection mapping" to avoid conflict with base class "bind mapping".
Modified:
pivot/trunk/tests/src/org/apache/pivot/tests/data_binding_test.wtkx
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java
Modified: pivot/trunk/tests/src/org/apache/pivot/tests/data_binding_test.wtkx
URL: http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/data_binding_test.wtkx?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/tests/src/org/apache/pivot/tests/data_binding_test.wtkx (original)
+++ pivot/trunk/tests/src/org/apache/pivot/tests/data_binding_test.wtkx Sat Feb 27 17:04:31 2010
@@ -46,9 +46,9 @@
<itemRenderer>
<tests:DataBindingTest.TestListViewItemRenderer/>
</itemRenderer>
- <bindMapping>
+ <selectionBindMapping>
<tests:DataBindingTest.TestBindMapping/>
- </bindMapping>
+ </selectionBindMapping>
</ListButton>
<Spinner spinnerData="$list" selectedItemKey="id3">
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java Sat Feb 27 17:04:31 2010
@@ -820,78 +820,80 @@
fieldIndex < fieldCount; fieldIndex++) {
Component field = section.get(fieldIndex);
- Form.Flag flag = Form.getFlag(field);
+ if (field.isVisible()) {
+ Form.Flag flag = Form.getFlag(field);
- if (flag != null) {
- if (showFlagIcons) {
- MessageType messageType = flag.getMessageType();
- Image flagIcon = null;
-
- switch (messageType) {
- case ERROR: {
- flagIcon = errorIcon;
- break;
+ if (flag != null) {
+ if (showFlagIcons) {
+ MessageType messageType = flag.getMessageType();
+ Image flagIcon = null;
+
+ switch (messageType) {
+ case ERROR: {
+ flagIcon = errorIcon;
+ break;
+ }
+
+ case WARNING: {
+ flagIcon = warningIcon;
+ break;
+ }
+
+ case QUESTION: {
+ flagIcon = questionIcon;
+ break;
+ }
+
+ case INFO: {
+ flagIcon = infoIcon;
+ break;
+ }
}
- case WARNING: {
- flagIcon = warningIcon;
- break;
- }
-
- case QUESTION: {
- flagIcon = questionIcon;
- break;
- }
-
- case INFO: {
- flagIcon = infoIcon;
- break;
- }
+ Label label = labels.get(sectionIndex).get(fieldIndex);
+ int flagIconX = label.getX() - (flagIcon.getWidth() + flagIconOffset);
+ int flagIconY = label.getY() + (label.getHeight() - flagIcon.getHeight()) / 2;
+
+ graphics.translate(flagIconX, flagIconY);
+ flagIcon.paint(graphics);
+ graphics.translate(-flagIconX, -flagIconY);
}
- Label label = labels.get(sectionIndex).get(fieldIndex);
- int flagIconX = label.getX() - (flagIcon.getWidth() + flagIconOffset);
- int flagIconY = label.getY() + (label.getHeight() - flagIcon.getHeight()) / 2;
-
- graphics.translate(flagIconX, flagIconY);
- flagIcon.paint(graphics);
- graphics.translate(-flagIconX, -flagIconY);
- }
-
- if (showFlagHighlight) {
- MessageType messageType = flag.getMessageType();
- Color highlightColor = null;
-
- switch (messageType) {
- case ERROR: {
- highlightColor = errorHighlightColor;
- break;
+ if (showFlagHighlight) {
+ MessageType messageType = flag.getMessageType();
+ Color highlightColor = null;
+
+ switch (messageType) {
+ case ERROR: {
+ highlightColor = errorHighlightColor;
+ break;
+ }
+
+ case WARNING: {
+ highlightColor = warningHighlightColor;
+ break;
+ }
+
+ case QUESTION: {
+ highlightColor = questionHighlightColor;
+ break;
+ }
+
+ case INFO: {
+ highlightColor = infoHighlightColor;
+ break;
+ }
}
- case WARNING: {
- highlightColor = warningHighlightColor;
- break;
- }
-
- case QUESTION: {
- highlightColor = questionHighlightColor;
- break;
- }
+ Bounds fieldBounds = field.getBounds();
- case INFO: {
- highlightColor = infoHighlightColor;
- break;
- }
+ graphics.setColor(highlightColor);
+ graphics.setStroke(new BasicStroke(1));
+ graphics.drawRect(fieldBounds.x - FLAG_HIGHLIGHT_PADDING,
+ fieldBounds.y - FLAG_HIGHLIGHT_PADDING,
+ fieldBounds.width + FLAG_HIGHLIGHT_PADDING * 2 - 1,
+ fieldBounds.height + FLAG_HIGHLIGHT_PADDING * 2 - 1);
}
-
- Bounds fieldBounds = field.getBounds();
-
- graphics.setColor(highlightColor);
- graphics.setStroke(new BasicStroke(1));
- graphics.drawRect(fieldBounds.x - FLAG_HIGHLIGHT_PADDING,
- fieldBounds.y - FLAG_HIGHLIGHT_PADDING,
- fieldBounds.width + FLAG_HIGHLIGHT_PADDING * 2 - 1,
- fieldBounds.height + FLAG_HIGHLIGHT_PADDING * 2 - 1);
}
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java Sat Feb 27 17:04:31 2010
@@ -68,6 +68,25 @@
}
/**
+ * Translates between selection state and context data during data binding.
+ */
+ public interface BindMapping {
+ /**
+ * Converts a context value to a button state.
+ *
+ * @param value
+ */
+ public State toState(Object value);
+
+ /**
+ * Converts a button state to a context value.
+ *
+ * @param state
+ */
+ public Object valueOf(State state);
+ }
+
+ /**
* Button listener list.
*/
private static class ButtonListenerList extends ListenerList<ButtonListener>
@@ -127,6 +146,13 @@
listener.stateKeyChanged(button, previousStateKey);
}
}
+
+ @Override
+ public void bindMappingChanged(Button button, Button.BindMapping previousBindMapping) {
+ for (ButtonListener listener : this) {
+ listener.bindMappingChanged(button, previousBindMapping);
+ }
+ }
}
/**
@@ -174,6 +200,7 @@
private String selectedKey = null;
private String stateKey = null;
+ private BindMapping bindMapping = null;
private ButtonListenerList buttonListeners = new ButtonListenerList();
private ButtonStateListenerList buttonStateListeners = new ButtonStateListenerList();
@@ -495,30 +522,56 @@
}
}
+ public BindMapping getBindMapping() {
+ return bindMapping;
+ }
+
+ public void setBindMapping(BindMapping bindMapping) {
+ BindMapping previousBindMapping = this.bindMapping;
+
+ if (previousBindMapping != bindMapping) {
+ this.bindMapping = bindMapping;
+ buttonListeners.bindMappingChanged(this, previousBindMapping);
+ }
+ }
+
@Override
public void load(Dictionary<String, ?> context) {
if (selectedKey != null
&& JSONSerializer.containsKey(context, selectedKey)) {
Object value = JSONSerializer.get(context, selectedKey);
+ Boolean selected = false;
if (value instanceof Boolean) {
- setSelected((Boolean)value);
+ selected = (Boolean)value;
+ } else if (bindMapping == null) {
+ if (value != null) {
+ selected = Boolean.valueOf(value.toString());
+ }
} else {
- throw new IllegalArgumentException(getClass().getName() + " can't bind to "
- + value + ".");
+ State state = bindMapping.toState(value);
+ selected = (state == State.SELECTED);
}
+
+ setSelected(selected);
}
if (stateKey != null
&& JSONSerializer.containsKey(context, stateKey)) {
Object value = JSONSerializer.get(context, stateKey);
+ State state = State.UNSELECTED;
if (value instanceof State) {
- setState((State)value);
+ state = (State)value;
+ } else if (bindMapping == null) {
+ if (value != null) {
+ state = State.valueOf(value.toString().toUpperCase());
+ }
} else {
- throw new IllegalArgumentException(getClass().getName() + " can't bind to "
- + value + ".");
+ state = bindMapping.toState(value);
}
+
+ setState(state);
}
}
@@ -526,11 +579,13 @@
public void store(Dictionary<String, ?> context) {
if (isEnabled()) {
if (selectedKey != null) {
- JSONSerializer.put(context, selectedKey, isSelected());
+ JSONSerializer.put(context, selectedKey, (bindMapping == null) ?
+ isSelected() : bindMapping.valueOf(state));
}
if (stateKey != null) {
- JSONSerializer.put(context, stateKey, state);
+ JSONSerializer.put(context, stateKey, (bindMapping == null) ?
+ state : bindMapping.valueOf(state));
}
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java Sat Feb 27 17:04:31 2010
@@ -55,6 +55,10 @@
@Override
public void stateKeyChanged(Button button, String previousStateKey) {
}
+
+ @Override
+ public void bindMappingChanged(Button button, Button.BindMapping previousBindMapping) {
+ }
}
/**
@@ -118,4 +122,12 @@
* @param previousStateKey
*/
public void stateKeyChanged(Button button, String previousStateKey);
+
+ /**
+ * Called when a button's bind mapping has changed.
+ *
+ * @param button
+ * @param previousBindMapping
+ */
+ public void bindMappingChanged(Button button, Button.BindMapping previousBindMapping);
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java Sat Feb 27 17:04:31 2010
@@ -358,11 +358,8 @@
if (value instanceof CalendarDate) {
selectedDate = (CalendarDate)value;
} else if (bindMapping == null) {
- if (value instanceof String) {
- selectedDate = CalendarDate.decode((String)value);
- } else if (value != null) {
- throw new IllegalArgumentException("Invalid date type: " +
- value.getClass().getName());
+ if (value != null) {
+ selectedDate = CalendarDate.decode(value.toString());
}
} else {
selectedDate = bindMapping.toDate(value);
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java Sat Feb 27 17:04:31 2010
@@ -61,10 +61,10 @@
}
@Override
- public void bindMappingChanged(CalendarButton calendarButton,
- Calendar.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(CalendarButton calendarButton,
+ Calendar.BindMapping previousSelectionBindMapping) {
for (CalendarButtonListener listener : this) {
- listener.bindMappingChanged(calendarButton, previousBindMapping);
+ listener.selectionBindMappingChanged(calendarButton, previousSelectionBindMapping);
}
}
}
@@ -89,7 +89,7 @@
private Locale locale = Locale.getDefault();
private Filter<CalendarDate> disabledDateFilter = null;
private String selectedDateKey = null;
- private Calendar.BindMapping bindMapping = null;
+ private Calendar.BindMapping selectionBindMapping = null;
private CalendarButtonListenerList calendarButtonListeners =
new CalendarButtonListenerList();
@@ -274,16 +274,16 @@
}
}
- public Calendar.BindMapping getBindMapping() {
- return bindMapping;
+ public Calendar.BindMapping getSelectionBindMapping() {
+ return selectionBindMapping;
}
- public void setBindMapping(Calendar.BindMapping bindMapping) {
- Calendar.BindMapping previousBindMapping = this.bindMapping;
+ public void setSelectionBindMapping(Calendar.BindMapping bindMapping) {
+ Calendar.BindMapping previousSelectionBindMapping = this.selectionBindMapping;
- if (previousBindMapping != bindMapping) {
- this.bindMapping = bindMapping;
- calendarButtonListeners.bindMappingChanged(this, previousBindMapping);
+ if (previousSelectionBindMapping != bindMapping) {
+ this.selectionBindMapping = bindMapping;
+ calendarButtonListeners.selectionBindMappingChanged(this, previousSelectionBindMapping);
}
}
@@ -303,15 +303,12 @@
if (value instanceof CalendarDate) {
selectedDate = (CalendarDate)value;
- } else if (bindMapping == null) {
- if (value instanceof String) {
- selectedDate = CalendarDate.decode((String)value);
- } else if (value != null) {
- throw new IllegalArgumentException("Invalid date type: " +
- value.getClass().getName());
+ } else if (selectionBindMapping == null) {
+ if (value != null) {
+ selectedDate = CalendarDate.decode(value.toString());
}
} else {
- selectedDate = bindMapping.toDate(value);
+ selectedDate = selectionBindMapping.toDate(value);
}
setSelectedDate(selectedDate);
@@ -326,8 +323,8 @@
public void store(Dictionary<String, ?> context) {
if (isEnabled()
&& selectedDateKey != null) {
- JSONSerializer.put(context, selectedDateKey, (bindMapping == null) ?
- selectedDate : bindMapping.valueOf(selectedDate));
+ JSONSerializer.put(context, selectedDateKey, (selectionBindMapping == null) ?
+ selectedDate : selectionBindMapping.valueOf(selectedDate));
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java Sat Feb 27 17:04:31 2010
@@ -44,8 +44,8 @@
}
@Override
- public void bindMappingChanged(CalendarButton calendarButton,
- Calendar.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(CalendarButton calendarButton,
+ Calendar.BindMapping previousSelectionBindMapping) {
}
}
@@ -76,11 +76,11 @@
String previousSelectedDateKey);
/**
- * Called when a calendar button's bind mapping has changed.
+ * Called when a calendar button's selection bind mapping has changed.
*
* @param calendarButton
- * @param previousBindMapping
+ * @param previousSelectionBindMapping
*/
- public void bindMappingChanged(CalendarButton calendarButton,
- Calendar.BindMapping previousBindMapping);
+ public void selectionBindMappingChanged(CalendarButton calendarButton,
+ Calendar.BindMapping previousSelectionBindMapping);
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java Sat Feb 27 17:04:31 2010
@@ -20,11 +20,29 @@
import org.apache.pivot.serialization.JSONSerializer;
import org.apache.pivot.util.ListenerList;
-
/**
* Component that displays a string of text.
*/
public class Label extends Component {
+ /**
+ * Translates between text and context data during data binding.
+ */
+ public interface BindMapping {
+ /**
+ * Converts a value from the bind context to a text representation.
+ *
+ * @param value
+ */
+ public String toString(Object value);
+
+ /**
+ * Converts a text string to a value to be stored in the bind context.
+ *
+ * @param text
+ */
+ public Object valueOf(String text);
+ }
+
private static class LabelListenerList extends ListenerList<LabelListener>
implements LabelListener {
@Override
@@ -40,10 +58,19 @@
listener.textKeyChanged(label, previousTextKey);
}
}
+
+ @Override
+ public void bindMappingChanged(Label label, Label.BindMapping previousBindMapping) {
+ for (LabelListener listener : this) {
+ listener.bindMappingChanged(label, previousBindMapping);
+ }
+ }
}
private String text = null;
private String textKey = null;
+ private BindMapping bindMapping = null;
+
private LabelListenerList labelListeners = new LabelListenerList();
public Label() {
@@ -93,13 +120,30 @@
}
}
+ public BindMapping getBindMapping() {
+ return bindMapping;
+ }
+
+ public void setBindMapping(BindMapping bindMapping) {
+ BindMapping previousBindMapping = this.bindMapping;
+
+ if (previousBindMapping != bindMapping) {
+ this.bindMapping = bindMapping;
+ labelListeners.bindMappingChanged(this, previousBindMapping);
+ }
+ }
+
@Override
public void load(Dictionary<String, ?> context) {
if (textKey != null
&& JSONSerializer.containsKey(context, textKey)) {
Object value = JSONSerializer.get(context, textKey);
- if (value != null) {
+
+ if (bindMapping == null
+ && value != null) {
value = value.toString();
+ } else {
+ value = bindMapping.toString(value);
}
setText((String)value);
@@ -110,7 +154,9 @@
public void store(Dictionary<String, ?> context) {
if (isEnabled()
&& textKey != null) {
- JSONSerializer.put(context, textKey, getText());
+ String text = getText();
+ JSONSerializer.put(context, textKey, (bindMapping == null) ?
+ text : bindMapping.valueOf(text));
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java Sat Feb 27 17:04:31 2010
@@ -31,6 +31,10 @@
@Override
public void textKeyChanged(Label label, String previousTextKey) {
}
+
+ @Override
+ public void bindMappingChanged(Label label, Label.BindMapping previousBindMapping) {
+ }
}
/**
@@ -48,4 +52,12 @@
* @param previousTextKey
*/
public void textKeyChanged(Label label, String previousTextKey);
+
+ /**
+ * Called when a label's bind mapping has changed.
+ *
+ * @param label
+ * @param previousBindMapping
+ */
+ public void bindMappingChanged(Label label, Label.BindMapping previousBindMapping);
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java Sat Feb 27 17:04:31 2010
@@ -62,9 +62,9 @@
}
@Override
- public void bindMappingChanged(ListButton listButton, ListView.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(ListButton listButton, ListView.BindMapping previousSelectionBindMapping) {
for (ListButtonListener listener : this) {
- listener.bindMappingChanged(listButton, previousBindMapping);
+ listener.selectionBindMappingChanged(listButton, previousSelectionBindMapping);
}
}
}
@@ -85,7 +85,7 @@
private Filter<?> disabledItemFilter = null;
private String selectedItemKey = null;
- private ListView.BindMapping bindMapping = null;
+ private ListView.BindMapping selectionBindMapping = null;
private ListButtonListenerList listButtonListeners = new ListButtonListenerList();
private ListButtonSelectionListenerList listButtonSelectionListeners = new ListButtonSelectionListenerList();
@@ -331,16 +331,16 @@
}
}
- public ListView.BindMapping getBindMapping() {
- return bindMapping;
+ public ListView.BindMapping getSelectionBindMapping() {
+ return selectionBindMapping;
}
- public void setBindMapping(ListView.BindMapping bindMapping) {
- ListView.BindMapping previousBindMapping = this.bindMapping;
+ public void setSelectionBindMapping(ListView.BindMapping bindMapping) {
+ ListView.BindMapping previousSelectionBindMapping = this.selectionBindMapping;
- if (previousBindMapping != bindMapping) {
- this.bindMapping = bindMapping;
- listButtonListeners.bindMappingChanged(this, previousBindMapping);
+ if (previousSelectionBindMapping != bindMapping) {
+ this.selectionBindMapping = bindMapping;
+ listButtonListeners.selectionBindMappingChanged(this, previousSelectionBindMapping);
}
}
@@ -352,10 +352,10 @@
Object item = JSONSerializer.get(context, selectedItemKey);
int index;
- if (bindMapping == null) {
+ if (selectionBindMapping == null) {
index = ((List<Object>)listData).indexOf(item);
} else {
- index = bindMapping.indexOf(listData, item);
+ index = selectionBindMapping.indexOf(listData, item);
}
setSelectedIndex(index);
@@ -369,10 +369,10 @@
int selectedIndex = getSelectedIndex();
Object item;
- if (bindMapping == null) {
+ if (selectionBindMapping == null) {
item = listData.get(selectedIndex);
} else {
- item = bindMapping.get(listData, selectedIndex);
+ item = selectionBindMapping.get(listData, selectedIndex);
}
JSONSerializer.put(context, selectedItemKey, item);
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java Sat Feb 27 17:04:31 2010
@@ -44,7 +44,7 @@
}
@Override
- public void bindMappingChanged(ListButton listButton, ListView.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(ListButton listButton, ListView.BindMapping previousSelectionBindMapping) {
}
}
@@ -81,10 +81,11 @@
public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey);
/**
- * Called when a list button's bind mapping has changed.
+ * Called when a list button's selection bind mapping has changed.
*
* @param listButton
- * @param previousBindMapping
+ * @param previousSelectionBindMapping
*/
- public void bindMappingChanged(ListButton listButton, ListView.BindMapping previousBindMapping);
+ public void selectionBindMappingChanged(ListButton listButton,
+ ListView.BindMapping previousSelectionBindMapping);
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java Sat Feb 27 17:04:31 2010
@@ -123,6 +123,11 @@
// No-op
}
+ @Override
+ public void bindMappingChanged(Button button, Button.BindMapping previousBindMapping) {
+ // No-op
+ }
+
// Button state events
@Override
public void stateChanged(Button button, Button.State previousState) {
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java Sat Feb 27 17:04:31 2010
@@ -293,7 +293,7 @@
}
@Override
- public void bindMappingChanged(CalendarButton calendarButton,
- Calendar.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(CalendarButton calendarButton,
+ Calendar.BindMapping previousSelectionBindMapping) {
}
}
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java?rev=916990&r1=916989&r2=916990&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java Sat Feb 27 17:04:31 2010
@@ -588,4 +588,9 @@
public void textKeyChanged(Label label, String previousTextKey) {
// No-op
}
+
+ @Override
+ public void bindMappingChanged(Label label, Label.BindMapping previousBindMapping) {
+ // No-op
+ }
}
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=916990&r1=916989&r2=916990&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 Sat Feb 27 17:04:31 2010
@@ -330,6 +330,7 @@
// List button events
@Override
public void listDataChanged(ListButton listButton, List<?> previousListData) {
+ listButton.setButtonData(null);
listView.setListData(listButton.getListData());
invalidateComponent();
}
@@ -350,7 +351,7 @@
}
@Override
- public void bindMappingChanged(ListButton listButton, ListView.BindMapping previousBindMapping) {
+ public void selectionBindMappingChanged(ListButton listButton, ListView.BindMapping previousSelectionBindMapping) {
// No-op
}