listener.registerChangeListener(tab.graphicProperty(), "GRAPHIC"); listener.registerChangeListener(tab.tooltipProperty(), "TOOLTIP"); listener.registerChangeListener(tab.disableProperty(), "DISABLE");
private void addTab(PositionableAdapter<FXDockableEntry> dockable) { final Tab tab = new Tab(); final FXDockableData dockableData = dockable.getAdapted().getDockableData(); tab.textProperty().bind(dockableData.titleProperty()); tab.graphicProperty().bind(dockableData.graphicProperty()); tab.contextMenuProperty().bind(dockableData.contextMenuProperty()); tab.setContent(dockable.getAdapted().getDockable()); tabPane.getTabs().add(control.getDockables().indexOf(dockable), tab); } }
public <T extends Node> Tab startInTab(FlowContainer<T> container) throws FlowException { Tab tab = new Tab(); getCurrentViewMetadata().addListener((e) -> { tab.textProperty().unbind(); tab.graphicProperty().unbind(); tab.textProperty().bind(getCurrentViewMetadata().get().titleProperty()); tab.graphicProperty().bind(getCurrentViewMetadata().get().graphicsProperty()); }); tab.setOnClosed(e -> { try { destroy(); } catch (Exception exception) { exceptionHandler.setException(exception); } }); tab.setContent(start(container)); return tab; }
private void addTab(PositionableAdapter<FXDockableEntry> dockable) { final Tab tab = new Tab(); final FXDockableData dockableData = dockable.getAdapted().getDockableData(); tab.textProperty().bind(dockableData.titleProperty()); tab.graphicProperty().bind(dockableData.graphicProperty()); tab.tooltipProperty().bind(dockableData.tooltipProperty()); tab.contextMenuProperty().bind(dockableData.contextMenuProperty()); tab.setContent(dockable.getAdapted().getDockable()); tab.setOnCloseRequest(tabManager.createOnCloseRequestHandler(tab, dockable.getAdapted(), control)); observeDockableData(dockableData, tab); tabPane.getTabs().add(control.getDockables().indexOf(dockable), tab); }
/** * This methods creates a tab that contains the given view. * By doing so the metadata of the view will be bound to the tab properties. * So the text and icon of the tab can be changed by the view. * * @param context the context of the view. This includes the view and its controller instance * so that all needed informations are part of the context * @param exceptionHandler the exception handle for the view. This handler will handle all exceptions that will be thrown in the DataFX container context */ public <T> Tab createTab(ViewContext<T> context, ExceptionHandler exceptionHandler) { Tab tab = new Tab(); tab.textProperty().bind(context.getMetadata().titleProperty()); tab.graphicProperty().bind(context.getMetadata().graphicsProperty()); tab.setOnClosed(e -> { try { context.destroy(); } catch (Exception exception) { exceptionHandler.setException(exception); } }); tab.setContent(context.getRootNode()); return tab; }
}); listener.registerChangeListener(tab.textProperty(), obs-> tabLabel.setText(tab.getText())); listener.registerChangeListener(tab.graphicProperty(), obs-> tabLabel.setGraphic(tab.getGraphic())); listener.registerChangeListener(widthProperty(), obs-> header.updateSelectionLine(true)); listener.registerChangeListener(tab.tooltipProperty(), obs->{