summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/execution/ui/layout
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/execution/ui/layout')
-rw-r--r--platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridCellImpl.java11
-rw-r--r--platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java4
-rw-r--r--platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java73
-rw-r--r--platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java41
4 files changed, 58 insertions, 71 deletions
diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridCellImpl.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridCellImpl.java
index b70d37a79e41..301cceee7e19 100644
--- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridCellImpl.java
+++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridCellImpl.java
@@ -70,6 +70,7 @@ public class GridCellImpl implements GridCell {
myPlaceInGrid = placeInGrid;
myPlaceholder = placeholder;
myTabs = new JBTabsImpl(myContext.getProject(), myContext.getActionManager(), myContext.getFocusManager(), container) {
+ @SuppressWarnings("UseJBColor")
@Override
protected Color getFocusedTopFillColor() {
return UIUtil.isUnderDarcula() ? ColorUtil.toAlpha(new Color(0x1E2533), 100) : new Color(202, 211, 227);
@@ -88,11 +89,13 @@ public class GridCellImpl implements GridCell {
super.paintBorder(g2d, shape, borderColor);
}
+ @SuppressWarnings("UseJBColor")
@Override
protected Color getFocusedBottomFillColor() {
return UIUtil.isUnderDarcula() ? new Color(0x1E2533) : new Color(0xc2cbdb);
}
+ @SuppressWarnings("UseJBColor")
@Override
public Color getBackground() {
return UIUtil.isUnderDarcula() ? new Color(0x27292A) : super.getBackground();
@@ -239,8 +242,6 @@ public class GridCellImpl implements GridCell {
}
private TabInfo createTabInfoFor(Content content) {
- final JComponent c = content.getComponent();
-
final TabInfo tabInfo = updatePresentation(new TabInfo(new ProviderWrapper(content, myContext)), content)
.setObject(content)
.setPreferredFocusableComponent(content.getPreferredFocusableComponent())
@@ -257,7 +258,10 @@ public class GridCellImpl implements GridCell {
@Nullable
private static TabInfo updatePresentation(TabInfo info, Content content) {
- if (info == null) return info;
+ if (info == null) {
+ return null;
+ }
+
return info.
setIcon(content.getIcon()).
setText(content.getDisplayName()).
@@ -309,7 +313,6 @@ public class GridCellImpl implements GridCell {
}
private static class ProviderWrapper extends NonOpaquePanel implements DataProvider {
-
Content myContent;
ViewContext myContext;
diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java
index 8ca416bd5427..d680e8a7e173 100644
--- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java
+++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -43,7 +43,7 @@ import java.util.Map;
*/
public class
JBRunnerTabs extends JBTabsImpl {
- public JBRunnerTabs(@Nullable Project project, ActionManager actionManager, IdeFocusManager focusManager, @NotNull Disposable parent) {
+ public JBRunnerTabs(@Nullable Project project, @NotNull ActionManager actionManager, IdeFocusManager focusManager, @NotNull Disposable parent) {
super(project, actionManager, focusManager, parent);
}
diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java
index 821d9dbd6bc3..b8225b0c238b 100644
--- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java
+++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerContentUi.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -89,7 +89,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
private ContentManager myManager;
private final RunnerLayout myLayoutSettings;
- private final ActionManager myActionManager;
+ @NotNull private final ActionManager myActionManager;
private final String mySessionName;
private final MyComponent myComponent = new MyComponent();
@@ -99,7 +99,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
JBRunnerTabs myTabs;
private final Comparator<TabInfo> myTabsComparator = new Comparator<TabInfo>() {
@Override
- public int compare(final TabInfo o1, final TabInfo o2) {
+ public int compare(@NotNull final TabInfo o1, @NotNull final TabInfo o2) {
//noinspection ConstantConditions
TabImpl tab1 = getTabFor(o1);
TabImpl tab2 = getTabFor(o2);
@@ -132,7 +132,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
private final Map<String, LayoutAttractionPolicy> myConditionAttractions = new HashMap<String, LayoutAttractionPolicy>();
private ActionGroup myTabPopupActions;
- private ActionGroup myAdditonalFocusActions;
+ private ActionGroup myAdditionalFocusActions;
private final ActionCallback myInitialized = new ActionCallback();
private boolean myToDisposeRemovedContent = true;
@@ -149,7 +149,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
private final CopyOnWriteArraySet<Listener> myDockingListeners = new CopyOnWriteArraySet<Listener>();
private final Set<RunnerContentUi> myChildren = new TreeSet<RunnerContentUi>(new Comparator<RunnerContentUi>() {
@Override
- public int compare(RunnerContentUi o1, RunnerContentUi o2) {
+ public int compare(@NotNull RunnerContentUi o1, @NotNull RunnerContentUi o2) {
return o1.myWindow - o2.myWindow;
}
});
@@ -164,7 +164,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
@NotNull String sessionName) {
myProject = project;
myRunnerUi = ui;
- myLayoutSettings = settings;
+ myLayoutSettings = settings;
myActionManager = actionManager;
mySessionName = sessionName;
myFocusManager = focusManager;
@@ -190,7 +190,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
public void setAdditionalFocusActions(final ActionGroup group) {
- myAdditonalFocusActions = group;
+ myAdditionalFocusActions = group;
rebuildTabPopup();
}
@@ -269,7 +269,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
});
myTabs.addTabMouseListener(new MouseAdapter() {
@Override
- public void mousePressed(MouseEvent e) {
+ public void mousePressed(@NotNull MouseEvent e) {
if (UIUtil.isCloseClick(e)) {
final TabInfo tabInfo = myTabs.findInfo(e);
final GridImpl grid = tabInfo == null? null : getGridFor(tabInfo);
@@ -299,10 +299,11 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
private void rebuildTabPopup() {
+ initUi();
+
myTabs.setPopupGroup(getCellPopupGroup(TAB_POPUP_PLACE), TAB_POPUP_PLACE, true);
- final ArrayList<GridImpl> grids = getGrids();
- for (GridImpl each : grids) {
+ for (GridImpl each : getGrids()) {
each.rebuildTabPopup();
}
}
@@ -325,10 +326,9 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
for (AnAction eachFocus : focusActions) {
group.add(eachFocus);
}
- if (myAdditonalFocusActions != null) {
- final AnAction[] addins = myAdditonalFocusActions.getChildren(event);
- for (AnAction eachAddin : addins) {
- group.add(eachAddin);
+ if (myAdditionalFocusActions != null) {
+ for (AnAction action : myAdditionalFocusActions.getChildren(event)) {
+ group.add(action);
}
}
}
@@ -350,7 +350,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
@Override
- public void propertyChange(final PropertyChangeEvent evt) {
+ public void propertyChange(@NotNull final PropertyChangeEvent evt) {
Content content = (Content)evt.getSource();
final GridImpl grid = getGridFor(content, false);
if (grid == null) return;
@@ -436,8 +436,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
return new ActionCallback.Done();
}
- private void storeDefaultIndices(Content[] contents) {
- int i = 0;
+ private void storeDefaultIndices(@NotNull Content[] contents) {
+ //int i = 0;
for (Content content : contents) {
content.putUserData(RunnerLayout.DEFAULT_INDEX, getStateFor(content).getTab().getDefaultIndex());
//content.putUserData(CONTENT_NUMBER, i++);
@@ -637,8 +637,9 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
myManager.addContentManagerListener(new ContentManagerListener() {
@Override
public void contentAdded(final ContentManagerEvent event) {
- final GridImpl grid = getGridFor(event.getContent(), true);
+ initUi();
+ GridImpl grid = getGridFor(event.getContent(), true);
if (grid == null) {
return;
}
@@ -795,10 +796,12 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
private static void moveFollowingTabs(int index, final JBRunnerTabs tabs) {
for (TabInfo info : tabs.getTabs()) {
- final TabImpl tab = getTabFor(info);
- final int tabIndex = tab != null ? tab.getIndex() : -1;
- if (tabIndex >= index) {
- tab.setIndex(tabIndex + 1);
+ TabImpl tab = getTabFor(info);
+ if (tab != null) {
+ int tabIndex = tab.getIndex();
+ if (tabIndex >= index) {
+ tab.setIndex(tabIndex + 1);
+ }
}
}
}
@@ -1147,7 +1150,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
myOriginal = null;
myTopActions = null;
- myAdditonalFocusActions = null;
+ myAdditionalFocusActions = null;
myLeftToolbarActions = null;
}
@@ -1166,7 +1169,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
Content[] all = contents.toArray(new Content[contents.size()]);
Arrays.sort(all, new Comparator<Content>() {
@Override
- public int compare(Content content, Content content1) {
+ public int compare(@NotNull Content content, @NotNull Content content1) {
final int i = getStateFor(content).getTab().getDefaultIndex();
final int i1 = getStateFor(content1).getTab().getDefaultIndex();
return i - i1;
@@ -1222,6 +1225,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
myMinimizeActionEnabled = enabled;
}
+ @SuppressWarnings("SpellCheckingInspection")
public void setMovetoGridActionEnabled(final boolean enabled) {
myMoveToGridActionEnabled = enabled;
}
@@ -1271,7 +1275,6 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
return null;
}
- @Nullable
public void restoreContent(final String key) {
for (AnAction action : myMinimizedViewActions.getChildren(null)) {
Content content = ((RestoreViewAction)action).getContent();
@@ -1293,7 +1296,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
private static class MyDropAreaPainter extends AbstractPainter {
private Shape myBoundingBox;
- private Color myColor = ColorUtil.mix(JBColor.BLUE, JBColor.WHITE, .3);
+ private final Color myColor = ColorUtil.mix(JBColor.BLUE, JBColor.WHITE, .3);
@Override
public boolean needsRepaint() {
@@ -1390,6 +1393,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
}
+ @SuppressWarnings("NullableProblems")
@Override
public String getName() {
return RunnerContentUi.this.getName();
@@ -1575,6 +1579,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
return myManager;
}
+ @NotNull
@Override
public ActionManager getActionManager() {
return myActionManager;
@@ -1617,7 +1622,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
@Override
- public void validate(final Content content, final ActiveRunnable toRestore) {
+ public void validate(Content content, final ActiveRunnable toRestore) {
final TabInfo current = myTabs.getSelectedInfo();
myTabs.getPresentation().setPaintBlocked(true, true);
@@ -1628,6 +1633,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
toRestore.run().doWhenDone(new Runnable() {
@Override
public void run() {
+ assert current != null;
myTabs.select(current, true);
myTabs.getPresentation().setPaintBlocked(false, true);
}
@@ -1654,7 +1660,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
@Override
- public Dimension preferredLayoutSize(final Container parent) {
+ public Dimension preferredLayoutSize(@NotNull final Container parent) {
Dimension size = new Dimension();
Dimension leftSize = myLeft.getPreferredSize();
@@ -1667,7 +1673,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
}
@Override
- public void layoutContainer(final Container parent) {
+ public void layoutContainer(@NotNull final Container parent) {
Dimension size = parent.getSize();
Dimension prefSize = parent.getPreferredSize();
if (prefSize.width <= size.width) {
@@ -1806,10 +1812,9 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
@Override
public void dragOutStarted(MouseEvent mouseEvent, TabInfo info) {
- final JComponent component = info.getComponent();
- final Content[] data = CONTENT_KEY.getData((DataProvider)component);
- final List<Content> contents = Arrays.asList(data);
-
+ JComponent component = info.getComponent();
+ Content[] data = CONTENT_KEY.getData((DataProvider)component);
+ assert data != null;
storeDefaultIndices(data);
final Dimension size = info.getComponent().getSize();
@@ -1822,7 +1827,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac
presentation.setIcon(info.getIcon());
mySession = getDockManager().createDragSession(mouseEvent, new DockableGrid(image, presentation,
size,
- contents, 0));
+ Arrays.asList(data), 0));
}
@Override
diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java
index 70d6a3f92819..7475adbcab21 100644
--- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java
+++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/RunnerLayoutUiImpl.java
@@ -21,7 +21,6 @@ import com.intellij.execution.ui.layout.LayoutAttractionPolicy;
import com.intellij.execution.ui.layout.LayoutStateDefaults;
import com.intellij.execution.ui.layout.LayoutViewOptions;
import com.intellij.execution.ui.layout.PlaceInGrid;
-import com.intellij.ide.DataManager;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.ActionManager;
@@ -46,9 +45,8 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
-public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, LayoutStateDefaults, LayoutViewOptions {
+public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, LayoutStateDefaults, LayoutViewOptions, DataProvider {
private final RunnerLayout myLayout;
- private final JPanel myContentPanel;
private final RunnerContentUi myContentUI;
private final ContentManager myViewsContentManager;
@@ -63,14 +61,12 @@ public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, La
Disposer.register(parent, this);
myContentUI = new RunnerContentUi(project, this, ActionManager.getInstance(), IdeFocusManager.getInstance(project), myLayout,
- runnerTitle + " - " + sessionName);
+ runnerTitle + " - " + sessionName);
Disposer.register(this, myContentUI);
- myContentPanel = new MyContent();
myViewsContentManager = getContentFactory().createContentManager(myContentUI.getContentUI(), false, project);
+ myViewsContentManager.addDataProvider(this);
Disposer.register(this, myViewsContentManager);
-
- myContentPanel.add(myViewsContentManager.getComponent(), BorderLayout.CENTER);
}
@Override
@@ -80,7 +76,6 @@ public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, La
return this;
}
-
@NotNull
@Override
public LayoutStateDefaults initTabDefaults(int id, String text, Icon icon) {
@@ -156,7 +151,7 @@ public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, La
@Override
@NotNull
public JComponent getComponent() {
- return myContentPanel;
+ return myViewsContentManager.getComponent();
}
private static ContentFactory getContentFactory() {
@@ -380,28 +375,12 @@ public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, La
return contents;
}
- private class MyContent extends JPanel implements DataProvider {
- public MyContent() {
- super(new BorderLayout());
- }
-
- @Override
- public Object getData(@NonNls String dataId) {
- if (SwitchProvider.KEY.getName().equals(dataId)) {
- return myContentUI;
- }
-
- if (QuickActionProvider.KEY.getName().equals(dataId)) {
- return myContentUI;
- }
-
- if (RunnerContentUi.KEY.getName().equals(dataId)) {
- return myContentUI;
- }
-
- final DataProvider provider = DataManager.getDataProvider(this);
- return provider != null ? provider.getData(dataId) : null;
+ @Nullable
+ @Override
+ public Object getData(@NonNls String dataId) {
+ if (SwitchProvider.KEY.is(dataId) || QuickActionProvider.KEY.is(dataId) || RunnerContentUi.KEY.is(dataId)) {
+ return myContentUI;
}
+ return null;
}
-
}