private void closeTab(Tab tab) { EventHandler<Event> handler = tab.getOnClosed(); if (null != handler) { handler.handle(null); } else { tab.getTabPane().getTabs().remove(tab); } }
private void add(DropdownTab dropdownTab) { tabs.add(dropdownTab); List<Tab> tabList = dropdownTab.getTabList(); for (Tab tab : tabList) { tabLinkList.add(tab.asTabLink()); TabPane tabPane = tab.getTabPane(); tabContent.add(tabPane); } }
/** * {@inheritDoc} */ @Override public boolean remove(IsWidget child) { if (child instanceof Tab) { Tab tab = (Tab) child; TabLink link = tab.asTabLink(); if (link.getTabPane() != null) { link.getTabPane().removeFromParent(); } tabLinkList.remove(link); return tabs.remove(link); } else if (child instanceof DropdownTab) { DropdownTab tab = (DropdownTab) child; List<Tab> tabList = tab.getTabList(); for (Tab tab2 : tabList) { tabLinkList.remove(tab2.asTabLink()); if (tab2.getTabPane() != null) { tabContent.remove(tab2.getTabPane()); } } return super.remove(child); } return super.remove(child); }
/** * remove TabLink or TabPane. * <p> * </p> * {@inheritDoc} */ @Override public boolean remove(Widget w) { if (w instanceof TabLink) { TabLink link = (TabLink) w; tabLinkList.remove(link); if (link.getTabPane() != null) { link.getTabPane().removeFromParent(); } return tabs.remove(w); } else if (w instanceof DropdownTab) { DropdownTab dropdownTab = (DropdownTab) w; List<Tab> tabList = dropdownTab.getTabList(); for (Tab tab : tabList) { tabLinkList.remove(tab.asTabLink()); if (tab.getTabPane() != null) { tab.getTabPane().removeFromParent(); } } return tabs.remove(dropdownTab); } else if (w instanceof TabPane) { return tabContent.remove(w); } return super.remove(w); }
/** * Remove tab or tabpane. * <p> * If Tablink has TabPane,romve TabPane with TabLink. </pre> {@inheritDoc} */ @Override public boolean remove(int index) { Widget widget = tabs.getWidget(index); if (widget instanceof TabLink) { TabLink link = (TabLink) widget; if (link.getTabPane() != null) { link.getTabPane().removeFromParent(); } tabLinkList.remove(link); return tabs.remove(index); } else if (widget instanceof DropdownTab) { DropdownTab dropdownTab = (DropdownTab) widget; List<Tab> tabList = dropdownTab.getTabList(); for (Tab tab : tabList) { tabLinkList.remove(tab.asTabLink()); if (tab.getTabPane() != null) { tab.getTabPane().removeFromParent(); } } return tabs.remove(dropdownTab); } else if (widget instanceof TabPane) { return tabContent.remove(widget); } return super.remove(widget); }
private Tab createTab(String text) { final Tab tab = new Tab(); final Label label = new Label(text); tab.setGraphic(label); label.setOnDragDone(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { if (event.getAcceptedTransferMode() == null) { final StackPane content = (StackPane) tab.getContent(); tab.setContent(null); Stage stage = new Stage(); stage.setScene(new Scene(content)); stage.show(); tab.getTabPane().getTabs().remove(tab); event.consume(); } } }); }
tabPane.setOnDragOver(event -> { if (event.getDragboard().hasContent(TAB_TYPE) && dndTab.getTabPane() != tabPane) {// && different from source location event.acceptTransferModes(TransferMode.MOVE); event.consume(); tabPane.setOnDragDropped(event -> { if (event.getDragboard().hasContent(TAB_TYPE) && dndTab.getTabPane() != tabPane) {// && different from source location dndTab.getTabPane().getTabs().remove(dndTab); tabPane.getTabs().add(dndTab); event.setDropCompleted(true);