当前位置: 首页>>代码示例>>Java>>正文


Java ContentAssistRequest.addProposal方法代码示例

本文整理汇总了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);
}
 
开发者ID:angelozerr,项目名称:angular-eclipse,代码行数:24,代码来源:HTMLAngularCompletionCollector.java

示例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;
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:34,代码来源:UiBinderXmlCompletionProcessor.java

示例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
            ));
}
 
开发者ID:anjlab,项目名称:eclipse-tapestry5-plugin,代码行数:19,代码来源:TapestryCompletionProposalComputer.java

示例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);
}
 
开发者ID:mybatis,项目名称:mybatipse,代码行数:9,代码来源:XmlCompletionProposalComputer.java

示例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);
	}
}
 
开发者ID:mybatis,项目名称:mybatipse,代码行数:10,代码来源:XmlCompletionProposalComputer.java

示例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
                ));
    }
}
 
开发者ID:anjlab,项目名称:eclipse-tapestry5-plugin,代码行数:39,代码来源:TapestryCompletionProposalComputer.java

示例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);
}
 
开发者ID:angelozerr,项目名称:angularjs-eclipse,代码行数:38,代码来源:HTMLAngularTagsCompletionProposalComputer.java

示例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);
	}
}
 
开发者ID:mybatis,项目名称:mybatipse,代码行数:50,代码来源:XmlCompletionProposalComputer.java

示例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
                ));
    }
}
 
开发者ID:anjlab,项目名称:eclipse-tapestry5-plugin,代码行数:67,代码来源:TapestryCompletionProposalComputer.java

示例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);
	}
}
 
开发者ID:angelozerr,项目名称:angularjs-eclipse,代码行数:78,代码来源:HTMLAngularTagsCompletionProposalComputer.java


注:本文中的org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest.addProposal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。