Revision: 1377
http://japi.svn.sourceforge.net/japi/?rev=1377&view=rev
Author: christianhujer
Date: 2009-09-13 18:11:41 +0000 (Sun, 13 Sep 2009)
Log Message:
-----------
Fix bug in indices of events.
Modified Paths:
--------------
libs/swing-misc/trunk/src/prj/net/sf/japi/swing/misc/CollectionsListModel.java
Modified: libs/swing-misc/trunk/src/prj/net/sf/japi/swing/misc/CollectionsListModel.java
===================================================================
--- libs/swing-misc/trunk/src/prj/net/sf/japi/swing/misc/CollectionsListModel.java 2009-09-11 19:56:25 UTC (rev 1376)
+++ libs/swing-misc/trunk/src/prj/net/sf/japi/swing/misc/CollectionsListModel.java 2009-09-13 18:11:41 UTC (rev 1377)
@@ -93,8 +93,8 @@
/** {@inheritDoc} */
public boolean add(final E e) {
+ final int size = size();
final boolean changed = list.add(e);
- final int size = size();
if (changed) {
fireIntervalRemoved(this, size, size);
}
@@ -103,10 +103,10 @@
/** {@inheritDoc} */
public boolean remove(final Object o) {
- final int size = size();
+ final int index = list.indexOf(o);
final boolean changed = list.remove(o);
if (changed) {
- fireIntervalRemoved(this, size, size);
+ fireIntervalRemoved(this, index, index);
}
return changed;
}
@@ -121,7 +121,7 @@
final int size = size();
final boolean changed = list.addAll(es);
if (changed) {
- fireIntervalAdded(this, size, size());
+ fireIntervalAdded(this, size, size() - 1);
}
return changed;
}
@@ -160,9 +160,11 @@
/** {@inheritDoc} */
public void clear() {
- final int size = size();
+ final int size = size() - 1;
list.clear();
- fireIntervalRemoved(this, 0, size);
+ if (size >= 0) {
+ fireIntervalRemoved(this, 0, size);
+ }
}
/** {@inheritDoc} */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|