From bc85a8bf6b2eb22ff4b5e38940c959ca07cced4e Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 16 Oct 2012 14:51:00 +0400 Subject: [PATCH] Move common implementation to separate class --- .../presentation/JetClassPresenter.java | 35 +---------- ...etDefaultNamedDeclarationPresentation.java | 59 +++++++++++++++++++ .../presentation/JetFunctionPresenter.java | 16 +---- 3 files changed, 61 insertions(+), 49 deletions(-) create mode 100644 idea/src/org/jetbrains/jet/plugin/presentation/JetDefaultNamedDeclarationPresentation.java diff --git a/idea/src/org/jetbrains/jet/plugin/presentation/JetClassPresenter.java b/idea/src/org/jetbrains/jet/plugin/presentation/JetClassPresenter.java index 4a5eeb95ea3..843ce10d36d 100644 --- a/idea/src/org/jetbrains/jet/plugin/presentation/JetClassPresenter.java +++ b/idea/src/org/jetbrains/jet/plugin/presentation/JetClassPresenter.java @@ -16,49 +16,16 @@ package org.jetbrains.jet.plugin.presentation; -import com.intellij.navigation.ColoredItemPresentation; import com.intellij.navigation.ItemPresentation; import com.intellij.navigation.ItemPresentationProvider; -import com.intellij.openapi.editor.colors.TextAttributesKey; import org.jetbrains.jet.lang.psi.JetClass; -import org.jetbrains.jet.lang.psi.JetPsiUtil; -import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.plugin.JetIconProvider; - -import javax.swing.*; /** * @author Nikolay Krasko */ public class JetClassPresenter implements ItemPresentationProvider { - @Override public ItemPresentation getPresentation(final JetClass item) { - return new ColoredItemPresentation() { - @Override - public TextAttributesKey getTextAttributesKey() { - return null; - } - - @Override - public String getPresentableText() { - return item.getName(); - } - - @Override - public String getLocationString() { - FqName name = JetPsiUtil.getFQName(item); - if (name != null) { - return "(" + name.parent().toString() + ")"; - } - - return null; - } - - @Override - public Icon getIcon(boolean unused) { - return JetIconProvider.INSTANCE.getIcon(item, 0); - } - }; + return new JetDefaultNamedDeclarationPresentation(item); } } diff --git a/idea/src/org/jetbrains/jet/plugin/presentation/JetDefaultNamedDeclarationPresentation.java b/idea/src/org/jetbrains/jet/plugin/presentation/JetDefaultNamedDeclarationPresentation.java new file mode 100644 index 00000000000..1afa3784ad7 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/presentation/JetDefaultNamedDeclarationPresentation.java @@ -0,0 +1,59 @@ +/* + * Copyright 2010-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. + * 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. + */ + +package org.jetbrains.jet.plugin.presentation; + +import com.intellij.navigation.ColoredItemPresentation; +import com.intellij.openapi.editor.colors.TextAttributesKey; +import org.jetbrains.jet.lang.psi.JetNamedDeclaration; +import org.jetbrains.jet.lang.psi.JetPsiUtil; +import org.jetbrains.jet.lang.resolve.name.FqName; +import org.jetbrains.jet.plugin.JetIconProvider; + +import javax.swing.*; + +public class JetDefaultNamedDeclarationPresentation implements ColoredItemPresentation { + private final JetNamedDeclaration declaration; + + JetDefaultNamedDeclarationPresentation(JetNamedDeclaration declaration) { + this.declaration = declaration; + } + + @Override + public TextAttributesKey getTextAttributesKey() { + return null; + } + + @Override + public String getPresentableText() { + return declaration.getName(); + } + + @Override + public String getLocationString() { + FqName name = JetPsiUtil.getFQName(declaration); + if (name != null) { + return "(" + name.parent().toString() + ")"; + } + + return null; + } + + @Override + public Icon getIcon(boolean unused) { + return JetIconProvider.INSTANCE.getIcon(declaration, 0); + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/presentation/JetFunctionPresenter.java b/idea/src/org/jetbrains/jet/plugin/presentation/JetFunctionPresenter.java index a8a64eb57df..168657ee23e 100644 --- a/idea/src/org/jetbrains/jet/plugin/presentation/JetFunctionPresenter.java +++ b/idea/src/org/jetbrains/jet/plugin/presentation/JetFunctionPresenter.java @@ -18,20 +18,16 @@ package org.jetbrains.jet.plugin.presentation; import com.google.common.base.Function; import com.google.common.collect.Collections2; -import com.intellij.navigation.ColoredItemPresentation; import com.intellij.navigation.ItemPresentation; import com.intellij.navigation.ItemPresentationProvider; -import com.intellij.openapi.editor.colors.TextAttributesKey; import org.apache.commons.lang.StringUtils; import org.jetbrains.jet.lang.psi.JetNamedFunction; import org.jetbrains.jet.lang.psi.JetParameter; import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.psi.JetTypeReference; import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.plugin.JetIconProvider; import org.jetbrains.jet.util.QualifiedNamesUtil; -import javax.swing.*; import java.util.Collection; /** @@ -40,12 +36,7 @@ import java.util.Collection; public class JetFunctionPresenter implements ItemPresentationProvider { @Override public ItemPresentation getPresentation(final JetNamedFunction function) { - return new ColoredItemPresentation() { - @Override - public TextAttributesKey getTextAttributesKey() { - return null; - } - + return new JetDefaultNamedDeclarationPresentation(function) { @Override public String getPresentableText() { StringBuilder presentation = new StringBuilder(function.getName()); @@ -82,11 +73,6 @@ public class JetFunctionPresenter implements ItemPresentationProvider