本文整理汇总了Java中com.intellij.util.PairFunction类的典型用法代码示例。如果您正苦于以下问题:Java PairFunction类的具体用法?Java PairFunction怎么用?Java PairFunction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PairFunction类属于com.intellij.util包,在下文中一共展示了PairFunction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: paintEmptyText
import com.intellij.util.PairFunction; //导入依赖的package包/类
public void paintEmptyText(@NotNull final JComponent splitters, @NotNull Graphics g) {
UISettings.setupAntialiasing(g);
g.setColor(new JBColor(Gray._80, Gray._160));
g.setFont(JBUI.Fonts.label(16f));
UIUtil.TextPainter painter = new UIUtil.TextPainter().withLineSpacing(1.8f);
advertiseActions(splitters, painter);
painter.draw(g, new PairFunction<Integer, Integer, Couple<Integer>>() {
@Override
public Couple<Integer> fun(Integer width, Integer height) {
Dimension s = splitters.getSize();
int w = (s.width - width) / 2;
int h = s.height * 3 / 8; // fix vertical position @ golden ratio
return Couple.of(w, h);
}
});
}
示例2: paint
import com.intellij.util.PairFunction; //导入依赖的package包/类
@Override
public void paint(Graphics g) {
boolean isDarkBackground = UIUtil.isUnderDarcula();
UISettings.setupAntialiasing(g);
g.setColor(new JBColor(isDarkBackground ? Gray._230 : Gray._80, Gray._160));
g.setFont(JBUI.Fonts.label(isDarkBackground ? 24f : 20f));
UIUtil.TextPainter painter = new UIUtil.TextPainter().withLineSpacing(1.5f);
painter.withShadow(true, new JBColor(Gray._200.withAlpha(100), Gray._0.withAlpha(255)));
painter.appendLine("No files are open");//.underlined(new JBColor(Gray._150, Gray._180));
painter.draw(g, new PairFunction<Integer, Integer, Couple<Integer>>() {
@Override
public Couple<Integer> fun(Integer width, Integer height) {
Dimension s = EmptyStatePanel.this.getSize();
return Couple.of((s.width - width) / 2, (s.height - height) / 2);
}
});
}
示例3: generate
import com.intellij.util.PairFunction; //导入依赖的package包/类
@NotNull
public static <E> JBIterable<E> generate(@Nullable final E first1, @Nullable final E first2, @NotNull final PairFunction<? super E, ? super E, ? extends E> generator) {
if (first1 == null) return empty();
return new JBIterable<E>() {
@Override
public Iterator<E> iterator() {
return new JBIterator<E>() {
E cur1 = first1;
E cur2 = first2;
@Override
public E nextImpl() {
E result = cur1;
cur1 = cur2;
cur2 = generator.fun(result, cur2);
if (result == null) return stop();
return result;
}
};
}
};
}
示例4: GutteredLanguageConsole
import com.intellij.util.PairFunction; //导入依赖的package包/类
public GutteredLanguageConsole(@NotNull String title,
@NotNull Project project,
@NotNull Language language,
@Nullable GutterContentProvider gutterContentProvider,
@Nullable final PairFunction<VirtualFile, Project, PsiFile> psiFileFactory) {
super(new Helper(project, new LightVirtualFile(title, language, "")) {
@NotNull
@Override
public PsiFile getFile() {
return psiFileFactory == null ? super.getFile() : psiFileFactory.fun(virtualFile, project);
}
});
this.gutterContentProvider = gutterContentProvider == null ? new BasicGutterContentProvider() : gutterContentProvider;
}
示例5: findScopesWithItemRef
import com.intellij.util.PairFunction; //导入依赖的package包/类
private static Map<String, XmlTag> findScopesWithItemRef(@Nullable PsiFile file) {
if (!(file instanceof XmlFile)) return Collections.emptyMap();
final Map<String, XmlTag> result = new THashMap<String, XmlTag>();
file.accept(new XmlRecursiveElementVisitor() {
@Override
public void visitXmlTag(final XmlTag tag) {
super.visitXmlTag(tag);
XmlAttribute refAttr = tag.getAttribute(ITEM_REF);
if (refAttr != null && tag.getAttribute(ITEM_SCOPE) != null) {
getReferencesForAttributeValue(refAttr.getValueElement(), new PairFunction<String, Integer, PsiReference>() {
@Nullable
@Override
public PsiReference fun(String t, Integer v) {
result.put(t, tag);
return null;
}
});
}
}
});
return result;
}
示例6: getReferencesForAttributeValue
import com.intellij.util.PairFunction; //导入依赖的package包/类
public static PsiReference[] getReferencesForAttributeValue(@Nullable XmlAttributeValue element,
PairFunction<String, Integer, PsiReference> refFun) {
if (element == null) {
return PsiReference.EMPTY_ARRAY;
}
String text = element.getText();
String urls = StringUtil.unquoteString(text);
StringTokenizer tokenizer = new StringTokenizer(urls);
List<PsiReference> result = new ArrayList<PsiReference>();
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
int index = text.indexOf(token);
PsiReference ref = refFun.fun(token, index);
if (ref != null) {
result.add(ref);
}
}
return result.toArray(new PsiReference[result.size()]);
}
示例7: getQualifierCastType
import com.intellij.util.PairFunction; //导入依赖的package包/类
@Nullable
private static PsiType getQualifierCastType(PsiJavaReference javaReference, CompletionParameters parameters) {
if (javaReference instanceof PsiReferenceExpression) {
final PsiReferenceExpression refExpr = (PsiReferenceExpression)javaReference;
final PsiExpression qualifier = refExpr.getQualifierExpression();
if (qualifier != null) {
final Project project = qualifier.getProject();
PsiType type = null;
final PairFunction<PsiExpression, CompletionParameters, PsiType> evaluator = refExpr.getContainingFile().getCopyableUserData(DYNAMIC_TYPE_EVALUATOR);
if (evaluator != null) {
type = evaluator.fun(qualifier, parameters);
}
if (type == null) {
type = GuessManager.getInstance(project).getControlFlowExpressionType(qualifier);
}
return type;
}
}
return null;
}
示例8: getReferencesForAttributeValue
import com.intellij.util.PairFunction; //导入依赖的package包/类
public static PsiReference[] getReferencesForAttributeValue(@Nullable XmlAttributeValue element,
PairFunction<String, Integer, PsiReference> refFun) {
if (element == null) {
return PsiReference.EMPTY_ARRAY;
}
String text = element.getText();
String urls = StringUtil.stripQuotesAroundValue(text);
StringTokenizer tokenizer = new StringTokenizer(urls);
List<PsiReference> result = new ArrayList<PsiReference>();
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
int index = text.indexOf(token);
PsiReference ref = refFun.fun(token, index);
if (ref != null) {
result.add(ref);
}
}
return result.toArray(new PsiReference[result.size()]);
}
示例9: calcBinary
import com.intellij.util.PairFunction; //导入依赖的package包/类
@Nullable
public static Object calcBinary(IElementType elementType, Object p1, Object p2)
{
Couple<Class> key = Couple.<Class>of(p1.getClass(), p2.getClass());
Map<IElementType, PairFunction<Object, Object, Object>> map = ourOperators.get(key);
if(map == null)
{
return null;
}
PairFunction<Object, Object, Object> function = map.get(elementType);
if(function == null)
{
return null;
}
return function.fun(p1, p2);
}
示例10: processParameterList
import com.intellij.util.PairFunction; //导入依赖的package包/类
private static void processParameterList(final DotNetParameterListOwner declaration, StringBuilder builder, char p1, char p2)
{
builder.append(p1);
StubBlockUtil.join(builder, declaration.getParameters(), new PairFunction<StringBuilder, DotNetParameter, Void>()
{
@Nullable
@Override
@RequiredReadAction
public Void fun(StringBuilder t, DotNetParameter v)
{
appendAttributeList(t, v);
processModifierList(t, v);
DotNetTypeRef typeRef = v.toTypeRef(false);
appendTypeRef(declaration, t, typeRef);
if(typeRef != CSharpStaticTypeRef.__ARGLIST_TYPE)
{
t.append(" ");
appendValidName(t, v.getName());
appendInitializer(t, v);
}
return null;
}
}, ", ");
builder.append(p2);
}
示例11: showCheckboxMessageDialog
import com.intellij.util.PairFunction; //导入依赖的package包/类
public static int showCheckboxMessageDialog(String message,
String title,
@Nonnull String[] options,
String checkboxText,
final boolean checked,
final int defaultOptionIndex,
final int focusedOptionIndex,
Icon icon,
@Nullable final PairFunction<Integer, JCheckBox, Integer> exitFunc) {
if (isApplicationInUnitTestOrHeadless()) {
return ourTestImplementation.show(message);
}
else {
TwoStepConfirmationDialog dialog =
new TwoStepConfirmationDialog(message, title, options, checkboxText, checked, defaultOptionIndex, focusedOptionIndex, icon, exitFunc);
dialog.show();
return dialog.getExitCode();
}
}
示例12: jumpTo
import com.intellij.util.PairFunction; //导入依赖的package包/类
private <T> void jumpTo(@Nonnull final T commitId,
@Nonnull final PairFunction<GraphTableModel, T, Integer> rowGetter,
@Nonnull final SettableFuture<Boolean> future) {
if (future.isCancelled()) return;
GraphTableModel model = getTable().getModel();
int row = rowGetter.fun(model, commitId);
if (row >= 0) {
myMainFrame.getGraphTable().jumpToRow(row);
future.set(true);
}
else if (model.canRequestMore()) {
model.requestToLoadMore(() -> jumpTo(commitId, rowGetter, future));
}
else if (!myVisiblePack.isFull()) {
invokeOnChange(() -> jumpTo(commitId, rowGetter, future));
}
else {
commitNotFound(commitId.toString());
future.set(false);
}
}
示例13: getReferencesForAttributeValue
import com.intellij.util.PairFunction; //导入依赖的package包/类
public static PsiReference[] getReferencesForAttributeValue(@Nullable XmlAttributeValue element, PairFunction<String, Integer, PsiReference> refFun)
{
if(element == null)
{
return PsiReference.EMPTY_ARRAY;
}
String text = element.getText();
String urls = StringUtil.unquoteString(text);
StringTokenizer tokenizer = new StringTokenizer(urls);
List<PsiReference> result = new ArrayList<>();
while(tokenizer.hasMoreTokens())
{
String token = tokenizer.nextToken();
int index = text.indexOf(token);
PsiReference ref = refFun.fun(token, index);
if(ref != null)
{
result.add(ref);
}
}
return result.toArray(new PsiReference[result.size()]);
}
示例14: getQualifierCastType
import com.intellij.util.PairFunction; //导入依赖的package包/类
@Nullable
private static PsiType getQualifierCastType(PsiJavaReference javaReference, CompletionParameters parameters)
{
if(javaReference instanceof PsiReferenceExpression)
{
final PsiReferenceExpression refExpr = (PsiReferenceExpression) javaReference;
final PsiExpression qualifier = refExpr.getQualifierExpression();
if(qualifier != null)
{
final Project project = qualifier.getProject();
PsiType type = null;
final PairFunction<PsiExpression, CompletionParameters, PsiType> evaluator = refExpr.getContainingFile().getCopyableUserData(DYNAMIC_TYPE_EVALUATOR);
if(evaluator != null)
{
type = evaluator.fun(qualifier, parameters);
}
if(type == null)
{
type = GuessManager.getInstance(project).getControlFlowExpressionType(qualifier);
}
return type;
}
}
return null;
}
示例15: setDeclaredAttributeValue
import com.intellij.util.PairFunction; //导入依赖的package包/类
@Nullable
public static PsiAnnotationMemberValue setDeclaredAttributeValue(@NotNull PsiAnnotation psiAnnotation,
@Nullable String attributeName,
@Nullable PsiAnnotationMemberValue value,
@NotNull PairFunction<Project, String, PsiAnnotation> annotationCreator) {
PsiAnnotationMemberValue existing = psiAnnotation.findDeclaredAttributeValue(attributeName);
if (value == null) {
if (existing == null) {
return null;
}
existing.getParent().delete();
}
else {
if (existing != null) {
((PsiNameValuePair)existing.getParent()).setValue(value);
}
else {
PsiNameValuePair[] attributes = psiAnnotation.getParameterList().getAttributes();
if (attributes.length == 1) {
PsiNameValuePair attribute = attributes[0];
if (attribute.getName() == null) {
PsiAnnotationMemberValue defValue = attribute.getValue();
assert defValue != null : attribute;
attribute.replace(createNameValuePair(defValue, PsiAnnotation.DEFAULT_REFERENCED_METHOD_NAME + "=", annotationCreator));
}
}
boolean allowNoName = attributes.length == 0 && ("value".equals(attributeName) || null == attributeName);
final String namePrefix;
if (allowNoName) {
namePrefix = "";
}
else {
namePrefix = attributeName + "=";
}
psiAnnotation.getParameterList().addBefore(createNameValuePair(value, namePrefix, annotationCreator), null);
}
}
return psiAnnotation.findDeclaredAttributeValue(attributeName);
}