child(int) works with const widget objects too

This commit is contained in:
Denis Feklushkin 2017-10-26 22:00:51 +07:00
parent ead1cff962
commit 9c85ab7deb
2 changed files with 3 additions and 8 deletions

View File

@ -244,12 +244,7 @@ struct ObjectList(T) {
@property int count() const { return _count; }
alias length = count;
/** get item by index */
T get(int index) {
assert(index >= 0 && index < _count, "child index out of range");
return _list[index];
}
/** get const item by index */
const(T) get(int index) const {
inout(T) get(int index) inout {
assert(index >= 0 && index < _count, "child index out of range");
return _list[index];
}

View File

@ -1525,7 +1525,7 @@ public:
/// returns number of children of this widget
@property int childCount() { return 0; }
/// returns child by index
Widget child(int index) { return null; }
inout(Widget) child(int index) inout { return null; }
/// adds child, returns added item
Widget addChild(Widget item) { assert(false, "addChild: children not suported for this widget type"); }
/// adds child, returns added item
@ -1741,7 +1741,7 @@ class WidgetGroup : Widget {
/// returns number of children of this widget
@property override int childCount() const { return _children.count; }
/// returns child by index
override Widget child(int index) { return _children.get(index); }
override inout(Widget) child(int index) inout { return _children.get(index); }
/// adds child, returns added item
override Widget addChild(Widget item) { return _children.add(item).parent(this); }
/// inserts child at given index, returns inserted item