/** * @{inheritedDoc} */ @Override public Node getNodeOnPosition(ViewLayoutPosition position) { AbstractTableStructure table = (AbstractTableStructure) processedElement(); if (position == ViewLayoutPosition.TOP) { if ((table.getHeader() != null) || table.getToolbar().isPresent()) { if ((table.getHeader() != null) && table.getToolbar().isPresent()) { VBox header = new VBox(); header.getChildren().addAll(table.getHeader().getDisplay(), table.getToolbar().get()); return header; } else if (table.getToolbar().isPresent()) { return table.getToolbar().get(); } return table.getHeader().getDisplay(); } } if (position == ViewLayoutPosition.BOTTOM) { if (table.getPagination().isPresent()) { return table.getPagination().get(); } } if (position == ViewLayoutPosition.CENTER) { return table.getTableStructure(); } return super.getNodeOnPosition(position); }
/** * @{inheritedDoc} */ @Override public void postProcess() { super.postProcess(); AbstractTableStructure table = (AbstractTableStructure) processedElement(); if (table.getTableStructure() instanceof TreeTableView) { treeTableView = (TreeTableView) table.getTableStructure(); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); treeTableView.getSelectionModel().selectedItemProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { LazyTreeItem item = (LazyTreeItem) newValue; selectedElementProperty().set(item.getValue()); }); } else if (table.getTableStructure() instanceof TreeView) { treeView = (TreeView) table.getTableStructure(); treeView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); treeView.getSelectionModel().selectedItemProperty().addListener((ChangeListener<Object>) (observable, oldValue, newValue) -> { lastSelectedTreeItem = (LazyTreeItem) newValue; selectedElementProperty().set(lastSelectedTreeItem.getValue()); }); } }