Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,27 +1,20 @@
package com.jetbrains.python.console.pydev;

import consulo.application.AllIcons;
import consulo.platform.base.icon.PlatformIconGroup;
import consulo.ui.image.Image;

import jakarta.annotation.Nullable;

public class PyCodeCompletionImages {

/**
* Returns an image for the given type
* @param type
* @return
*/
@Nullable
public static Image getImageForType(int type){
switch (type) {
case IToken.TYPE_CLASS:
return AllIcons.Nodes.Class;
case IToken.TYPE_FUNCTION:
return AllIcons.Nodes.Method;
default:
return null;
}
public static Image getImageForType(int type) {
return switch (type) {
case IToken.TYPE_CLASS -> PlatformIconGroup.nodesClass();
case IToken.TYPE_FUNCTION -> PlatformIconGroup.nodesMethod();
default -> null;
};
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public class CompileQrcAction extends AnAction {
public void actionPerformed(AnActionEvent e) {
Project project = e.getData(Project.KEY);
VirtualFile[] vFiles = e.getRequiredData(VirtualFile.KEY_OF_ARRAY);
Module module = e.getData(Module.KEY);
Module module = e.getRequiredData(Module.KEY);
String path = QtFileType.findQtTool(module, "pyrcc4");
if (path == null) {
path = QtFileType.findQtTool(module, "pyside-rcc");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,69 +13,70 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.jetbrains.python.impl;

import com.jetbrains.python.PyNames;
import com.jetbrains.python.psi.Property;
import com.jetbrains.python.psi.PyClass;
import com.jetbrains.python.psi.PyFunction;
import consulo.annotation.access.RequiredReadAction;
import consulo.annotation.component.ExtensionImpl;
import consulo.application.AllIcons;
import consulo.language.icon.IconDescriptor;
import consulo.language.icon.IconDescriptorUpdater;
import consulo.language.psi.PsiDirectory;
import consulo.language.psi.PsiElement;
import consulo.module.content.ProjectRootManager;
import consulo.platform.base.icon.PlatformIconGroup;
import consulo.python.impl.icon.PythonImplIconGroup;
import consulo.ui.image.Image;
import consulo.util.lang.Comparing;
import consulo.virtualFileSystem.VirtualFile;

import jakarta.annotation.Nonnull;

import java.util.Objects;

/**
* @author yole
*/
@ExtensionImpl
public class PyIconDescriptorUpdater implements IconDescriptorUpdater {
@Override
public void updateIcon(@Nonnull IconDescriptor iconDescriptor, @Nonnull PsiElement element, int i) {
if (element instanceof PsiDirectory) {
final PsiDirectory directory = (PsiDirectory)element;
if (directory.findFile(PyNames.INIT_DOT_PY) != null) {
final VirtualFile vFile = directory.getVirtualFile();
final VirtualFile root = ProjectRootManager.getInstance(directory.getProject()).getFileIndex().getSourceRootForFile(vFile);
if (!Comparing.equal(root, vFile)) {
iconDescriptor.setMainIcon(AllIcons.Nodes.Package);
}
}
}
else if (element instanceof PyClass) {
iconDescriptor.setMainIcon(AllIcons.Nodes.Class);
}
else if (element instanceof PyFunction) {
Image icon = null;
final Property property = ((PyFunction)element).getProperty();
if (property != null) {
if (property.getGetter().valueOrNull() == this) {
icon = PythonIcons.Python.PropertyGetter;
}
else if (property.getSetter().valueOrNull() == this) {
icon = PythonIcons.Python.PropertySetter;
@Override
@RequiredReadAction
public void updateIcon(@Nonnull IconDescriptor iconDescriptor, @Nonnull PsiElement element, int i) {
if (element instanceof PsiDirectory directory) {
if (directory.findFile(PyNames.INIT_DOT_PY) != null) {
VirtualFile vFile = directory.getVirtualFile();
VirtualFile root = ProjectRootManager.getInstance(directory.getProject()).getFileIndex().getSourceRootForFile(vFile);
if (!Objects.equals(root, vFile)) {
iconDescriptor.setMainIcon(PlatformIconGroup.nodesPackage());
}
}
}
else if (property.getDeleter().valueOrNull() == this) {
icon = PythonIcons.Python.PropertyDeleter;
else if (element instanceof PyClass) {
iconDescriptor.setMainIcon(PlatformIconGroup.nodesClass());
}
else {
icon = AllIcons.Nodes.Property;
else if (element instanceof PyFunction function) {
Image icon = null;
Property property = function.getProperty();
if (property != null) {
if (property.getGetter().valueOrNull() == this) {
icon = PythonImplIconGroup.pythonPropertygetter();
}
else if (property.getSetter().valueOrNull() == this) {
icon = PythonImplIconGroup.pythonPropertysetter();
}
else if (property.getDeleter().valueOrNull() == this) {
icon = PythonImplIconGroup.pythonPropertydeleter();
}
else {
icon = PlatformIconGroup.nodesProperty();
}
}
if (icon != null) {
iconDescriptor.setMainIcon(icon);
}
else {
iconDescriptor.setMainIcon(PlatformIconGroup.nodesMethod());
}
}
}
if (icon != null) {
iconDescriptor.setMainIcon(icon);
}
else {
iconDescriptor.setMainIcon(AllIcons.Nodes.Method);
}
}
}
}
Loading
Loading