introduce NamedScope#getDefaultColorName and drop FileColorName

GitOrigin-RevId: ebb719c32738c39f93c847481ff077cd2d87e35d
This commit is contained in:
Gregory.Shrago
2019-07-02 06:52:16 +03:00
committed by intellij-monorepo-bot
parent 00618933d3
commit f0aebc526a
6 changed files with 18 additions and 25 deletions
@@ -8,7 +8,6 @@ import com.intellij.openapi.roots.TestSourcesFilter;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.scope.packageSet.FilteredPackageSet;
import com.intellij.psi.search.scope.packageSet.NamedScope;
import com.intellij.ui.FileColorName;
import com.intellij.ui.IconManager;
import org.jetbrains.annotations.NotNull;
@@ -16,7 +15,7 @@ import org.jetbrains.annotations.NotNull;
* @author Konstantin Bulenkov
* @author Sergey Malenkov
*/
public final class TestsScope extends NamedScope implements FileColorName {
public final class TestsScope extends NamedScope {
public static final String NAME = IdeBundle.message("predefined.scope.tests.name");
public static final TestsScope INSTANCE = new TestsScope();
@@ -30,7 +29,7 @@ public final class TestsScope extends NamedScope implements FileColorName {
}
@Override
public String colorName() {
public String getDefaultColorName() {
return "Green";
}
}
@@ -2,10 +2,10 @@
package com.intellij.psi.search.scope.packageSet;
import com.intellij.icons.AllIcons;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.Icon;
import javax.swing.*;
public class NamedScope {
public static final NamedScope[] EMPTY_ARRAY = new NamedScope[0];
@@ -43,6 +43,11 @@ public class NamedScope {
return new NamedScope(myName, myIcon, myValue == null ? null : myValue.createCopy());
}
@Nullable
public String getDefaultColorName() {
return null;
}
public static class UnnamedScope extends NamedScope {
public UnnamedScope(@NotNull PackageSet value) {
super(value.getText(), value);
@@ -8,7 +8,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.ProjectScope;
import com.intellij.psi.search.scope.packageSet.FilteredPackageSet;
import com.intellij.psi.search.scope.packageSet.NamedScope;
import com.intellij.ui.FileColorName;
import com.intellij.ui.IdeUICustomization;
import org.jetbrains.annotations.NotNull;
@@ -16,7 +15,7 @@ import org.jetbrains.annotations.NotNull;
* @author Konstantin Bulenkov
* @author Sergey Malenkov
*/
public final class NonProjectFilesScope extends NamedScope implements FileColorName {
public final class NonProjectFilesScope extends NamedScope {
public static final String NAME = IdeUICustomization.getInstance().getNonProjectFilesScopeTitle();
public static final NonProjectFilesScope INSTANCE = new NonProjectFilesScope();
@@ -39,7 +38,7 @@ public final class NonProjectFilesScope extends NamedScope implements FileColorN
}
@Override
public String colorName() {
public String getDefaultColorName() {
return "Yellow";
}
}
@@ -3,16 +3,15 @@
package com.intellij.ui.tabs;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.ComboBox;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.search.scope.packageSet.CustomScopesProviderEx;
import com.intellij.psi.search.scope.packageSet.NamedScope;
import com.intellij.psi.search.scope.packageSet.NamedScopeManager;
import com.intellij.psi.search.scope.packageSet.NamedScopesHolder;
import com.intellij.ui.ColorUtil;
import com.intellij.ui.ComboboxSpeedSearch;
import com.intellij.ui.FileColorManager;
import com.intellij.ui.FileColorName;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.ui.JBUI;
import org.jetbrains.annotations.NotNull;
@@ -72,7 +71,7 @@ public class FileColorConfigurationEditDialog extends DialogWrapper {
protected JComponent createNorthPanel() {
final List<NamedScope> scopeList = new ArrayList<>();
final Project project = myManager.getProject();
final NamedScopesHolder[] scopeHolders = NamedScopeManager.getAllNamedScopeHolders(project);
final NamedScopesHolder[] scopeHolders = NamedScopesHolder.getAllNamedScopeHolders(project);
for (final NamedScopesHolder scopeHolder : scopeHolders) {
final NamedScope[] scopes = scopeHolder.getScopes();
Collections.addAll(scopeList, scopes);
@@ -82,7 +81,7 @@ public class FileColorConfigurationEditDialog extends DialogWrapper {
myScopeNames.put(scope.getName(), scope);
}
myScopeComboBox = new JComboBox(ArrayUtilRt.toStringArray(myScopeNames.keySet()));
myScopeComboBox = new ComboBox<>(ArrayUtilRt.toStringArray(myScopeNames.keySet()));
myScopeComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -116,7 +115,7 @@ public class FileColorConfigurationEditDialog extends DialogWrapper {
if (item instanceof String) {
Color color = myConfiguration == null ? null : ColorUtil.fromHex(myConfiguration.getColorName(), null);
NamedScope scope = myScopeNames.get(item);
String colorName = scope instanceof FileColorName ? ((FileColorName)scope).colorName() : null;
String colorName = scope.getDefaultColorName();
if (color == null && StringUtil.isNotEmpty(colorName)) {
color = myManager.getColor(colorName);
@@ -125,7 +124,8 @@ public class FileColorConfigurationEditDialog extends DialogWrapper {
if (color != null) {
if (StringUtil.isNotEmpty(colorName) && color.equals(myManager.getColor(colorName))) {
myColorSelectionComponent.setSelectedColor(colorName);
} else {
}
else {
myColorSelectionComponent.setCustomButtonColor(color);
}
}
@@ -15,7 +15,6 @@ import com.intellij.psi.search.scope.packageSet.NamedScopesHolder;
import com.intellij.psi.search.scope.packageSet.PackageSet;
import com.intellij.psi.search.scope.packageSet.PackageSetBase;
import com.intellij.ui.ColorUtil;
import com.intellij.ui.FileColorName;
import com.intellij.util.containers.ContainerUtil;
import gnu.trove.THashMap;
import org.jdom.Element;
@@ -60,7 +59,7 @@ public class FileColorsModel implements Cloneable {
private void initPredefinedAndGlobalScopes() {
for (NamedScope scope : CustomScopesAggregator.getAllCustomScopes(myProject)) {
String scopeName = scope.getName();
String colorName = scope instanceof FileColorName ? ((FileColorName)scope).colorName() : null;
String colorName = scope.getDefaultColorName();
if (StringUtil.isEmpty(colorName)) continue;
@@ -1,9 +0,0 @@
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.ui;
/**
* @author Konstantin Bulenkov
*/
public interface FileColorName {
String colorName();
}