/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.test;
import org.beanfabrics.model.AbstractOperationPM;
import org.beanfabrics.model.AbstractPM;
import org.beanfabrics.model.IOperationPM;
import org.beanfabrics.model.ListPM;
import org.beanfabrics.model.PMManager;
import org.beanfabrics.support.OnChange;
import org.beanfabrics.support.PropertySupport;
public class AddressListPM extends AbstractPM {
final ListPM<AddressPM> elements = new ListPM<AddressPM>();
AddressPM selected;
final IOperationPM addSome = new AbstractOperationPM() {
@Override
public boolean execute()
throws Throwable {
addSome();
return true; // success
}
};
public AddressListPM() {
PMManager.setup(this);
}
@OnChange(path = "elements")
private void onElementsChanged() {
selected = elements.getSelection().getFirst();
PropertySupport.get(this).refresh();
}
public void addSome() {
addSome.check();
for (int i = 0; i < 10; ++i) {
AddressPM pModel = new AddressPM();
pModel.appartment.setText("#" + i);
elements.add(pModel);
}
}
}