diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/execution/ui/layout')
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; } - } |