diff --git a/platform/analysis-api/src/com/intellij/psi/search/scope/TestsScope.java b/platform/analysis-api/src/com/intellij/psi/search/scope/TestsScope.java index 7141be476ef9..c029011b391f 100644 --- a/platform/analysis-api/src/com/intellij/psi/search/scope/TestsScope.java +++ b/platform/analysis-api/src/com/intellij/psi/search/scope/TestsScope.java @@ -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"; } } diff --git a/platform/analysis-api/src/com/intellij/psi/search/scope/packageSet/NamedScope.java b/platform/analysis-api/src/com/intellij/psi/search/scope/packageSet/NamedScope.java index 46e2dad78a4b..3d527afa0652 100644 --- a/platform/analysis-api/src/com/intellij/psi/search/scope/packageSet/NamedScope.java +++ b/platform/analysis-api/src/com/intellij/psi/search/scope/packageSet/NamedScope.java @@ -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); diff --git a/platform/lang-impl/src/com/intellij/psi/search/scope/NonProjectFilesScope.java b/platform/lang-impl/src/com/intellij/psi/search/scope/NonProjectFilesScope.java index 357a65fbdd86..436693f146b6 100644 --- a/platform/lang-impl/src/com/intellij/psi/search/scope/NonProjectFilesScope.java +++ b/platform/lang-impl/src/com/intellij/psi/search/scope/NonProjectFilesScope.java @@ -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"; } } diff --git a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java index cf1af3bf391d..88284aeafc7f 100644 --- a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java +++ b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java @@ -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 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); } } diff --git a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsModel.java b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsModel.java index 5def563f93c0..072df8cc9fa8 100644 --- a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsModel.java +++ b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorsModel.java @@ -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; diff --git a/platform/util/ui/src/com/intellij/ui/FileColorName.java b/platform/util/ui/src/com/intellij/ui/FileColorName.java deleted file mode 100644 index 64a6f183458b..000000000000 --- a/platform/util/ui/src/com/intellij/ui/FileColorName.java +++ /dev/null @@ -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(); -}