RunDashboard: move run content toolbar to the right

This commit is contained in:
Konstantin Aleev
2017-07-20 12:26:29 +03:00
parent 22134c20b6
commit e4afc9933f
5 changed files with 29 additions and 4 deletions
@@ -139,6 +139,7 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
}
RunnerLayoutUiImpl layoutUiImpl = (RunnerLayoutUiImpl)layoutUi;
layoutUiImpl.setLeftToolbarVisible(false);
layoutUiImpl.setContentToolbarBefore(false);
List<AnAction> leftToolbarActions = layoutUiImpl.getActions();
myContentActions.put(content, leftToolbarActions);
updateContentToolbar(content);
@@ -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();
@@ -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
@@ -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);
@@ -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<AnAction> getActions() {
return myContentUI.getActions(true);
}