use of com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter in project cuba by cuba-platform.
the class DesktopTreeTable method expandAll.
@Override
public void expandAll() {
TreeTableModelAdapter model = (TreeTableModelAdapter) tableModel;
if (!model.isLeaf(model.getRoot())) {
recursiveExpand(model.getRoot());
}
readjustColumns();
}
use of com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter in project cuba by cuba-platform.
the class DesktopTreeTable method getSelected.
@SuppressWarnings("unchecked")
@Override
public Set<E> getSelected() {
Set<E> selected = new HashSet<>();
TreePath[] selectionPaths = impl.getTreeSelectionModel().getSelectionPaths();
if (selectionPaths != null) {
for (TreePath path : selectionPaths) {
Entity entity = ((TreeTableModelAdapter) tableModel).getEntity(path.getLastPathComponent());
if (entity != null)
selected.add((E) entity);
}
}
return selected;
}
use of com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter in project cuba by cuba-platform.
the class DesktopTreeTable method recursiveExpand.
private void recursiveExpand(Object node) {
TreeTableModelAdapter model = (TreeTableModelAdapter) tableModel;
impl.expandPath(model.getTreePath(node));
for (int i = 0; i < model.getChildCount(node); i++) {
Object child = model.getChild(node, i);
if (!model.isLeaf(child)) {
impl.expandPath(model.getTreePath(child));
recursiveExpand(child);
}
}
}
use of com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter in project cuba by cuba-platform.
the class DesktopTreeTable method setSelected.
@Override
public void setSelected(Collection<E> items) {
if (items == null) {
items = Collections.emptySet();
}
for (Entity item : items) {
// noinspection unchecked
if (!datasource.containsItem(item.getId())) {
throw new IllegalStateException("Datasource does not contain specified item: " + item.getId());
}
}
impl.clearSelection();
if (!items.isEmpty()) {
for (Entity item : items) {
TreePath treePath = ((TreeTableModelAdapter) tableModel).getTreePath(item);
impl.getTreeSelectionModel().addSelectionPath(treePath);
}
}
}
use of com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter in project cuba by cuba-platform.
the class DesktopTreeTable method initTableModel.
@Override
protected void initTableModel(CollectionDatasource datasource) {
tableModel = new TreeTableModelAdapter(impl, ((HierarchicalDatasource) datasource), columnsOrder, true);
impl.setTreeTableModel(((TreeTableModelAdapter) tableModel));
}
Aggregations