本文整理汇总了Java中org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest类的典型用法代码示例。如果您正苦于以下问题:Java ContentAssistRequest类的具体用法?Java ContentAssistRequest怎么用?Java ContentAssistRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ContentAssistRequest类属于org.eclipse.wst.xml.ui.internal.contentassist包,在下文中一共展示了ContentAssistRequest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addProposal
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
private void addProposal(ContentAssistRequest contentAssistRequest, String name, INgBindingType bindingType,
String displayString, Image image, String additionalProposalInfo) {
String alternateMatch = bindingType.formatAttr(name);
StringBuilder replacementString = new StringBuilder(alternateMatch);
if (!hasValue) {
replacementString.append("=\"\"");
}
StringBuilder replacementStringCursor = new StringBuilder(alternateMatch);
replacementStringCursor.append("=\"\"");
int replacementOffset = contentAssistRequest.getReplacementBeginPosition();
int replacementLength = contentAssistRequest.getReplacementLength();
int cursorPosition = getCursorPositionForProposedText(replacementStringCursor.toString());
IContextInformation contextInformation = null;
int relevance = XMLRelevanceConstants.R_XML_ATTRIBUTE_NAME;
ICompletionProposal proposal = new HTMLAngularCompletionProposal(replacementString.toString(),
replacementOffset, replacementLength, cursorPosition, image, displayString, alternateMatch,
contextInformation, additionalProposalInfo, relevance);
contentAssistRequest.addProposal(proposal);
}
示例2: getAttribute
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
/**
* Returns the attribute from a content assist request from an attribute
* completion.
*
* @param request the content assist request, in the context of an attribute
* completion
* @return the XML DOM attribute, or null
*/
public static IDOMAttr getAttribute(ContentAssistRequest request) {
int valueRegionStartOffset = request.getStartOffset();
NamedNodeMap attributes = request.getNode().getAttributes();
if (attributes == null) {
return null;
}
for (int i = 0; i < attributes.getLength(); i++) {
IDOMAttr attribute = (IDOMAttr) attributes.item(i);
if (attribute.getValueRegionStartOffset() == valueRegionStartOffset) {
return attribute;
}
}
return null;
}
示例3: resolveJavaProject
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
/**
* Resolves the java project for the given {@link ContentAssistRequest}.
*
* @param contentAssistRequest the request whose document will be used to get
* the java project
* @return the java project corresponding to the request, or null if one could
* not be resolved
*/
public static IJavaProject resolveJavaProject(
ContentAssistRequest contentAssistRequest) {
IDocument document = contentAssistRequest.getDocumentRegion().getParentDocument();
IFile file = SseUtilities.resolveFile(document);
if (file == null) {
return null;
}
IJavaProject javaProject = JavaCore.create(file.getProject());
if (!JavaProjectUtilities.isJavaProjectNonNullAndExists(javaProject)) {
return null;
}
return javaProject;
}
示例4: newUsingContentAssistRequest
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
public static ElExpressionProposalComputer newUsingContentAssistRequest(
ContentAssistRequest contentAssistRequest, IJavaProject javaProject) {
String currentAttrValue = XmlContentAssistUtilities.getAttributeValueUsingMatchString(contentAssistRequest);
int currentAttrValueOffset = XmlContentAssistUtilities.getAttributeValueOffset(contentAssistRequest);
int elExpressionOffsetInAttrValue = UiBinderUtilities.getOpenElExpressionContentsOffset(currentAttrValue);
if (elExpressionOffsetInAttrValue == -1) {
// Not in EL expression, this computer is useless
return null;
}
return new ElExpressionProposalComputer(
currentAttrValue.substring(elExpressionOffsetInAttrValue),
currentAttrValueOffset + elExpressionOffsetInAttrValue,
contentAssistRequest.getNode().getOwnerDocument(), javaProject);
}
示例5: newSetterAttributeProposalComputer
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
/**
* Creates a proposal computer for widget attributes based on existing type
* setter methods.
*/
public static IProposalComputer newSetterAttributeProposalComputer(
ContentAssistRequest contentAssistRequest, IJavaProject javaProject) {
IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
if (node.getNodeType() != IDOMNode.ELEMENT_NODE) {
return null;
}
String widgetTypeName = UiBinderXmlModelUtilities.computeQualifiedWidgetTypeName(node);
if (widgetTypeName == null) {
return null;
}
String matchString = contentAssistRequest.getMatchString();
return new SetterAttributeProposalComputer(node, widgetTypeName,
javaProject, matchString,
contentAssistRequest.getReplacementBeginPosition(),
matchString.length());
}
示例6: newUiPhAttributeProposalComputer
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
public static IProposalComputer newUiPhAttributeProposalComputer(
ContentAssistRequest contentAssistRequest) {
IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
if (node.getNodeType() != IDOMNode.ELEMENT_NODE) {
return null;
}
if (XmlUtilities.getAttribute(node,
UiBinderConstants.UI_BINDER_PH_ATTRIBUTE_NAME, true,
UiBinderConstants.UI_BINDER_XML_NAMESPACE) != null) {
// This element already has a ui:field attribute
return null;
}
// Only show this on HTML elements, which should be without a namespace
if (node.getNamespaceURI() != null) {
return null;
}
return createStaticTextProposalComputerForUiAttribute(
UiBinderConstants.UI_BINDER_PH_ATTRIBUTE_NAME, node,
contentAssistRequest);
}
示例7: newUrnImportProposalComputer
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
/**
* Creates a proposal computer for autocompleting the UiBinder root element
* URN import scheme. For example, <ui:UiBinder
* xmlns:g="urn:import:com.google.gwt._" />
*/
public static IProposalComputer newUrnImportProposalComputer(
ContentAssistRequest contentAssistRequest, IJavaProject javaProject) {
IDOMAttr attribute = XmlContentAssistUtilities.getAttribute(contentAssistRequest);
if (attribute == null) {
return null;
}
String attrValue = XmlContentAssistUtilities.getAttributeValueUsingMatchString(contentAssistRequest);
if (!UiBinderXmlModelUtilities.isUrnImportAttribute(attribute)) {
return null;
}
int urnImportLength = UiBinderConstants.URN_IMPORT_NAMESPACE_BEGINNING.length();
if (attrValue.length() < urnImportLength) {
return null;
}
String replaceText = attrValue.substring(urnImportLength);
int replaceOffset = XmlContentAssistUtilities.getAttributeValueOffset(contentAssistRequest)
+ urnImportLength;
return new CodeCompleteProposalComputer(
new int[]{CompletionProposal.PACKAGE_REF}, javaProject, replaceText,
replaceOffset, replaceText.length(), null, false);
}
示例8: createStaticTextProposalComputerForUiAttribute
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
private static IProposalComputer createStaticTextProposalComputerForUiAttribute(
String unprefixedAttrName, Node node,
ContentAssistRequest contentAssistRequest) {
Node uiBinderElement = XmlUtilities.getRootElement(node);
String fullAttrName = XmlUtilities.getName(uiBinderElement.getPrefix(),
unprefixedAttrName);
String proposalText = fullAttrName + "=\"\"";
// The cursor position will be inside the quotes
int replacementBeginPosition = contentAssistRequest.getReplacementBeginPosition();
int cursorPosition = replacementBeginPosition + proposalText.length() - 1;
return new StaticTextProposalComputer(new String[]{proposalText},
contentAssistRequest.getMatchString(), replacementBeginPosition,
contentAssistRequest.getReplacementLength(), cursorPosition,
XmlContentAssistUtilities.getImageForAttribute());
}
示例9: addAttributeValueProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
@Override
protected void addAttributeValueProposals(
ContentAssistRequest contentAssistRequest) {
super.addAttributeValueProposals(contentAssistRequest);
if (javaProject != null) {
addProposals(
contentAssistRequest,
ElExpressionProposalComputer.newUsingContentAssistRequest(
contentAssistRequest, javaProject),
ProposalComputerFactory.newUiImportFieldProposalComputer(
contentAssistRequest, javaProject, filePackageName),
ProposalComputerFactory.newWithTypeProposalComputer(
contentAssistRequest, javaProject),
ProposalComputerFactory.newUrnImportProposalComputer(
contentAssistRequest, javaProject),
ProposalComputerFactory.newUrnTypesProposalComputer(contentAssistRequest),
ProposalComputerFactory.newUiFieldProposalComputer(
contentAssistRequest, javaProject));
}
}
示例10: addTagNameProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
@Override
protected void addTagNameProposals(ContentAssistRequest contentAssistRequest,
int childPosition) {
super.addTagNameProposals(contentAssistRequest, childPosition);
if (javaProject != null) {
addProposals(
contentAssistRequest,
ProposalComputerFactory.newUiBinderRootElementProposalComputer(contentAssistRequest));
if (addProposals(contentAssistRequest,
WidgetProposalComputer.newUsingContentAssistRequest(
contentAssistRequest, javaProject))) {
addedDynamicWidgetProposals = true;
}
}
}
示例11: addProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
/**
* Calls the given proposal computers and adds their proposals to the content
* assist request.
*
* @param contentAssistRequest the recipient of the proposals
* @param proposalComputers the proposal computers, null is permitted
* @return true if proposals were added to the request
*/
private boolean addProposals(ContentAssistRequest contentAssistRequest,
IProposalComputer... proposalComputers) {
List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
for (IProposalComputer proposalComputer : proposalComputers) {
if (proposalComputer == null) {
continue;
}
try {
proposalComputer.computeProposals(proposals);
} catch (UiBinderException e) {
GWTPluginLog.logWarning(e, MessageFormat.format(
"Could not compute proposals for {0}.",
proposalComputer.getClass().getSimpleName()));
return false;
}
}
for (ICompletionProposal proposal : proposals) {
contentAssistRequest.addProposal(proposal);
}
return proposals.size() > 0;
}
示例12: proposeStatementId
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
private void proposeStatementId(ContentAssistRequest contentAssistRequest,
IJavaProject project, String matchString, int start, int length, IDOMNode node)
throws JavaModelException, XPathExpressionException
{
final List<ICompletionProposal> results = new ArrayList<ICompletionProposal>();
final MethodNameStore methodStore = new MethodNameStore();
String qualifiedName = MybatipseXmlUtil.getNamespace(node.getOwnerDocument());
JavaMapperUtil.findMapperMethod(methodStore, project, qualifiedName,
new RejectStatementAnnotation(matchString, false));
for (String methodName : methodStore.getMethodNames())
{
results.add(new CompletionProposal(methodName, start, length, methodName.length(),
Activator.getIcon(), methodName, null, null));
}
addProposals(contentAssistRequest, results);
}
示例13: proposeProperty
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
private void proposeProperty(ContentAssistRequest contentAssistRequest, String matchString,
int start, int length, IDOMNode node) throws JavaModelException
{
String javaType = MybatipseXmlUtil.findEnclosingType(node);
if (javaType != null && !MybatipseXmlUtil.isDefaultTypeAlias(javaType))
{
IJavaProject project = getJavaProject(contentAssistRequest);
IType type = project.findType(javaType);
if (type == null)
{
javaType = TypeAliasCache.getInstance().resolveAlias(project, javaType, null);
if (javaType == null)
return;
}
addProposals(contentAssistRequest, ProposalComputorHelper.proposePropertyFor(project,
start, length, javaType, false, -1, matchString));
}
}
示例14: addTagNameProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
@Override
protected void addTagNameProposals(final ContentAssistRequest request,
int childPosition,
CompletionProposalInvocationContext context)
{
enumProposals(request, context, new ProposalCallback()
{
@Override
public void newProposal(TapestryContext tapestryContext,
String tagName,
String displayString)
{
addProposal(request, tapestryContext, tagName, displayString);
}
});
}
示例15: addProposal
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入依赖的package包/类
private void addProposal(ContentAssistRequest request,
TapestryContext tapestryContext,
String replacementString,
String displayString)
{
request.addProposal(new MarkupCompletionProposal(
replacementString, // replacementString
request.getReplacementBeginPosition(),
request.getReplacementLength(),
replacementString.length(),
Activator.getTapestryLogoIcon(), // image
displayString, // displayString
null, // contextInfo
tapestryContext.getJavadoc(), // additionalProposalInfo
3000 - (StringUtils.countMatches(replacementString, ".") > 0 ? 1 : 0), // relevance
true // updateReplacementLengthOnValidate
));
}