From 9c85ab7deb42c64dba0017f2f9fbc1d22b8977ad Mon Sep 17 00:00:00 2001 From: Denis Feklushkin Date: Thu, 26 Oct 2017 22:00:51 +0700 Subject: [PATCH] child(int) works with const widget objects too --- src/dlangui/core/collections.d | 7 +------ src/dlangui/widgets/widget.d | 4 ++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/dlangui/core/collections.d b/src/dlangui/core/collections.d index 223508d4..23e9bef8 100644 --- a/src/dlangui/core/collections.d +++ b/src/dlangui/core/collections.d @@ -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]; } diff --git a/src/dlangui/widgets/widget.d b/src/dlangui/widgets/widget.d index 8f2be7af..fd3a2f8d 100644 --- a/src/dlangui/widgets/widget.d +++ b/src/dlangui/widgets/widget.d @@ -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