@Override protected void performAction() { Container container = SwingUtilities.getAncestorOfClass(TerminalContainer.class, getTerminal()); if (container != null && container instanceof TerminalContainer) { TerminalContainer tc = (TerminalContainer) container; List<? extends Component> allTabs = tc.getAllTabs(); try { int requested = Integer.parseInt(getEvent().getActionCommand()); requested = (requested == 0) ? 9 : requested - 1; if (requested >= allTabs.size() || requested < 0) { return; } if (allTabs.get(requested) instanceof Terminal) { Terminal terminal = (Terminal) allTabs.get(requested); if (tc instanceof IOContainer.Provider) { ((IOContainer.Provider) tc).select(terminal); } } } catch (NumberFormatException x) { } } }
/** * Checks whether comp can be closed (e.g. if Close action should be * present in component popup menu) * @param comp component which should be closeable * @return true if component can be closed */ public boolean isCloseable(JComponent comp) { log("isCloseable()", comp); return provider.isCloseable(comp); }
/** * Removes component from parent container * @param comp component that should be removed */ public void remove(JComponent comp) { log("remove()", comp); provider.remove(comp); }
/** * Activates parent container */ public void requestActive() { log("requestActive()"); provider.requestActive(); }
/** * Selects component in parent container * @param comp component that should be selected */ public void select(JComponent comp) { log("select()", comp); provider.select(comp); }
/** * Opens parent container */ public void open() { log("open()"); provider.open(); }
/** * Sets icon for provided component * @param comp component for which icon should be set * @param icon component icon */ public void setIcon(JComponent comp, Icon icon) { log("setIcon()", comp, icon); provider.setIcon(comp, icon); }
/** * Gets currently selected component in parent container * @return selected tab */ public JComponent getSelected() { log("getSelected()"); return provider.getSelected(); }
/** * Checks if parent container is activated * @return true if parent container is activated */ public boolean isActivated() { log("isActivated()"); return provider.isActivated(); }
/** * Selects parent container (if it is opened), but does not activate it */ public void requestVisible() { log("requestVisible()"); provider.requestVisible(); }
/** * Adds component to parent container * @param comp component to be added * @param cb callbacks for added component or null if not interested in notifications * @see CallBacks */ public void add(JComponent comp, CallBacks cb) { log("add()", comp, cb); provider.add(comp, cb); }