mirror of
https://github.com/Rayerd/dfl.git
synced 2025-04-26 13:09:57 +03:00
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:
parent
b71aeaeefb
commit
4c917fcb03
6 changed files with 53 additions and 53 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -714,7 +714,7 @@ class TreeNodeCollection
|
|||
}
|
||||
else
|
||||
{
|
||||
i = _nodes.length;
|
||||
i = _nodes.length.toI32;
|
||||
}
|
||||
|
||||
insert(i, node);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue