javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/ercp/swt/mobile/ListBox.java
--- a/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/ercp/swt/mobile/ListBox.java Fri May 14 15:47:24 2010 +0300
+++ b/javauis/eswt_qt/org.eclipse.swt/Eclipse SWT/qt/org/eclipse/ercp/swt/mobile/ListBox.java Thu May 27 12:49:31 2010 +0300
@@ -200,7 +200,7 @@
private Font headingFont;
private Image[][] detailImages;
private Image[][] headingImages;
-
+ private ListBoxItem []items;
/**
* single line item, 1 column (default)
*/
@@ -705,6 +705,9 @@
checkWidget();
if (index < 0 || index >= listBase_getItemCount())
SWT.error(SWT.ERROR_INVALID_RANGE);
+ if(items[index]==null){
+ OS.ListModel_setItemContentsToNull(dataModelHandle, index);
+ }
int indexHandle = OS.QAbstractItemModel_index(dataModelHandle, index,
0, 0);
OS.QAbstractItemView_update(topHandle(), indexHandle);
@@ -1426,7 +1429,7 @@
detailImages = null;
return;
}
-
+ this.items = items;
headingImages = new Image[count][];
detailImages = new Image[count][];
OS.ListModel_beginInsertRows(dataModelHandle, 0, 0, count - 1);
@@ -1434,7 +1437,7 @@
int[] headingImageHandles;
int imageCount;
for (int i = 0; i < count; i++) {
- if (items[i].detailIcons != null) {
+ if (items[i]!=null && items[i].detailIcons != null) {
imageCount = items[i].detailIcons.length;
detailImageHandles = new int[imageCount];
for (int j = 0; j < imageCount; j++) {
@@ -1444,7 +1447,7 @@
detailImageHandles = null;
}
- if (items[i].headingIcons != null) {
+ if ( items[i]!=null && items[i].headingIcons != null) {
imageCount = items[i].headingIcons.length;
headingImageHandles = new int[imageCount];
for (int j = 0; j < imageCount; j++) {
@@ -1453,14 +1456,22 @@
} else {
headingImageHandles = null;
}
- OS.ListModel_append(dataModelHandle, items[i].detailText,
+ if(items[i]!=null){
+ OS.ListModel_append(dataModelHandle, items[i].detailText,
detailImageHandles,
detailImageHandles != null ? detailImageHandles.length : 0,
items[i].headingText, headingImageHandles,
headingImageHandles != null ? headingImageHandles.length
: 0);
- headingImages[i] = items[i].getHeadingIcons();
- detailImages[i] = items[i].getDetailIcons();
+ headingImages[i] = items[i].getHeadingIcons();
+ detailImages[i] = items[i].getDetailIcons();
+ } else {
+ OS.ListModel_append(dataModelHandle, null, detailImageHandles,
+ detailImageHandles != null ? detailImageHandles.length : 0,
+ null, headingImageHandles, headingImageHandles != null ? headingImageHandles.length : 0);
+ headingImages[i] = null;
+ detailImages[i] = null;
+ }
}
OS.ListModel_endInsertRows(dataModelHandle);
}