mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
Add similar tactics to wxArray (and variants)
According to RobinD42, use cases in wxPython should be limited to Arrays that are full (no gaps)
This commit is contained in:
@@ -1004,9 +1004,12 @@ def wxArrayWrapperTemplate(ArrayClass, ItemClass, module, itemIsPtr=False, getIt
|
||||
|
||||
if not getItemCopy:
|
||||
getitemMeth = '''\
|
||||
{ItemClass}{itemRef} __getitem__(ulong index);
|
||||
{ItemClass}{itemRef} __getitem__(long index);
|
||||
%MethodCode
|
||||
if (index < sipCpp->GetCount()) {{
|
||||
if (0 > index)
|
||||
index += sipCpp->GetCount();
|
||||
|
||||
if ((index < sipCpp->GetCount()) && (0 <= index)) {{
|
||||
sipRes = {addrOf}sipCpp->Item(index);
|
||||
}}
|
||||
else {{
|
||||
@@ -1017,9 +1020,11 @@ def wxArrayWrapperTemplate(ArrayClass, ItemClass, module, itemIsPtr=False, getIt
|
||||
'''.format(**locals())
|
||||
else:
|
||||
getitemMeth = '''\
|
||||
{ItemClass}* __getitem__(ulong index) /Factory/;
|
||||
{ItemClass}* __getitem__(long index) /Factory/;
|
||||
%MethodCode
|
||||
if (index < sipCpp->GetCount()) {{
|
||||
if (0 > index)
|
||||
index += sipCpp->GetCount();
|
||||
if ((index < sipCpp->GetCount()) && (0 <= index)) {{
|
||||
sipRes = new {ItemClass}(sipCpp->Item(index));
|
||||
}}
|
||||
else {{
|
||||
@@ -1093,9 +1098,12 @@ public:
|
||||
sipRes = sipCpp->GetCount();
|
||||
%End
|
||||
|
||||
{ItemClass}* __getitem__(ulong index);
|
||||
{ItemClass}* __getitem__(long index);
|
||||
%MethodCode
|
||||
if (index < sipCpp->GetCount()) {{
|
||||
if (0 > index)
|
||||
index += sipCpp->GetCount();
|
||||
|
||||
if ((index < sipCpp->GetCount()) && (0 <= index)) {{
|
||||
sipRes = sipCpp->Item(index);
|
||||
}}
|
||||
else {{
|
||||
|
||||
Reference in New Issue
Block a user