DFL64: Fix dfl.collection

Fix collection helpers about size_t conversion.
This change covers some other modules:
listbox, combobox, listview, treeview, menu.

This does NOT make any change on Win32 programs.
This commit is contained in:
qchikara 2014-11-30 15:35:26 +09:00
parent b71aeaeefb
commit 4c917fcb03
6 changed files with 53 additions and 53 deletions

View file

@ -56,7 +56,7 @@ template ListWrapArray(TValue, alias Array,
///
void opIndexAssign(TValue value, int index)
void opIndexAssign(TValue value, size_t index)
{
TValue oldval = Array[index];
ItemRemovingCallback(index, oldval); // Removing.
@ -78,7 +78,7 @@ template ListWrapArray(TValue, alias Array,
static if(OVERLOAD_OBJECT)
{
/// ditto
void opIndexAssign(Object value, int index)
void opIndexAssign(Object value, size_t index)
{
TValue tval;
tval = cast(TValue)value;
@ -92,7 +92,7 @@ template ListWrapArray(TValue, alias Array,
static if(OVERLOAD_STRING)
{
/// ditto
void opIndexAssign(Dstring value, int index)
void opIndexAssign(Dstring value, size_t index)
{
return opIndexAssign(new TValueString(value), index);
}
@ -100,7 +100,7 @@ template ListWrapArray(TValue, alias Array,
///
@property TValue opIndex(int index) // getter
@property TValue opIndex(size_t index) // getter
{
return Array[index];
}
@ -240,7 +240,7 @@ template ListWrapArray(TValue, alias Array,
}
else
{
foreach(size_t idx, TValue onval; Array)
foreach(int idx, TValue onval; Array)
{
if(onval == value) // TValue must have opEquals.
return idx;
@ -260,12 +260,12 @@ template ListWrapArray(TValue, alias Array,
static if(is(TValue == TValueString))
{
if(onval == value) // TValue must have opEquals.
return idx;
return idx.toI32;
}
else
{
if(getObjectString(onval) == value)
return idx;
return idx.toI32;
}
}
return -1;
@ -275,8 +275,8 @@ template ListWrapArray(TValue, alias Array,
private final void _insert(int index, TValue value)
{
if(index > Array.length)
index = Array.length;
if(index > Array.length.toI32)
index = Array.length.toI32;
ItemAddingCallback(index, value); // Adding.
static if(COW)
{

View file

@ -252,9 +252,9 @@ class ComboBox: ListControl // docmain
if(isHandleCreated)
{
if(dfl.internal.utf.useUnicode)
result = prevwproc(CB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str));
result = prevwproc(CB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str)).toI32;
else
result = prevwproc(CB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str));
result = prevwproc(CB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str)).toI32;
if(result == CB_ERR) // Redundant.
result = NO_MATCHES;
}
@ -279,9 +279,9 @@ class ComboBox: ListControl // docmain
if(isHandleCreated)
{
if(dfl.internal.utf.useUnicode)
result = prevwproc(CB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str));
result = prevwproc(CB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str)).toI32;
else
result = prevwproc(CB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str));
result = prevwproc(CB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str)).toI32;
if(result == CB_ERR) // Redundant.
result = NO_MATCHES;
}
@ -586,7 +586,7 @@ class ComboBox: ListControl // docmain
LRESULT insert2(WPARAM idx, Dstring val)
{
insert(idx, val);
insert(idx.toI32, val);
return idx;
}
@ -596,7 +596,7 @@ class ComboBox: ListControl // docmain
int i;
if(lbox.sorted)
{
for(i = 0; i != _items.length; i++)
for(i = 0; i != _items.length.toI32; i++)
{
if(val < _items[i])
break;
@ -604,7 +604,7 @@ class ComboBox: ListControl // docmain
}
else
{
i = _items.length;
i = _items.length.toI32;
}
insert(i, val);
@ -951,7 +951,7 @@ class ComboBox: ListControl // docmain
return;
case CB_DELETESTRING:
icollection.removeAt(msg.wParam);
icollection.removeAt(msg.wParam.toI32);
msg.result = icollection.length;
return;

View file

@ -129,7 +129,7 @@ class ListBox: ListControl // docmain
if(lbox.isMultSel())
{
return lbox.prevwproc(LB_GETSELCOUNT, 0, 0);
return lbox.prevwproc(LB_GETSELCOUNT, 0, 0).toI32;
}
else
{
@ -225,7 +225,7 @@ class ListBox: ListControl // docmain
if(lbox.isMultSel())
{
return lbox.prevwproc(LB_GETSELCOUNT, 0, 0);
return lbox.prevwproc(LB_GETSELCOUNT, 0, 0).toI32;
}
else
{
@ -787,7 +787,7 @@ class ListBox: ListControl // docmain
final @property int topIndex() // getter
{
if(isHandleCreated)
return prevwproc(LB_GETTOPINDEX, 0, 0);
return prevwproc(LB_GETTOPINDEX, 0, 0).toI32;
return 0;
}
@ -848,9 +848,9 @@ class ListBox: ListControl // docmain
if(created)
{
if(dfl.internal.utf.useUnicode)
result = prevwproc(LB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str));
result = prevwproc(LB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str)).toI32;
else
result = prevwproc(LB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str));
result = prevwproc(LB_FINDSTRING, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str)).toI32;
if(result == LB_ERR) // Redundant.
result = NO_MATCHES;
}
@ -875,9 +875,9 @@ class ListBox: ListControl // docmain
if(created)
{
if(dfl.internal.utf.useUnicode)
result = prevwproc(LB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str));
result = prevwproc(LB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.toUnicodez(str)).toI32;
else
result = prevwproc(LB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str));
result = prevwproc(LB_FINDSTRINGEXACT, startIndex, cast(LPARAM)dfl.internal.utf.unsafeAnsiz(str)).toI32;
if(result == LB_ERR) // Redundant.
result = NO_MATCHES;
}
@ -935,7 +935,7 @@ class ListBox: ListControl // docmain
if(created)
{
result = prevwproc(LB_ITEMFROMPOINT, 0, MAKELPARAM(x, y));
result = prevwproc(LB_ITEMFROMPOINT, 0, MAKELPARAM(x, y)).toI32;
if(!HIWORD(result)) // In client area
{
//result = LOWORD(result); // High word already 0.
@ -1073,7 +1073,7 @@ class ListBox: ListControl // docmain
LRESULT insert2(WPARAM idx, Dstring val)
{
insert(idx, val);
insert(idx.toI32, val);
return idx;
}
@ -1083,7 +1083,7 @@ class ListBox: ListControl // docmain
int i;
if(lbox.sorted)
{
for(i = 0; i != _items.length; i++)
for(i = 0; i != _items.length.toI32; i++)
{
if(val < _items[i])
break;
@ -1091,7 +1091,7 @@ class ListBox: ListControl // docmain
}
else
{
i = _items.length;
i = _items.length.toI32;
}
insert(i, val);
@ -1380,7 +1380,7 @@ class ListBox: ListControl // docmain
return;
case LB_DELETESTRING:
icollection.removeAt(msg.wParam);
icollection.removeAt(msg.wParam.toI32);
msg.result = icollection.length;
return;

View file

@ -719,11 +719,11 @@ class ListView: ControlSuperClass // docmain
switch(lv.sorting)
{
case SortOrder.NONE: // Add to end.
ii = _items.length;
ii = _items.length.toI32;
break;
case SortOrder.ASCENDING: // Insertion sort.
for(ii = 0; ii != _items.length; ii++)
for(ii = 0; ii != _items.length.toI32; ii++)
{
assert(lv._sortproc);
//if(item < _items[ii])
@ -733,7 +733,7 @@ class ListView: ControlSuperClass // docmain
break;
case SortOrder.DESCENDING: // Insertion sort.
for(ii = 0; ii != _items.length; ii++)
for(ii = 0; ii != _items.length.toI32; ii++)
{
assert(lv._sortproc);
//if(item >= _items[ii])
@ -842,7 +842,7 @@ class ListView: ControlSuperClass // docmain
int i;
if(created)
{
i = lv._ins(idx, val);
i = lv._ins(idx.toI32, val);
assert(-1 != i);
}
}
@ -938,7 +938,7 @@ class ListView: ControlSuperClass // docmain
int i;
if(created)
{
i = lv._ins(idx, val);
i = lv._ins(idx.toI32, val);
assert(-1 != i);
}
}
@ -1203,9 +1203,9 @@ class ListView: ControlSuperClass // docmain
int result = 0;
foreach(ref size_t i, ref ListViewItem lvitem; lview.items)
{
if(lvitem._getcheckstate(i))
if(lvitem._getcheckstate(i.toI32))
{
int dgidx = i; // Prevent ref.
int dgidx = i.toI32; // Prevent ref.
result = dg(dgidx);
if(result)
break;
@ -1775,7 +1775,7 @@ class ListView: ControlSuperClass // docmain
SendMessageA(handle, LVM_DELETEALLITEMS, 0, 0); // Note: this sends LVN_DELETEALLITEMS.
foreach(idx, lvi; sitems)
{
_ins(idx, lvi);
_ins(idx.toI32, lvi);
}
endUpdate();
}
@ -2575,7 +2575,7 @@ class ListView: ControlSuperClass // docmain
// If -subItemIndex- is 0 it's an item not a sub item.
// Returns the insertion index or -1 on failure.
package final LRESULT _ins(int index, LPARAM lparam, Dstring itemText, int subItemIndex, int imageIndex = -1)
package final int _ins(int index, LPARAM lparam, Dstring itemText, int subItemIndex, int imageIndex = -1)
in
{
assert(created);
@ -2605,36 +2605,36 @@ class ListView: ControlSuperClass // docmain
//lvi.pszText = toStringz(itemText);
lvi.pszText = LPSTR_TEXTCALLBACKA;
lvi.lParam = lparam;
return prevwproc(LVM_INSERTITEMA, 0, cast(LPARAM)&lvi);
return prevwproc(LVM_INSERTITEMA, 0, cast(LPARAM)&lvi).toI32;
}
package final LRESULT _ins(int index, ListViewItem item)
package final int _ins(int index, ListViewItem item)
{
//return _ins(index, cast(LPARAM)cast(void*)item, item.text, 0);
version(DFL_NO_IMAGELIST)
{
return _ins(index, cast(LPARAM)cast(void*)item, item.text, 0, -1);
return _ins(index, cast(LPARAM)cast(void*)item, item.text, 0, -1).toI32;
}
else
{
return _ins(index, cast(LPARAM)cast(void*)item, item.text, 0, item._imgidx);
return _ins(index, cast(LPARAM)cast(void*)item, item.text, 0, item._imgidx).toI32;
}
}
package final LRESULT _ins(int index, ListViewSubItem subItem, int subItemIndex)
package final int _ins(int index, ListViewSubItem subItem, int subItemIndex)
in
{
assert(subItemIndex > 0);
}
body
{
return _ins(index, cast(LPARAM)cast(void*)subItem, subItem.text, subItemIndex);
return _ins(index, cast(LPARAM)cast(void*)subItem, subItem.text, subItemIndex).toI32;
}
package final LRESULT _ins(int index, ColumnHeader header)
package final int _ins(int index, ColumnHeader header)
{
// TODO: column inserted at index 0 can only be left aligned, so will need to
// insert a dummy column to change the alignment, then delete the dummy column.
@ -2660,12 +2660,12 @@ class ListView: ControlSuperClass // docmain
if(dfl.internal.utf.useUnicode)
{
lvc.lvcw.pszText = cast(typeof(lvc.lvcw.pszText))dfl.internal.utf.toUnicodez(header.text);
return prevwproc(LVM_INSERTCOLUMNW, cast(WPARAM)index, cast(LPARAM)&lvc.lvcw);
return prevwproc(LVM_INSERTCOLUMNW, cast(WPARAM)index, cast(LPARAM)&lvc.lvcw).toI32;
}
else
{
lvc.lvca.pszText = cast(typeof(lvc.lvca.pszText))dfl.internal.utf.toAnsiz(header.text);
return prevwproc(LVM_INSERTCOLUMNA, cast(WPARAM)index, cast(LPARAM)&lvc.lvca);
return prevwproc(LVM_INSERTCOLUMNA, cast(WPARAM)index, cast(LPARAM)&lvc.lvca).toI32;
}
}

View file

@ -802,7 +802,7 @@ else
foreach(MenuItem it; items)
{
insert(length, it);
insert(length.toI32, it);
}
}
@ -813,7 +813,7 @@ else
foreach(Dstring it; items)
{
insert(length, it);
insert(length.toI32, it);
}
}
@ -845,8 +845,8 @@ else
val._unsetParent();
//RemoveMenu(_owner.handle, val._menuID, MF_BYCOMMAND);
//_owner._remove(val._menuID, MF_BYCOMMAND);
_owner._remove(idx, MF_BYPOSITION);
_delitem(idx);
_owner._remove(idx.toI32, MF_BYPOSITION);
_delitem(idx.toI32);
}
}
@ -864,7 +864,7 @@ else
// Extra.
deprecated final void opCatAssign(MenuItem mi)
{
menuItems.insert(menuItems.length, mi);
menuItems.insert(menuItems.length.toI32, mi);
}

View file

@ -714,7 +714,7 @@ class TreeNodeCollection
}
else
{
i = _nodes.length;
i = _nodes.length.toI32;
}
insert(i, node);