public List<SwitchTarget> getTargets(final boolean onlyVisible, boolean originalProvider) { final ArrayList<SwitchTarget> result = new ArrayList<SwitchTarget>(); TabInfo selected = myTabs.getSelectedInfo(); new AwtVisitor(selected.getComponent()) { @Override public boolean visit(Component component) { if (component instanceof JBTabs) { JBTabs tabs = (JBTabs) component; if (tabs != myTabs) { result.addAll(tabs.getTargets(onlyVisible, false)); return true; } } return false; } }; return result; }
public SwitchTarget getCurrentTarget() { TabInfo selected = myTabs.getSelectedInfo(); final Ref<SwitchTarget> targetRef = new Ref<SwitchTarget>(); new AwtVisitor(selected.getComponent()) { @Override public boolean visit(Component component) { if (component instanceof JBTabs) { JBTabs tabs = (JBTabs) component; if (tabs != myTabs) { targetRef.set(tabs.getCurrentTarget()); return true; } } return false; } }; return targetRef.get(); }
public Component getComponentAt(final int i) { final TabInfo tab = myTabs.getTabAt(i); return tab.getComponent(); }
@Nullable public Object getSelectedComponent() { final TabInfo info = myTabs.getTargetInfo(); return info != null ? info.getComponent() : null; }