/**
*
*/
package ch.berchtold.emanuel.privatrechnung.model;
import org.eclipse.jface.viewers.TreeViewer;
import ch.berchtold.emanuel.privatrechnung.data.Leistung;
import ch.elexis.core.ui.actions.TreeDataLoader;
import ch.elexis.core.ui.util.viewers.CommonViewer;
import ch.elexis.core.ui.views.codesystems.CodeSelectorFactory;
import ch.elexis.data.PersistentObject;
import ch.elexis.data.Query;
import ch.rgw.tools.Tree;
public class LeistungenLoader extends TreeDataLoader {
public LeistungenLoader(CodeSelectorFactory csf, CommonViewer cv,
Query<? extends PersistentObject> qbe, String parentField){
super(cv, qbe, parentField, "Kuerzel");
}
public void updateChildCount(Object element, int currentChildCount){
int num = 0;
if (element instanceof Tree) {
Tree<Leistung> t = (Tree<Leistung>) element;
if (!t.hasChildren()) {
qbe.clear();
qbe.add(parentColumn, "=", t.contents.get("Kuerzel"));
applyQueryFilters();
for (PersistentObject po : qbe.execute()) {
new Tree<Leistung>(t, (Leistung) po);
}
}
num = t.getChildren().size();
} else {
num = root.getChildren().size();
}
((TreeViewer) cv.getViewerWidget()).setChildCount(element, num);
}
}