Files
openide/java/java-impl/src/com/intellij/codeInsight/completion/ImportStaticLookupActionProvider.java
T
Anton Tarasov b0737a9f3a [followup] IDEA-162563 Action menus do not have icons under HiDPI linux
- New interface: JBUI.JBIcon. EmptyIcon now implements it.
- New method: JBUI.scale(JBIcon)
2016-10-20 16:12:56 +03:00

35 lines
1.2 KiB
Java

package com.intellij.codeInsight.completion;
import com.intellij.codeInsight.lookup.Lookup;
import com.intellij.codeInsight.lookup.LookupActionProvider;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementAction;
import com.intellij.util.Consumer;
import com.intellij.util.PlatformIcons;
import com.intellij.util.ui.EmptyIcon;
import javax.swing.*;
/**
* @author peter
*/
public class ImportStaticLookupActionProvider implements LookupActionProvider {
@Override
public void fillActions(final LookupElement element, Lookup lookup, Consumer<LookupElementAction> consumer) {
final StaticallyImportable item = element.as(StaticallyImportable.CLASS_CONDITION_KEY);
if (item == null || !item.canBeImported()) {
return;
}
final Icon checkIcon = PlatformIcons.CHECK_ICON;
final Icon icon = item.willBeImported() ? checkIcon : EmptyIcon.create(checkIcon);
consumer.consume(new LookupElementAction(icon, "Import statically") {
@Override
public Result performLookupAction() {
item.setShouldBeImported(!item.willBeImported());
return new Result.ChooseItem(element);
}
});
}
}