mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-21 12:14:37 +07:00
- New interface: JBUI.JBIcon. EmptyIcon now implements it. - New method: JBUI.scale(JBIcon)
35 lines
1.2 KiB
Java
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);
|
|
}
|
|
});
|
|
}
|
|
}
|