本文整理汇总了Java中org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest.addProposal方法的典型用法代码示例。如果您正苦于以下问题:Java ContentAssistRequest.addProposal方法的具体用法?Java ContentAssistRequest.addProposal怎么用?Java ContentAssistRequest.addProposal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest
的用法示例。
在下文中一共展示了ContentAssistRequest.addProposal方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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;
}
示例3: 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
));
}
示例4: addTemplates
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
/**
* Adds templates to the list of proposals
*
* @param contentAssistRequest
* @param templateContext
* @param context
*/
private void addTemplates(ContentAssistRequest contentAssistRequest, String templateContext, CompletionProposalInvocationContext context) {
if (contentAssistRequest != null) {
boolean useProposalList = !contentAssistRequest.shouldSeparate();
List proposals = this.getTemplateProposals(templateContext, context);
for (int i = 0; i < proposals.size(); ++i) {
if (useProposalList) {
contentAssistRequest.addProposal((ICompletionProposal)proposals.get(i));
}
else {
contentAssistRequest.addMacro((ICompletionProposal)proposals.get(i));
}
}
}
}
开发者ID:UndefinedOffset,项目名称:eclipse-silverstripedt,代码行数:23,代码来源:SSTemplateCompletionProposalComputer.java
示例5: proposeMapperNamespace
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
private void proposeMapperNamespace(ContentAssistRequest contentAssistRequest,
IJavaProject project, int start, int length)
{
String namespace = MybatipseXmlUtil.getNamespaceFromActiveEditor(project);
ICompletionProposal proposal = new CompletionProposal(namespace, start, length,
namespace.length(), Activator.getIcon("/icons/mybatis-ns.png"), namespace, null, null);
contentAssistRequest.addProposal(proposal);
}
示例6: addProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
private void addProposals(final ContentAssistRequest contentAssistRequest,
List<ICompletionProposal> proposals)
{
Collections.sort(proposals, new CompletionProposalComparator());
for (ICompletionProposal proposal : proposals)
{
contentAssistRequest.addProposal(proposal);
}
}
示例7: addAttributeValueProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
@Override
protected void addAttributeValueProposals(
ContentAssistRequest request,
CompletionProposalInvocationContext context)
{
// Display Page/Component properties
TapestryContextScope scope = getCurrentTapestryContextSpecification(request, context);
if (scope == null)
{
return;
}
// TODO Support comma-separated lists (like for t:mixins), maps, and different binding prefixes
// TODO Support properties in dot-notation, like: user.firstName
for (Property property : scope.specification.getProperties())
{
if (!property.getName().startsWith(request.getMatchString().replaceAll("\"|'", "")))
{
continue;
}
String replacementString = '"' + property.getName() + '"';
request.addProposal(new MarkupCompletionProposal(
replacementString,
request.getReplacementBeginPosition(),
request.getReplacementLength(),
replacementString.length() - 1,
Activator.getTapestryLogoIcon(), // image
property.getName(), // displayString
null, // contextInfo
property.getJavadoc(), // additionalProposalInfo
3000, // relevance
true // updateReplacementLengthOnValidate
));
}
}
示例8: addProposal
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
private void addProposal(final ContentAssistRequest contentAssistRequest,
String name, DirectiveValue directiveValue, Directive directive,
String displayString, Image image, String additionalProposalInfo,
IDOMNode element, IIDETernProject ternProject) {
StringBuilder replacementString = new StringBuilder(name);
if (directiveValue != DirectiveValue.none)
replacementString.append("=\"\"");
if (directive != null) {
Collection<DirectiveParameter> parameters = directive
.getParameters();
for (DirectiveParameter parameter : parameters) {
if (!parameter.isOptionnal()
&& !hasParameterAttribute(parameter, element)) {
replacementString.append(" ").append(parameter.getName())
.append("=\"\"");
}
}
}
int replacementOffset = contentAssistRequest
.getReplacementBeginPosition();
int replacementLength = contentAssistRequest.getReplacementLength();
int cursorPosition = getCursorPositionForProposedText(replacementString
.toString());
IContextInformation contextInformation = null;
int relevance = XMLRelevanceConstants.R_XML_ATTRIBUTE_NAME;
ICompletionProposal proposal = new HTMLAngularCompletionProposal(
replacementString.toString(), replacementOffset,
replacementLength, cursorPosition, image, displayString,
contextInformation, additionalProposalInfo, relevance,
ternProject);
contentAssistRequest.addProposal(proposal);
}
示例9: generateResults
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
private void generateResults(ContentAssistRequest contentAssistRequest, int offset,
int length, Node parentNode, Node typeAttr)
{
if (typeAttr == null)
return;
String typeValue = typeAttr.getNodeValue();
if (typeValue == null || typeValue.length() == 0)
return;
IJavaProject project = getJavaProject(contentAssistRequest);
// Try resolving the alias.
String qualifiedName = TypeAliasCache.getInstance().resolveAlias(project, typeValue, null);
if (qualifiedName == null)
{
// Assumed to be FQN.
qualifiedName = MybatipseXmlUtil.normalizeTypeName(typeValue);
}
BeanPropertyInfo beanProps = BeanPropertyCache.getBeanPropertyInfo(project, qualifiedName);
try
{
Set<String> existingProps = new HashSet<String>();
NodeList existingPropNodes = XpathUtil.xpathNodes(parentNode, "*[@property]/@property");
for (int i = 0; i < existingPropNodes.getLength(); i++)
{
existingProps.add(existingPropNodes.item(i).getNodeValue());
}
StringBuilder resultTags = new StringBuilder();
for (Entry<String, String> prop : beanProps.getWritableFields().entrySet())
{
String propName = prop.getKey();
if (!existingProps.contains(propName))
{
resultTags.append("<result property=\"")
.append(propName)
.append("\" column=\"")
.append(propName)
.append("\" />\n");
}
}
contentAssistRequest
.addProposal(new CompletionProposal(resultTags.toString(), offset, length,
resultTags.length(), Activator.getIcon(), "<result /> for properties", null, null));
}
catch (XPathExpressionException e)
{
Activator.log(Status.ERROR, e.getMessage(), e);
}
}
示例10: addAttributeNameProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
@Override
protected void addAttributeNameProposals(
ContentAssistRequest request,
CompletionProposalInvocationContext context)
{
// Display Page/Component parameters proposals
TapestryContextScope scope = getCurrentTagSpecification(request, context);
if (scope == null)
{
return;
}
NamedNodeMap attributes = request.getNode().getAttributes();
// TODO Add parameters of applied t:mixins
// Current component may also have embedded definition via @Component annotation
Component embeddedDefinition = null;
String componentId = TapestryUtils.findTapestryAttribute(request.getNode(), "id");
if (StringUtils.isNotEmpty(componentId))
{
TapestryContextScope scope2 = getCurrentTapestryContextSpecification(request, context);
for (Component component : scope2.specification.getComponents())
{
if (StringUtils.equals(componentId, component.getId()))
{
embeddedDefinition = component;
break;
}
}
}
for (Parameter parameter : scope.specification.getParameters(scope.project))
{
if (!parameter.getName().startsWith(request.getMatchString()))
{
continue;
}
if (parameterBoundUsingAttribute(parameter, attributes)
|| parameterBoundUsingChildNode(parameter, request.getNode())
|| parameterBoundUsingEmbeddedComponent(parameter, embeddedDefinition))
{
continue;
}
String replacementString = parameter.getName() + "=\"\"";
request.addProposal(new MarkupCompletionProposal(
replacementString,
request.getReplacementBeginPosition(),
request.getReplacementLength(),
replacementString.length() - 1,
Activator.getTapestryLogoIcon(), // image
parameter.getName(), // displayString
null, // contextInfo
parameter.getJavadoc(), // additionalProposalInfo
3000, // relevance
true // updateReplacementLengthOnValidate
));
}
}
示例11: populateAngularProposals
import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
private void populateAngularProposals(
final ContentAssistRequest contentAssistRequest, IDOMNode element,
IDocument document, final AngularType angularType,
final Integer startIndex) {
IFile file = DOMUtils.getFile(element);
IProject eclipseProject = file.getProject();
try {
IIDETernProject ternProject = AngularProject
.getTernProject(eclipseProject);
// get the expression to use for Tern completion
String expression = getExpression(contentAssistRequest, startIndex);
final int replacementOffset = getReplacementOffset(
contentAssistRequest, angularType,
element.getNodeType() != Node.TEXT_NODE);
// Create Tern doc + query
TernAngularQuery query = new TernAngularCompletionsQuery(
angularType);
query.setExpression(expression);
ITernScriptPath scriptPath = AngularScopeHelper.populateScope(
element, file, angularType, query);
// Execute Tern completion
ITernCompletionCollector collector = new ITernCompletionCollector() {
@Override
public void addProposal(TernCompletionProposalRec proposalItem,
Object completion, IJSONObjectHelper jsonObjectHelper) {
ICompletionProposal proposal = null;
if (isModuleOrController(angularType)) {
MarkupAngularCompletionProposal markupPproposal = new MarkupAngularCompletionProposal(
new AngularCompletionProposalRec(proposalItem,
replacementOffset), completion,
jsonObjectHelper, angularType);
// in the case of "module", "controller" completion
// the value must replace the existing value.
String replacementString = "\"" + proposalItem.name
+ "\"";
int replacementLength = contentAssistRequest
.getReplacementLength();
int cursorPosition = getCursorPositionForProposedText(replacementString) - 2;
markupPproposal.setReplacementString(replacementString);
markupPproposal.setReplacementLength(replacementLength);
markupPproposal.setCursorPosition(cursorPosition);
markupPproposal.setReplacementOffset(replacementOffset);
markupPproposal.setImage(HTMLAngularPrinter
.getImage(angularType));
proposal = markupPproposal;
} else {
proposal = new JSAngularCompletionProposal(
new AngularCompletionProposalRec(
proposalItem,
replacementOffset
- (proposalItem.end - proposalItem.start)),
completion, jsonObjectHelper, angularType);
}
contentAssistRequest.addProposal(proposal);
}
};
if (scriptPath != null) {
ternProject.request(query, null, scriptPath, null,
null, collector);
} else {
ITernFile tf = new TernDocumentFile(file, document);
ternProject.request(query, null, null, element, tf,
collector);
}
} catch (Exception e) {
Trace.trace(Trace.SEVERE, "Error while tern completion.", e);
}
}