mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix layout and borders
This commit is contained in:
@@ -15,10 +15,12 @@
|
||||
*/
|
||||
package com.intellij.execution.impl;
|
||||
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.BeforeRunTask;
|
||||
import com.intellij.execution.BeforeRunTaskProvider;
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.configurations.UnknownRunConfiguration;
|
||||
import com.intellij.openapi.actionSystem.ActionToolbarPosition;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
@@ -63,8 +65,9 @@ class BeforeRunStepsPanel extends JPanel {
|
||||
myList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
myList.setCellRenderer(new MyListCellRenderer());
|
||||
ToolbarDecorator myDecorator = ToolbarDecorator.createDecorator(myList).setVisibleRowCount(4);
|
||||
if (!SystemInfo.isMac)
|
||||
myDecorator.setToolbarPosition(ActionToolbarPosition.TOP);
|
||||
if (!SystemInfo.isMac) {
|
||||
myDecorator.setAsTopToolbar();
|
||||
}
|
||||
myDecorator.setEditAction(new AnActionButtonRunnable() {
|
||||
@Override
|
||||
public void run(AnActionButton button) {
|
||||
|
||||
@@ -32,9 +32,9 @@ import java.util.*;
|
||||
*/
|
||||
public class CommonActionsPanel extends JPanel {
|
||||
public static enum Buttons {
|
||||
ADD, EDIT, REMOVE, UP, DOWN;
|
||||
ADD, REMOVE, EDIT, UP, DOWN;
|
||||
|
||||
public static Buttons[] ALL = {ADD, EDIT, REMOVE, UP, DOWN};
|
||||
public static Buttons[] ALL = {ADD, REMOVE, EDIT, UP, DOWN};
|
||||
|
||||
Icon getIcon() {
|
||||
switch (this) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2011 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 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.
|
||||
@@ -17,6 +17,7 @@ package com.intellij.ui;
|
||||
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.ui.border.CustomLineBorder;
|
||||
import com.intellij.ui.table.TableView;
|
||||
@@ -30,9 +31,7 @@ import javax.swing.*;
|
||||
import javax.swing.border.Border;
|
||||
import javax.swing.border.LineBorder;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -287,7 +286,11 @@ public abstract class ToolbarDecorator implements DataProvider, CommonActionsPan
|
||||
myButtonComparator,
|
||||
myAddName, myRemoveName, myMoveUpName, myMoveDownName, myEditName,
|
||||
buttons);
|
||||
myPanel.setBorder(myBorder);
|
||||
if (myAsTopToolbar) {
|
||||
contextComponent.setBorder(IdeBorderFactory.createBorder(SideBorder.ALL));
|
||||
} else {
|
||||
myPanel.setBorder(myBorder);
|
||||
}
|
||||
final JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(contextComponent);
|
||||
if (myPreferredSize != null) {
|
||||
scrollPane.setPreferredSize(myPreferredSize);
|
||||
@@ -307,7 +310,12 @@ public abstract class ToolbarDecorator implements DataProvider, CommonActionsPan
|
||||
installDnD();
|
||||
panel.putClientProperty(ActionToolbar.ACTION_TOOLBAR_PROPERTY_KEY, myPanel.getComponent(0));
|
||||
DataManager.registerDataProvider(panel, this);
|
||||
if (!myAsTopToolbar) {
|
||||
if (myAsTopToolbar) {
|
||||
panel.setBorder(null);
|
||||
if (getComponent().getBorder() == null) {
|
||||
getComponent().setBorder(IdeBorderFactory.createBorder(SideBorder.ALL));
|
||||
}
|
||||
} else {
|
||||
panel.setBorder(new LineBorder(UIUtil.getBorderColor()));
|
||||
final JComponent c = getComponent();
|
||||
if (contextComponent != null) {
|
||||
@@ -358,21 +366,21 @@ public abstract class ToolbarDecorator implements DataProvider, CommonActionsPan
|
||||
|
||||
private CommonActionsPanel.Buttons[] getButtons() {
|
||||
final ArrayList<CommonActionsPanel.Buttons> buttons = new ArrayList<CommonActionsPanel.Buttons>();
|
||||
if (myAddActionEnabled && myAddAction != null) {
|
||||
buttons.add(CommonActionsPanel.Buttons.ADD);
|
||||
}
|
||||
if (myEditActionEnabled && myEditAction != null) {
|
||||
buttons.add(CommonActionsPanel.Buttons.EDIT);
|
||||
}
|
||||
if (myRemoveActionEnabled && myRemoveAction != null) {
|
||||
buttons.add(CommonActionsPanel.Buttons.REMOVE);
|
||||
}
|
||||
if (myUpActionEnabled && myUpAction != null) {
|
||||
buttons.add(CommonActionsPanel.Buttons.UP);
|
||||
}
|
||||
if (myDownActionEnabled && myDownAction != null) {
|
||||
buttons.add(CommonActionsPanel.Buttons.DOWN);
|
||||
final HashMap<CommonActionsPanel.Buttons, Pair<Boolean, AnActionButtonRunnable>> map =
|
||||
new HashMap<CommonActionsPanel.Buttons, Pair<Boolean, AnActionButtonRunnable>>();
|
||||
map.put(CommonActionsPanel.Buttons.ADD, Pair.create(myAddActionEnabled, myAddAction));
|
||||
map.put(CommonActionsPanel.Buttons.REMOVE, Pair.create(myRemoveActionEnabled, myRemoveAction));
|
||||
map.put(CommonActionsPanel.Buttons.EDIT, Pair.create(myEditActionEnabled, myEditAction));
|
||||
map.put(CommonActionsPanel.Buttons.UP, Pair.create(myUpActionEnabled, myUpAction));
|
||||
map.put(CommonActionsPanel.Buttons.DOWN, Pair.create(myDownActionEnabled, myDownAction));
|
||||
|
||||
for (CommonActionsPanel.Buttons button : CommonActionsPanel.Buttons.values()) {
|
||||
final Pair<Boolean, AnActionButtonRunnable> action = map.get(button);
|
||||
if (action != null && action.first && action.second != null) {
|
||||
buttons.add(button);
|
||||
}
|
||||
}
|
||||
|
||||
return buttons.toArray(new CommonActionsPanel.Buttons[buttons.size()]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user