@Override public void actionPerformed(ActionEvent e) { for (WidgetToShow widget : subPanel.getAllWidgets()) { subPanel.removeWidget(widget, (subPanel, tabToActivate) -> {}); } } }
@Override public void actionPerformed(ActionEvent e) { for (WidgetToShow widget : subPanel.getAllWidgets()) { subPanel.removeWidget(widget, (subPanel, tabToActivate) -> {}); } subPanel.closePane(); } }
/** * Remove the given {@code widget} from this panel. Nearby widget will be activated if widget for * removing is active {@link Tab}. To override this behavior use {@link * #removeWidget(WidgetToShow, ActiveTabClosedHandler)} * * @param widget widget to remove */ default void removeWidget(WidgetToShow widget) { removeWidget(widget, SubPanelView::activateTab); }
@Override public void splitHorizontally() { final SubPanel subPanel = subPanelFactory.newPanel(this); subPanel.setFocusListener(focusListener); subPanel.setDoubleClickListener(doubleClickListener); subPanel.setAddTabButtonClickListener(addTabButtonClickListener); view.splitHorizontally(subPanel.getView()); }
@Override public void splitVertically() { final SubPanel subPanel = subPanelFactory.newPanel(this); subPanel.setFocusListener(focusListener); subPanel.setDoubleClickListener(doubleClickListener); subPanel.setAddTabButtonClickListener(addTabButtonClickListener); view.splitVertically(subPanel.getView()); }
@Override public void onMenuItemSelected(MenuItem menuItem) { final Object data = menuItem.getData(); if (data instanceof Tab) { final WidgetToShow widget = tabs2Widgets.get(data); if (widget != null) { activateWidget(widget); delegate.onWidgetFocused(widget.getWidget()); } } else if (data instanceof BaseAction) { ((Action) data).actionPerformed(null); } }
@Override public void onTabDoubleClicked(Tab tab) { final WidgetToShow widget = tabs2Widgets.get(tab); if (widget != null) { activateWidget(widget); delegate.onWidgetDoubleClicked(widget.getWidget()); } }
@Override public void activateTab(Tab tab) { final WidgetToShow widget = tabs2Widgets.get(tab); if (widget != null) { activateWidget(widget); delegate.onWidgetFocused(widget.getWidget()); } }
@Override public void onResize() { for (WidgetToShow widgetToShow : widget2Panels.keySet()) { final IsWidget widget = widgetToShow.getWidget(); if (widget instanceof RequiresResize) { ((RequiresResize) widget).onResize(); } } for (SubPanel panel : widget2Panels.values()) { if (panel.getView() instanceof RequiresResize) { ((RequiresResize) panel.getView()).onResize(); } } }
@Override public void onWidgetRemoving(IsWidget widget, RemoveCallback removeCallback) { final WidgetRemovingListener listener = removingListeners.get(widget); if (listener != null) { listener.onWidgetRemoving(removeCallback); } widgets.removeIf(widgetToShow -> widgetToShow.getWidget().equals(widget)); }
@Override public void removeWidget(WidgetToShow widget, ActiveTabClosedHandler handler) { view.removeWidget(widget, handler); widgets.remove(widget); removingListeners.remove(widget.getWidget()); }
private void removeWidgetFromUI(WidgetToShow widget) { final Tab tab = widgets2Tabs.remove(widget); if (tab != null) { tabsPanel.remove(tab); widgetsPanel.remove(widget.getWidget()); tabs2Widgets.remove(tab); // remove item from drop-down menu final MenuItemWidget listItemWidget = widgets2ListItems.remove(widget); if (listItemWidget != null) { menu.removeListItem(listItemWidget); } } }
@Override public void onResize() { for (WidgetToShow widgetToShow : widgets2Tabs.keySet()) { if (widgetToShow.getWidget() instanceof RequiresResize) { ((RequiresResize) widgetToShow.getWidget()).onResize(); } } // reset timer and schedule it again ensureActiveTabVisibleTimer.cancel(); ensureActiveTabVisibleTimer.schedule(200); }
@Override public void actionPerformed(ActionEvent e) { subPanel.splitHorizontally(); } }
@Override public void actionPerformed(ActionEvent e) { subPanel.splitVertically(); } }
@Override public void onAddTabButtonClicked(int mouseX, int mouseY) { if (addTabButtonClickListener != null) { addTabButtonClickListener.onAddTabButtonClicked(mouseX, mouseY); } } }
@Override public void onWidgetFocused(IsWidget widget) { focusListener.focusGained(this, widget); }
@Override public void onWidgetDoubleClicked(IsWidget widget) { doubleClickListener.onDoubleClicked(this, widget); }
@Override public void removeWidget(String processId, ActiveTabClosedHandler handler) { WidgetToShow widget = processWidgets.remove(processId); SubPanel subPanel = widget2Panels.remove(widget); if (subPanel != null) { subPanel.removeWidget(widget, handler); } }
@Override public void clear() { for (WidgetToShow widgetToShow : processWidgets.values()) { SubPanel subPanel = widget2Panels.get(widgetToShow); subPanel.removeWidget(widgetToShow, (subPanelView, tabToActivate) -> {}); } processWidgets.clear(); }