More special icons for kotlin entities
|
After Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 473 B After Width: | Height: | Size: 473 B |
|
After Width: | Height: | Size: 748 B |
|
After Width: | Height: | Size: 727 B |
|
After Width: | Height: | Size: 828 B |
|
After Width: | Height: | Size: 688 B |
|
After Width: | Height: | Size: 707 B |
|
After Width: | Height: | Size: 617 B |
|
After Width: | Height: | Size: 726 B |
@@ -17,7 +17,6 @@
|
|||||||
package org.jetbrains.jet.plugin;
|
package org.jetbrains.jet.plugin;
|
||||||
|
|
||||||
import com.intellij.ide.IconProvider;
|
import com.intellij.ide.IconProvider;
|
||||||
import com.intellij.openapi.util.IconLoader;
|
|
||||||
import com.intellij.openapi.util.Iconable;
|
import com.intellij.openapi.util.Iconable;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.psi.PsiElement;
|
import com.intellij.psi.PsiElement;
|
||||||
@@ -34,8 +33,6 @@ import java.util.List;
|
|||||||
* @author yole
|
* @author yole
|
||||||
*/
|
*/
|
||||||
public class JetIconProvider extends IconProvider {
|
public class JetIconProvider extends IconProvider {
|
||||||
public static final Icon ICON_FOR_OBJECT = PlatformIcons.ANONYMOUS_CLASS_ICON;
|
|
||||||
public static final Icon KOTLIN_ICON = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/kotlin16x16.png");
|
|
||||||
|
|
||||||
public static JetIconProvider INSTANCE = new JetIconProvider();
|
public static JetIconProvider INSTANCE = new JetIconProvider();
|
||||||
|
|
||||||
@@ -60,41 +57,47 @@ public class JetIconProvider extends IconProvider {
|
|||||||
if (mostImportantClass != null) {
|
if (mostImportantClass != null) {
|
||||||
return getIcon(mostImportantClass, flags);
|
return getIcon(mostImportantClass, flags);
|
||||||
}
|
}
|
||||||
return KOTLIN_ICON;
|
return JetIcons.FILE;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetNamespaceHeader) {
|
if (psiElement instanceof JetNamespaceHeader) {
|
||||||
return (flags & Iconable.ICON_FLAG_OPEN) != 0 ? PlatformIcons.PACKAGE_OPEN_ICON : PlatformIcons.PACKAGE_ICON;
|
return (flags & Iconable.ICON_FLAG_OPEN) != 0 ? PlatformIcons.PACKAGE_OPEN_ICON : PlatformIcons.PACKAGE_ICON;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetNamedFunction) {
|
if (psiElement instanceof JetNamedFunction) {
|
||||||
return PsiTreeUtil.getParentOfType(psiElement, JetNamedDeclaration.class) instanceof JetClass
|
return PsiTreeUtil.getParentOfType(psiElement, JetNamedDeclaration.class) instanceof JetClass
|
||||||
? PlatformIcons.METHOD_ICON
|
? JetIcons.LAMBDA
|
||||||
: PlatformIcons.FUNCTION_ICON;
|
: JetIcons.FUNCTION;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetClass) {
|
if (psiElement instanceof JetClass) {
|
||||||
JetClass jetClass = (JetClass) psiElement;
|
JetClass jetClass = (JetClass) psiElement;
|
||||||
|
if (jetClass.isTrait()) {
|
||||||
|
return JetIcons.TRAIT;
|
||||||
|
}
|
||||||
|
|
||||||
Icon icon = jetClass.hasModifier(JetTokens.ENUM_KEYWORD) ? PlatformIcons.ENUM_ICON : PlatformIcons.CLASS_ICON;
|
Icon icon = jetClass.hasModifier(JetTokens.ENUM_KEYWORD) ? PlatformIcons.ENUM_ICON : PlatformIcons.CLASS_ICON;
|
||||||
if (jetClass instanceof JetEnumEntry) {
|
if (jetClass instanceof JetEnumEntry) {
|
||||||
JetEnumEntry enumEntry = (JetEnumEntry) jetClass;
|
JetEnumEntry enumEntry = (JetEnumEntry) jetClass;
|
||||||
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
if (enumEntry.getPrimaryConstructorParameterList() == null) {
|
||||||
icon = ICON_FOR_OBJECT;
|
icon = PlatformIcons.ENUM_ICON;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetObjectDeclaration || psiElement instanceof JetClassObject) {
|
if (psiElement instanceof JetObjectDeclaration || psiElement instanceof JetClassObject) {
|
||||||
return ICON_FOR_OBJECT;
|
return JetIcons.OBJECT;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetParameter) {
|
if (psiElement instanceof JetParameter) {
|
||||||
if (((JetParameter) psiElement).getValOrVarNode() != null) {
|
JetParameter parameter = (JetParameter)psiElement;
|
||||||
|
if (parameter.getValOrVarNode() != null) {
|
||||||
JetParameterList parameterList = PsiTreeUtil.getParentOfType(psiElement, JetParameterList.class);
|
JetParameterList parameterList = PsiTreeUtil.getParentOfType(psiElement, JetParameterList.class);
|
||||||
if (parameterList != null && parameterList.getParent() instanceof JetClass) {
|
if (parameterList != null && parameterList.getParent() instanceof JetClass) {
|
||||||
return PlatformIcons.PROPERTY_ICON;
|
return parameter.isVarArg() ? JetIcons.VAR : JetIcons.VAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return PlatformIcons.PARAMETER_ICON;
|
return JetIcons.PARAMETER;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetProperty) {
|
if (psiElement instanceof JetProperty) {
|
||||||
return PlatformIcons.PROPERTY_ICON;
|
JetProperty property = (JetProperty)psiElement;
|
||||||
|
return property.isVar() ? JetIcons.VAR : JetIcons.VAL;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
import com.intellij.openapi.util.IconLoader;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Nikolay Krasko
|
||||||
|
*/
|
||||||
|
public interface JetIcons {
|
||||||
|
Icon SMALL_LOGO = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/kotlin16x16.png");
|
||||||
|
|
||||||
|
Icon FILE = SMALL_LOGO; // TODO: Add file icon
|
||||||
|
Icon OBJECT = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/object.png");
|
||||||
|
Icon TRAIT = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/trait.png");
|
||||||
|
Icon FUNCTION = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/function.png");
|
||||||
|
Icon LAMBDA = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/lambda.png");
|
||||||
|
Icon VAR = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/variable.png");
|
||||||
|
Icon VAL = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/value.png");
|
||||||
|
Icon PARAMETER = IconLoader.getIcon("/org/jetbrains/jet/plugin/icons/parameter.png");
|
||||||
|
}
|
||||||
@@ -24,7 +24,7 @@ import com.intellij.openapi.options.colors.ColorDescriptor;
|
|||||||
import com.intellij.openapi.options.colors.ColorSettingsPage;
|
import com.intellij.openapi.options.colors.ColorSettingsPage;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.plugin.JetBundle;
|
import org.jetbrains.jet.plugin.JetBundle;
|
||||||
import org.jetbrains.jet.plugin.JetIconProvider;
|
import org.jetbrains.jet.plugin.JetIcons;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@@ -35,7 +35,7 @@ import java.util.Map;
|
|||||||
public class JetColorSettingsPage implements ColorSettingsPage {
|
public class JetColorSettingsPage implements ColorSettingsPage {
|
||||||
@Override
|
@Override
|
||||||
public Icon getIcon() {
|
public Icon getIcon() {
|
||||||
return JetIconProvider.KOTLIN_ICON;
|
return JetIcons.SMALL_LOGO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||