public class XmlParameterInfoHandler extends java.lang.Object implements ParameterInfoHandler<XmlTag,XmlElementDescriptor>
Constructor and Description |
---|
XmlParameterInfoHandler() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
dispose, getParameterCloseChars, getParametersForDocumentation, isWhitespaceSensitive, processFoundElementForUpdatingParameterInfo, supportsOverloadSwitching, syncUpdateOnCaretMove, tracksParameterIndex
public java.lang.Object[] getParametersForLookup(LookupElement item, ParameterInfoContext context)
getParametersForLookup
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public static XmlAttributeDescriptor[] getSortedDescriptors(XmlElementDescriptor p)
public boolean couldShowInLookup()
couldShowInLookup
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public XmlTag findElementForParameterInfo(CreateParameterInfoContext context)
ParameterInfoHandler
Find psiElement for parameter info should also set ItemsToShow in context and may set highlighted element
Note: it is executed on non UI thread
findElementForParameterInfo
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public void showParameterInfo(XmlTag element, CreateParameterInfoContext context)
showParameterInfo
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public XmlTag findElementForUpdatingParameterInfo(UpdateParameterInfoContext context)
ParameterInfoHandler
Hint has to be removed if method returns null
.
Note: it is executed on non-UI thread
findElementForUpdatingParameterInfo
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public void updateParameterInfo(XmlTag parameterOwner, UpdateParameterInfoContext context)
ParameterInfoHandler
Updates parameter info context due to change of caret position.
It could update context and state of UpdateParameterInfoContext.getObjectsToView()
Note: context.getParameterOwner()
equals to parameterOwner
or null
Note: it is executed on non UI thread.
updateParameterInfo
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public void updateUI(XmlElementDescriptor o, ParameterInfoUIContext context)
ParameterInfoHandler
This method is executed on UI thread and supposed only to update UI representation using
ParameterInfoUIContext.setUIComponentEnabled(boolean)
or ParameterInfoUIContext.setupUIComponentPresentation(String, int, int, boolean, boolean, boolean, Color)
.
Don't perform any heavy calculations like resolve here: move it to ParameterInfoHandler.findElementForParameterInfo(CreateParameterInfoContext)
or
ParameterInfoHandler.updateParameterInfo(Object, UpdateParameterInfoContext)
.
updateUI
in interface ParameterInfoHandler<XmlTag,XmlElementDescriptor>
public static void updateElementDescriptor(XmlElementDescriptor descriptor, ParameterInfoUIContext context, Function<? super java.lang.String,java.lang.Boolean> attributePresentFun)