public TabHeaderContainer(final Tab tab) { this.tab = tab; getStyleClass().setAll(tab.getStyleClass()); setId(tab.getId()); setStyle(tab.getStyle()); listener.registerChangeListener(getSkinnable().sideProperty(), "SIDE"); listener.registerChangeListener(widthProperty(), "WIDTH"); tab.getStyleClass().addListener(weakStyleClassListener);
private void updateStyleClass(Tab tab, boolean modified) { if (modified) { if (!tab.getStyleClass().contains(DOCKABLE_MODIFIED_STYLE_CLASS)) { tab.getStyleClass().add(DOCKABLE_MODIFIED_STYLE_CLASS); } } else { if (tab.getStyleClass().contains(DOCKABLE_MODIFIED_STYLE_CLASS)) { tab.getStyleClass().remove(DOCKABLE_MODIFIED_STYLE_CLASS); } } } }
private void adjustBorders() { boolean foundSelected = false; List<Tab> tabs = getSkinnable().getTabs(); Tab selectedTab = getSkinnable().getSelectionModel().getSelectedItem(); for (Tab tab : tabs) { tab.getStyleClass().remove("neighbor"); if (foundSelected) { tab.getStyleClass().add("neighbor"); foundSelected = false; } if (tab.equals(selectedTab)) { foundSelected = true; } } }
private void definePillPosition() { ObservableList<Tab> list = getSkinnable().getTabs(); for (Tab tab : list) { tab.getStyleClass().removeAll("first-tab", "last-tab", "single-tab"); } if (list.size() > 1) { if (getSkinnable().getSide() == Side.TOP || getSkinnable().getSide() == Side.RIGHT) { list.get(0).getStyleClass().add("first-tab"); list.get(list.size() - 1).getStyleClass().add("last-tab"); } else if (getSkinnable().getSide() == Side.BOTTOM || getSkinnable().getSide() == Side.LEFT) { list.get(0).getStyleClass().add("last-tab"); list.get(list.size() - 1).getStyleClass().add("first-tab"); } } else if(list.size() == 1){ list.get(0).getStyleClass().add("single-tab"); } }
public TabHeaderContainer(final Tab tab) { this.tab = tab; getStyleClass().setAll(tab.getStyleClass()); setId(tab.getId()); setStyle(tab.getStyle()); listener.registerChangeListener(getSkinnable().tabClosingPolicyProperty(), obs->updateInnerUI()); tab.getStyleClass().addListener(weakStyleClassListener);