Author: jrthomerson Date: Wed Jun 16 00:49:58 2010 New Revision: 955101 URL: http://svn.apache.org/viewvc?rev=955101&view=rev Log: fixes WICKET-2909 in 1.4.x
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java?rev=955101&r1=955100&r2=955101&view=diff ============================================================================== --- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java (original) +++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java Wed Jun 16 00:49:58 2010 @@ -26,7 +26,6 @@ import org.apache.wicket.markup.html.lin import org.apache.wicket.markup.repeater.AbstractRepeater; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; -import org.apache.wicket.model.util.ListModel; import org.apache.wicket.util.collections.ReadOnlyIterator; import org.apache.wicket.version.undo.Change; @@ -161,7 +160,7 @@ public abstract class ListView<T> extend */ public ListView(final String id, final List<? extends T> list) { - this(id, Model.of(list)); + this(id, Model.ofList(list)); } /** @@ -266,7 +265,7 @@ public abstract class ListView<T> extend @Override public void onClick() { - final int index = getList().indexOf(item.getModelObject()); + final int index = item.getIndex(); if (index != -1) { addStateChange(new Change() @@ -325,7 +324,7 @@ public abstract class ListView<T> extend @Override public void onClick() { - final int index = getList().indexOf(item.getModelObject()); + final int index = item.getIndex(); if (index != -1) { @@ -385,13 +384,15 @@ public abstract class ListView<T> extend @Override public void onClick() { + final int oldIndex = item.getIndex(); + addStateChange(new Change() { private static final long serialVersionUID = 1L; - final int oldIndex = getList().indexOf(item.getModelObject()); final T removedObject = item.getModelObject(); + @SuppressWarnings("unchecked") @Override public void undo() { @@ -403,7 +404,7 @@ public abstract class ListView<T> extend item.modelChanging(); // Remove item and invalidate listView - getList().remove(item.getModelObject()); + getList().remove(oldIndex); ListView.this.modelChanged(); ListView.this.removeAll(); @@ -421,7 +422,7 @@ public abstract class ListView<T> extend */ public ListView<T> setList(List<? extends T> list) { - setDefaultModel(Model.of(list)); + setDefaultModel(Model.ofList(list)); return this; } @@ -497,7 +498,8 @@ public abstract class ListView<T> extend * The list item index * @return The ListItemModel created */ - protected IModel<T> getListItemModel(final IModel<? extends List<T>> listViewModel, final int index) + protected IModel<T> getListItemModel(final IModel<? extends List<T>> listViewModel, + final int index) { return new ListItemModel<T>(this, index); }