This commit is contained in:
Dennis Ushakov
2012-02-02 17:49:58 +04:00
parent 53f7a92523
commit 472660fb69
2 changed files with 26 additions and 1 deletions
@@ -695,6 +695,27 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
return (ActionGroup)myActionManager.getAction(SETTINGS);
}
public ContentManager getContentManager(Content content) {
if (hasContent(myManager, content)) {
return myManager;
}
for (RunnerContentUi child : myChildren) {
if (hasContent(child.myManager, content)) {
return child.myManager;
}
}
return myManager;
}
private static boolean hasContent(ContentManager manager, Content content) {
for (Content c : manager.getContents()) {
if (c == content) {
return true;
}
}
return false;
}
private static void moveFollowingTabs(int index, final JBRunnerTabs tabs) {
for (TabInfo info : tabs.getTabs()) {
final TabImpl tab = getTabFor(info);
@@ -169,7 +169,11 @@ public class RunnerLayoutUiImpl implements Disposable, RunnerLayoutUi, LayoutSta
public ActionCallback selectAndFocus(@Nullable final Content content, boolean requestFocus, final boolean forced, boolean implicit) {
if (content == null) return new ActionCallback.Rejected();
return getContentManager().setSelectedContent(content, requestFocus || shouldRequestFocus(), forced, implicit);
return getContentManager(content).setSelectedContent(content, requestFocus || shouldRequestFocus(), forced, implicit);
}
private ContentManager getContentManager(@NotNull Content content) {
return myContentUI.getContentManager(content);
}
private boolean shouldRequestFocus() {