From e4afc9933f9b7f5a91ff1ebabdf6b442d5ceb94b Mon Sep 17 00:00:00 2001 From: Konstantin Aleev Date: Thu, 20 Jul 2017 12:20:39 +0300 Subject: [PATCH] RunDashboard: move run content toolbar to the right --- .../execution/dashboard/RunDashboardContent.java | 1 + .../execution/ui/layout/impl/GridCellImpl.java | 9 +++++---- .../intellij/execution/ui/layout/impl/GridImpl.java | 6 ++++++ .../execution/ui/layout/impl/RunnerContentUi.java | 13 +++++++++++++ .../ui/layout/impl/RunnerLayoutUiImpl.java | 4 ++++ 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java index 6d1961ab3c25..e049e9c4839e 100644 --- a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java +++ b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java @@ -139,6 +139,7 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab } RunnerLayoutUiImpl layoutUiImpl = (RunnerLayoutUiImpl)layoutUi; layoutUiImpl.setLeftToolbarVisible(false); + layoutUiImpl.setContentToolbarBefore(false); List leftToolbarActions = layoutUiImpl.getActions(); myContentActions.put(content, leftToolbarActions); updateContentToolbar(content); 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 c4797d4293f6..f3c020144399 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 @@ -29,10 +29,7 @@ import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.components.panels.NonOpaquePanel; import com.intellij.ui.content.Content; import com.intellij.ui.content.ContentManager; -import com.intellij.ui.tabs.JBTabs; -import com.intellij.ui.tabs.TabInfo; -import com.intellij.ui.tabs.TabsListener; -import com.intellij.ui.tabs.UiDecorator; +import com.intellij.ui.tabs.*; import com.intellij.ui.tabs.impl.JBEditorTabs; import com.intellij.ui.tabs.impl.TabLabel; import com.intellij.ui.tabs.impl.singleRow.ScrollableSingleRowLayout; @@ -340,6 +337,10 @@ public class GridCellImpl implements GridCell { myTabs.getPresentation().setSideComponentVertical(!horizontal); } + public void setToolbarBefore(final boolean before) { + myTabs.getPresentation().setSideComponentBefore(before); + } + public ActionCallback restoreLastUiState() { final ActionCallback result = new ActionCallback(); diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java index 34ad3dd58ce7..45dc29aedb6f 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/GridImpl.java @@ -138,6 +138,12 @@ public class GridImpl extends Wrapper implements Grid, Disposable, DataProvider } } + public void setToolbarBefore(boolean before) { + for (final GridCellImpl cell : myPlaceInGrid2Cell.values()) { + cell.setToolbarBefore(before); + } + } + @Override public GridCellImpl getCellFor(final Content content) { // check if the content is already in some cell 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 55cd74330c41..889be2bec474 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 @@ -137,6 +137,8 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac private int myAttractionCount; private ActionGroup myLeftToolbarActions; + private boolean myContentToolbarBefore = true; + private JBTabs myCurrentOver; private Image myCurrentOverImg; private TabInfo myCurrentOverInfo; @@ -204,6 +206,16 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac myComponent.repaint(); } + public void setContentToolbarBefore(boolean value) { + myContentToolbarBefore = value; + for (GridImpl each : getGrids()) { + each.setToolbarBefore(value); + } + + myContextActions.clear(); + updateTabsUI(false); + } + public void initUi() { if (myTabs != null) return; @@ -721,6 +733,7 @@ public class RunnerContentUi implements ContentUI, Disposable, CellTransform.Fac if (grid != null || !createIfMissing) return grid; grid = new GridImpl(this, mySessionName); + grid.setToolbarBefore(myContentToolbarBefore); if (myCurrentOver != null || myOriginal != null) { Integer forcedDropIndex = content.getUserData(RunnerLayout.DROP_INDEX); 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 f6637c065efe..25c78e418363 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 @@ -388,6 +388,10 @@ public class RunnerLayoutUiImpl implements Disposable.Parent, RunnerLayoutUi, La myContentUI.setLeftToolbarVisible(value); } + public void setContentToolbarBefore(boolean value) { + myContentUI.setContentToolbarBefore(value); + } + public List getActions() { return myContentUI.getActions(true); }