mirror of https://github.com/buggins/dlangui.git
This commit is contained in:
parent
81f068fc7b
commit
3bd735773f
|
|
@ -333,6 +333,16 @@ struct ObjectList(T) {
|
||||||
}
|
}
|
||||||
_count = 0;
|
_count = 0;
|
||||||
}
|
}
|
||||||
|
/// Support foreach
|
||||||
|
int opApply(int delegate(ref T) callback) {
|
||||||
|
int res = 0;
|
||||||
|
for(int i = 0; i < _count; i++) {
|
||||||
|
res = callback(_list[i]);
|
||||||
|
if (res)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
~this() {
|
~this() {
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -162,6 +162,16 @@ class ComboBoxBase : HorizontalLayout, OnClickHandler {
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void onThemeChanged() {
|
||||||
|
super.onThemeChanged();
|
||||||
|
if (_body)
|
||||||
|
_body.onThemeChanged();
|
||||||
|
if (_adapter)
|
||||||
|
_adapter.onThemeChanged();
|
||||||
|
if (_button)
|
||||||
|
_button.onThemeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
protected void initialize() {
|
protected void initialize() {
|
||||||
_body = createSelectedItemWidget();
|
_body = createSelectedItemWidget();
|
||||||
_body.click = this;
|
_body.click = this;
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,9 @@ interface ListAdapter {
|
||||||
ListAdapter connect(OnAdapterChangeHandler handler);
|
ListAdapter connect(OnAdapterChangeHandler handler);
|
||||||
/// disconnect adapter change handler
|
/// disconnect adapter change handler
|
||||||
ListAdapter disconnect(OnAdapterChangeHandler handler);
|
ListAdapter disconnect(OnAdapterChangeHandler handler);
|
||||||
|
|
||||||
|
/// called when theme is changed
|
||||||
|
void onThemeChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// List adapter for simple list of widget instances
|
/// List adapter for simple list of widget instances
|
||||||
|
|
@ -114,6 +117,10 @@ class ListAdapterBase : ListAdapter {
|
||||||
if (adapterChanged.assigned)
|
if (adapterChanged.assigned)
|
||||||
adapterChanged.emit(this);
|
adapterChanged.emit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// called when theme is changed
|
||||||
|
void onThemeChanged() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// List adapter for simple list of widget instances
|
/// List adapter for simple list of widget instances
|
||||||
|
|
@ -159,6 +166,12 @@ class WidgetListAdapter : ListAdapterBase {
|
||||||
_widgets.clear();
|
_widgets.clear();
|
||||||
updateViews();
|
updateViews();
|
||||||
}
|
}
|
||||||
|
/// called when theme is changed
|
||||||
|
override void onThemeChanged() {
|
||||||
|
super.onThemeChanged();
|
||||||
|
foreach(w; _widgets)
|
||||||
|
w.onThemeChanged();
|
||||||
|
}
|
||||||
~this() {
|
~this() {
|
||||||
//Log.d("Destroying WidgetListAdapter");
|
//Log.d("Destroying WidgetListAdapter");
|
||||||
}
|
}
|
||||||
|
|
@ -422,6 +435,13 @@ class StringListAdapter : StringListAdapterBase {
|
||||||
return _widget;
|
return _widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// called when theme is changed
|
||||||
|
override void onThemeChanged() {
|
||||||
|
super.onThemeChanged();
|
||||||
|
if (_widget)
|
||||||
|
_widget.onThemeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
/// set one or more list item's state flags, returns updated state
|
/// set one or more list item's state flags, returns updated state
|
||||||
override uint setItemState(int index, uint flags) {
|
override uint setItemState(int index, uint flags) {
|
||||||
uint res = super.setItemState(index, flags);
|
uint res = super.setItemState(index, flags);
|
||||||
|
|
@ -489,6 +509,13 @@ class IconStringListAdapter : StringListAdapterBase {
|
||||||
return _widget;
|
return _widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// called when theme is changed
|
||||||
|
override void onThemeChanged() {
|
||||||
|
super.onThemeChanged();
|
||||||
|
if (_widget)
|
||||||
|
_widget.onThemeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
/// set one or more list item's state flags, returns updated state
|
/// set one or more list item's state flags, returns updated state
|
||||||
override uint setItemState(int index, uint flags) {
|
override uint setItemState(int index, uint flags) {
|
||||||
uint res = super.setItemState(index, flags);
|
uint res = super.setItemState(index, flags);
|
||||||
|
|
@ -894,6 +921,8 @@ class ListWidget : WidgetGroup, OnScrollHandler, OnAdapterChangeHandler {
|
||||||
Widget w = itemWidget(i);
|
Widget w = itemWidget(i);
|
||||||
w.onThemeChanged();
|
w.onThemeChanged();
|
||||||
}
|
}
|
||||||
|
if (_adapter)
|
||||||
|
_adapter.onThemeChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Measure widget according to desired width and height constraints. (Step 1 of two phase layout).
|
/// Measure widget according to desired width and height constraints. (Step 1 of two phase layout).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue