Search in sources :

Example 1 with TreeTableModelAdapter

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();
}
Also used : TreeTableModelAdapter(com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)

Example 2 with TreeTableModelAdapter

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;
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) TreePath(javax.swing.tree.TreePath) TreeTableModelAdapter(com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)

Example 3 with TreeTableModelAdapter

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);
        }
    }
}
Also used : TreeTableModelAdapter(com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)

Example 4 with TreeTableModelAdapter

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);
        }
    }
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) TreePath(javax.swing.tree.TreePath) TreeTableModelAdapter(com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)

Example 5 with TreeTableModelAdapter

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));
}
Also used : TreeTableModelAdapter(com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)

Aggregations

TreeTableModelAdapter (com.haulmont.cuba.desktop.gui.data.TreeTableModelAdapter)6 TreePath (javax.swing.tree.TreePath)3 Entity (com.haulmont.cuba.core.entity.Entity)2