mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
Generated
+1
-1
@@ -3,7 +3,7 @@
|
||||
<properties include-transitive-deps="false" maven-id="org.apache.xmlgraphics:batik-all:1.9.1" />
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlgraphics/batik-all/1.9.1/batik-all-1.9.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/community/lib/batik-compat.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/batik-compat.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
|
||||
+1
-1
@@ -86,7 +86,7 @@ class GoToClassFocusTest : GuiTestCase() {
|
||||
}
|
||||
with(guiTestCase) {
|
||||
val textfield = textfield("", searchWindow, guiTestCase.defaultTimeout)
|
||||
Assert.assertEquals(textfield.target().text, typedString)
|
||||
Assert.assertEquals(typedString, textfield.target().text)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ class GoToClassTwiceFocusTest : GuiTestCase() {
|
||||
}
|
||||
with(guiTestCase) {
|
||||
val textfield = textfield("", searchWindow, guiTestCase.defaultTimeout)
|
||||
Assert.assertEquals(textfield.target().text, typedString)
|
||||
Assert.assertEquals(typedString, textfield.target().text)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.awt.Container
|
||||
class KeyMapSettingsTestFocusTest : GuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun testInlineVariableFocus() {
|
||||
fun testKeyMapSettingsTestFocus() {
|
||||
CommunityProjectCreator.createCommandLineProject()
|
||||
Pause.pause(1000)
|
||||
ideFrame {
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ class SearchEverywhereFocusTest : GuiTestCase() {
|
||||
private val searchWindowLabelText = "Search Everywhere:"
|
||||
|
||||
@Test
|
||||
fun testGoToClassFocus() {
|
||||
fun testSearchEverywhereFocus() {
|
||||
CommunityProjectCreator.createCommandLineProject()
|
||||
Pause.pause(1000)
|
||||
ideFrame {
|
||||
@@ -55,7 +55,7 @@ class SearchEverywhereFocusTest : GuiTestCase() {
|
||||
private fun GuiTestCase.checkTextInSearchWindow(searchWindow: Container, expectedText: String) {
|
||||
with(this) {
|
||||
val textfield = textfield("", searchWindow, this.defaultTimeout)
|
||||
Assert.assertEquals(textfield.target().text, expectedText)
|
||||
Assert.assertEquals(expectedText, textfield.target().text)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.junit.Test
|
||||
class TypeAheadTest : GuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun testProjectCreate() {
|
||||
fun testTypeAhead() {
|
||||
CommunityProjectCreator.createCommandLineProject("type-ahead-problem")
|
||||
ideFrame {
|
||||
waitForBackgroundTasksToFinish()
|
||||
|
||||
+63
-2
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2018 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.execution.testDiscovery.actions;
|
||||
|
||||
import com.intellij.codeInsight.actions.FormatChangedTextUtil;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.JavaTestConfigurationBase;
|
||||
@@ -17,12 +18,15 @@ import com.intellij.find.FindUtil;
|
||||
import com.intellij.find.actions.CompositeActiveComponent;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.impl.ActionButton;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.keymap.KeymapUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -32,10 +36,14 @@ import com.intellij.openapi.util.Couple;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.vcs.VcsDataKeys;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.util.ClassUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.uast.UastMetaLanguage;
|
||||
import com.intellij.ui.ActiveComponent;
|
||||
import com.intellij.usages.UsageView;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
@@ -47,14 +55,18 @@ import com.intellij.util.ui.tree.TreeModelAdapter;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.uast.UFile;
|
||||
import org.jetbrains.uast.UMethod;
|
||||
import org.jetbrains.uast.UastContextKt;
|
||||
import org.jetbrains.uast.visitor.AbstractUastVisitor;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.TreeModelEvent;
|
||||
import javax.swing.tree.TreeModel;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.intellij.openapi.actionSystem.CommonDataKeys.EDITOR;
|
||||
@@ -65,7 +77,10 @@ public class ShowDiscoveredTestsAction extends AnAction {
|
||||
|
||||
@Override
|
||||
public void update(AnActionEvent e) {
|
||||
e.getPresentation().setEnabledAndVisible(isEnabledForProject(e) && findMethodAtCaret(e) != null);
|
||||
e.getPresentation().setEnabledAndVisible(
|
||||
isEnabledForProject(e) &&
|
||||
(findMethodAtCaret(e) != null || e.getData(VcsDataKeys.CHANGES) != null)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,8 +89,16 @@ public class ShowDiscoveredTestsAction extends AnAction {
|
||||
assert project != null;
|
||||
|
||||
PsiMethod method = findMethodAtCaret(e);
|
||||
assert method != null;
|
||||
|
||||
if (method != null) {
|
||||
showDiscoveredTestsByPsi(e, project, method);
|
||||
}
|
||||
else {
|
||||
showDiscoveredTestsByChanges(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void showDiscoveredTestsByPsi(AnActionEvent e, Project project, PsiMethod method) {
|
||||
Couple<String> couple = getMethodQualifiedName(method);
|
||||
PsiClass c = method.getContainingClass();
|
||||
String fqn = couple != null ? couple.first : null;
|
||||
@@ -88,6 +111,44 @@ public class ShowDiscoveredTestsAction extends AnAction {
|
||||
showDiscoveredTests(project, dataContext, methodPresentationName, method);
|
||||
}
|
||||
|
||||
private static void showDiscoveredTestsByChanges(AnActionEvent e) {
|
||||
Change[] changes = e.getRequiredData(VcsDataKeys.CHANGES);
|
||||
Project project = e.getProject();
|
||||
assert project != null;
|
||||
UastMetaLanguage jvmLanguage = Language.findInstance(UastMetaLanguage.class);
|
||||
|
||||
List<PsiElement> methods = FormatChangedTextUtil.getInstance().getChangedElements(project, changes, file -> {
|
||||
PsiFile psiFile = PsiUtilCore.getPsiFile(project, file);
|
||||
if (!jvmLanguage.matchesLanguage(psiFile.getLanguage())) {
|
||||
return null;
|
||||
}
|
||||
Document document = FileDocumentManager.getInstance().getDocument(file);
|
||||
if (document == null) return null;
|
||||
UFile uFile = UastContextKt.toUElement(psiFile, UFile.class);
|
||||
if (uFile == null) return null;
|
||||
|
||||
PsiDocumentManager.getInstance(project).commitDocument(document);
|
||||
List<PsiElement> physicalMethods = new ArrayList<>();
|
||||
uFile.accept(new AbstractUastVisitor() {
|
||||
@Override
|
||||
public boolean visitMethod(@NotNull UMethod node) {
|
||||
physicalMethods.add(node.getSourcePsi());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
return physicalMethods;
|
||||
});
|
||||
|
||||
PsiMethod[] asJavaMethods = methods
|
||||
.stream()
|
||||
.map(m -> ObjectUtils.tryCast(Objects.requireNonNull(UastContextKt.toUElement(m)).getJavaPsi(), PsiMethod.class))
|
||||
.filter(Objects::nonNull)
|
||||
.toArray(PsiMethod.ARRAY_FACTORY::create);
|
||||
FeatureUsageTracker.getInstance().triggerFeatureUsed("test.discovery.selected.changes");
|
||||
showDiscoveredTests(project, e.getDataContext(), "Selected Changes", asJavaMethods);
|
||||
}
|
||||
|
||||
static boolean isEnabledForProject(AnActionEvent e) {
|
||||
return (Registry.is(TestDiscoveryExtension.TEST_DISCOVERY_REGISTRY_KEY) || ApplicationManager.getApplication().isInternal()) && e.getProject() != null;
|
||||
}
|
||||
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
// Copyright 2000-2018 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.execution.testDiscovery.actions;
|
||||
|
||||
import com.intellij.codeInsight.actions.FormatChangedTextUtil;
|
||||
import com.intellij.featureStatistics.FeatureUsageTracker;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vcs.VcsDataKeys;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.uast.UastMetaLanguage;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.uast.UFile;
|
||||
import org.jetbrains.uast.UMethod;
|
||||
import org.jetbrains.uast.UastContextKt;
|
||||
import org.jetbrains.uast.visitor.AbstractUastVisitor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ShowDiscoveredTestsFromChangesAction extends AnAction {
|
||||
@Override
|
||||
public void update(AnActionEvent e) {
|
||||
e.getPresentation().setEnabledAndVisible(ShowDiscoveredTestsAction.isEnabledForProject(e) && e.getData(VcsDataKeys.CHANGES) != null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
Change[] changes = e.getRequiredData(VcsDataKeys.CHANGES);
|
||||
Project project = e.getProject();
|
||||
assert project != null;
|
||||
UastMetaLanguage jvmLanguage = Language.findInstance(UastMetaLanguage.class);
|
||||
|
||||
|
||||
List<PsiElement> methods = FormatChangedTextUtil.getInstance().getChangedElements(project, changes, file -> {
|
||||
PsiFile psiFile = PsiUtilCore.getPsiFile(project, file);
|
||||
if (!jvmLanguage.matchesLanguage(psiFile.getLanguage())) {
|
||||
return null;
|
||||
}
|
||||
Document document = FileDocumentManager.getInstance().getDocument(file);
|
||||
if (document == null) return null;
|
||||
UFile uFile = UastContextKt.toUElement(psiFile, UFile.class);
|
||||
if (uFile == null) return null;
|
||||
|
||||
|
||||
PsiDocumentManager.getInstance(project).commitDocument(document);
|
||||
List<PsiElement> physicalMethods = new ArrayList<>();
|
||||
uFile.accept(new AbstractUastVisitor() {
|
||||
@Override
|
||||
public boolean visitMethod(@NotNull UMethod node) {
|
||||
physicalMethods.add(node.getSourcePsi());
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
return physicalMethods;
|
||||
});
|
||||
|
||||
PsiMethod[] asJavaMethods = methods
|
||||
.stream()
|
||||
.map(m -> ObjectUtils.tryCast(Objects.requireNonNull(UastContextKt.toUElement(m)).getJavaPsi(), PsiMethod.class))
|
||||
.filter(Objects::nonNull)
|
||||
.toArray(PsiMethod.ARRAY_FACTORY::create);
|
||||
FeatureUsageTracker.getInstance().triggerFeatureUsed("test.discovery.selected.changes");
|
||||
ShowDiscoveredTestsAction.showDiscoveredTests(project, e.getDataContext(), "Selected Changes", asJavaMethods);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,9 @@ import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.internal.statistic.UsageTrigger;
|
||||
import com.intellij.json.psi.JsonProperty;
|
||||
import com.intellij.json.psi.JsonStringLiteral;
|
||||
import com.intellij.json.psi.JsonValue;
|
||||
import com.intellij.openapi.actionSystem.IdeActions;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -20,7 +22,9 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.TokenType;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
@@ -322,13 +326,14 @@ public class JsonSchemaCompletionContributor extends CompletionContributor {
|
||||
};
|
||||
}
|
||||
|
||||
private boolean handleInsideQuotesInsertion(InsertionContext context, Editor editor, boolean hasValue) {
|
||||
private boolean handleInsideQuotesInsertion(@NotNull InsertionContext context, @NotNull Editor editor, boolean hasValue) {
|
||||
if (myInsideStringLiteral) {
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
PsiElement element = context.getFile().findElementAt(offset);
|
||||
int tailOffset = context.getTailOffset();
|
||||
int guessEndOffset = tailOffset + 1;
|
||||
if (element != null) {
|
||||
if (element instanceof LeafPsiElement) {
|
||||
if (handleIncompleteString(editor, element)) return false;
|
||||
int endOffset = element.getTextRange().getEndOffset();
|
||||
if (endOffset > tailOffset) {
|
||||
context.getDocument().deleteString(tailOffset, endOffset - 1);
|
||||
@@ -342,6 +347,21 @@ public class JsonSchemaCompletionContributor extends CompletionContributor {
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean handleIncompleteString(@NotNull Editor editor, @NotNull PsiElement element) {
|
||||
if (((LeafPsiElement)element).getElementType() == TokenType.WHITE_SPACE) {
|
||||
PsiElement prevSibling = element.getPrevSibling();
|
||||
if (prevSibling instanceof JsonProperty) {
|
||||
JsonValue nameElement = ((JsonProperty)prevSibling).getNameElement();
|
||||
if (!nameElement.getText().endsWith("\"")) {
|
||||
editor.getCaretModel().moveToOffset(nameElement.getTextRange().getEndOffset());
|
||||
EditorModificationUtil.insertStringAtCaret(editor, "\"", false, true, 1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static JsonSchemaType detectType(List<Object> values) {
|
||||
JsonSchemaType type = null;
|
||||
|
||||
@@ -55,6 +55,10 @@ public class JsonBySchemaHeavyCompletionTest extends JsonSchemaHeavyAbstractTest
|
||||
baseInsertTest("insertPropertyName", "testNameWithDefaultStringValue");
|
||||
}
|
||||
|
||||
public void testIncompleteNameWithDefaultStringValue() throws Exception {
|
||||
baseInsertTest("insertPropertyName", "testIncompleteNameWithDefaultStringValue");
|
||||
}
|
||||
|
||||
public void testInsertNameWithDefaultIntegerValue() throws Exception {
|
||||
baseInsertTest("insertPropertyName", "testNameWithDefaultIntegerValue");
|
||||
}
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"withStringDefault<caret>
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"withStringDefaultValue": "<selection>stringDefault<caret></selection>"
|
||||
}
|
||||
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2016 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 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.psi.search;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -35,6 +21,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import java.util.HashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Objects;
|
||||
@@ -108,6 +95,12 @@ public class GlobalSearchScopesCore {
|
||||
return mySet.getName();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Icon getDisplayIcon() {
|
||||
return mySet.getIcon();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Project getProject() {
|
||||
|
||||
@@ -6,10 +6,14 @@ import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.problems.WolfTheProblemSolver;
|
||||
import com.intellij.psi.search.scope.packageSet.CustomScopesProvider;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
import com.intellij.psi.search.scope.packageSet.FilteredPackageSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
@@ -26,4 +30,12 @@ public final class ProblemsScope extends NamedScope {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static final class Provider implements CustomScopesProvider {
|
||||
@NotNull
|
||||
@Override
|
||||
public List<NamedScope> getCustomScopes() {
|
||||
return Collections.singletonList(INSTANCE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2014 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 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.psi.search;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -20,7 +6,9 @@ import com.intellij.openapi.module.UnloadedModuleDescription;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -82,6 +70,12 @@ public class DelegatingGlobalSearchScope extends GlobalSearchScope {
|
||||
return myBaseScope.getDisplayName();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Icon getDisplayIcon() {
|
||||
return myBaseScope.getDisplayIcon();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getName() + "[" + myBaseScope + "]";
|
||||
|
||||
@@ -1,23 +1,12 @@
|
||||
/*
|
||||
* Copyright 2000-2014 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 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.psi.search;
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiBundle;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.Icon;
|
||||
|
||||
public abstract class SearchScope {
|
||||
private static int hashCodeCounter;
|
||||
@@ -40,6 +29,11 @@ public abstract class SearchScope {
|
||||
return PsiBundle.message("search.scope.unknown");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Icon getDisplayIcon() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull public abstract SearchScope intersectWith(@NotNull SearchScope scope2);
|
||||
@NotNull public abstract SearchScope union(@NotNull SearchScope scope);
|
||||
|
||||
|
||||
+8
-5
@@ -56,6 +56,9 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
private JBRadioButton myUseModuleGroupsRadioButton;
|
||||
@NotNull
|
||||
private final ExternalSystemSettingsControlCustomizer myCustomizer;
|
||||
@SuppressWarnings("FieldCanBeLocal") // the field needed for the option rendering per linked project, see ExternalSystemUiUtil.showUi
|
||||
@Nullable
|
||||
private JPanel myOrganizeModuleNamesPanel;
|
||||
|
||||
protected AbstractExternalProjectSettingsControl(@NotNull S initialSettings) {
|
||||
this(null, initialSettings, null);
|
||||
@@ -87,16 +90,16 @@ public abstract class AbstractExternalProjectSettingsControl<S extends ExternalP
|
||||
}
|
||||
|
||||
if (!myCustomizer.isModulesGroupingOptionPanelHidden()) {
|
||||
JPanel organizeModuleNamesPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||
organizeModuleNamesPanel.add(new JBLabel(ExternalSystemBundle.message("settings.label.group.modules")));
|
||||
myOrganizeModuleNamesPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||
myOrganizeModuleNamesPanel.add(new JBLabel(ExternalSystemBundle.message("settings.label.group.modules")));
|
||||
myUseModuleGroupsRadioButton = new JBRadioButton(ExternalSystemBundle.message("settings.radio.button.use.module.groups"), true);
|
||||
organizeModuleNamesPanel.add(myUseModuleGroupsRadioButton);
|
||||
myOrganizeModuleNamesPanel.add(myUseModuleGroupsRadioButton);
|
||||
myUseQualifiedModuleNamesRadioButton = new JBRadioButton(ExternalSystemBundle.message("settings.radio.button.use.qualified.name"));
|
||||
organizeModuleNamesPanel.add(myUseQualifiedModuleNamesRadioButton);
|
||||
myOrganizeModuleNamesPanel.add(myUseQualifiedModuleNamesRadioButton);
|
||||
ButtonGroup group = new ButtonGroup();
|
||||
group.add(myUseModuleGroupsRadioButton);
|
||||
group.add(myUseQualifiedModuleNamesRadioButton);
|
||||
canvas.add(organizeModuleNamesPanel, ExternalSystemUiUtil.getFillLineConstraints(indentLevel));
|
||||
canvas.add(myOrganizeModuleNamesPanel, ExternalSystemUiUtil.getFillLineConstraints(indentLevel));
|
||||
}
|
||||
fillExtraControls(canvas, indentLevel);
|
||||
}
|
||||
|
||||
+1
@@ -328,6 +328,7 @@ public class DocumentationComponent extends JPanel implements Disposable, DataPr
|
||||
// Note: Making the caret visible is merely for convenience
|
||||
myEditorPane.getCaret().setVisible(true);
|
||||
}
|
||||
myEditorPane.getCaret().setSelectionVisible(true);
|
||||
myEditorPane.setBackground(EditorColorsUtil.getGlobalOrDefaultColor(COLOR_KEY));
|
||||
HTMLEditorKit editorKit = new UIUtil.JBHtmlEditorKit(true) {
|
||||
@Override
|
||||
|
||||
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2016 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 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.ide.util.scopeChooser;
|
||||
|
||||
import com.intellij.ide.DataManager;
|
||||
@@ -289,6 +275,8 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo
|
||||
private static class ScopeDescriptionWithDelimiterRenderer extends ListCellRendererWrapper<ScopeDescriptor> {
|
||||
@Override
|
||||
public void customize(JList list, ScopeDescriptor value, int index, boolean selected, boolean hasFocus) {
|
||||
SearchScope scope = value.getScope();
|
||||
setIcon(scope == null ? null : scope.getDisplayIcon());
|
||||
setText(value.getDisplay());
|
||||
if (value instanceof ScopeSeparator) {
|
||||
setSeparator();
|
||||
|
||||
@@ -31,7 +31,6 @@ public class DefaultScopesProvider extends CustomScopesProviderEx {
|
||||
public DefaultScopesProvider(@NotNull Project project) {
|
||||
myProject = project;
|
||||
myScopes = Arrays.asList(ProjectFilesScope.INSTANCE,
|
||||
ProblemsScope.INSTANCE,
|
||||
getAllScope(),
|
||||
NonProjectFilesScope.INSTANCE,
|
||||
new ScratchesNamedScope());
|
||||
|
||||
@@ -486,6 +486,7 @@
|
||||
|
||||
<patternDialectProvider implementation="com.intellij.packageDependencies.ui.ProjectPatternProvider" id="file"/>
|
||||
<customScopesProvider implementation="com.intellij.packageDependencies.DefaultScopesProvider"/>
|
||||
<customScopesProvider implementation="com.intellij.psi.search.scope.ProblemsScope$Provider" order="last"/>
|
||||
<customScopesProvider implementation="com.intellij.packageDependencies.ChangeListsScopesProvider" order="last"/>
|
||||
<refactoring.elementListenerProvider implementation="com.intellij.packageDependencies.ui.RefactoringScopeElementListenerProvider"/>
|
||||
|
||||
|
||||
@@ -403,8 +403,6 @@
|
||||
|
||||
<action class="com.intellij.execution.testDiscovery.actions.ShowDiscoveredTestsAction" id="ShowDiscoveredTests" text="Show Discovered Tests">
|
||||
<add-to-group group-id="RunMenu" anchor="before" relative-to-action="DebugMainMenu"/>
|
||||
</action>
|
||||
<action class="com.intellij.execution.testDiscovery.actions.ShowDiscoveredTestsFromChangesAction" id="ShowDiscoveredTestsFromChangeList" text="Show Discovered Tests">
|
||||
<add-to-group group-id="ChangesViewPopupMenu" anchor="last"/>
|
||||
</action>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user