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


Java ContentAssistRequest.getReplacementLength方法代码示例

本文整理汇总了Java中org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest.getReplacementLength方法的典型用法代码示例。如果您正苦于以下问题:Java ContentAssistRequest.getReplacementLength方法的具体用法?Java ContentAssistRequest.getReplacementLength怎么用?Java ContentAssistRequest.getReplacementLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest的用法示例。


在下文中一共展示了ContentAssistRequest.getReplacementLength方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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());
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:18,代码来源:ProposalComputerFactory.java

示例3: addTagInsertionProposals

import org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest; //导入方法依赖的package包/类
@Override
protected void addTagInsertionProposals(ContentAssistRequest contentAssistRequest,
	int childPosition, CompletionProposalInvocationContext context)
{
	int offset = contentAssistRequest.getReplacementBeginPosition();
	int length = contentAssistRequest.getReplacementLength();
	Node node = contentAssistRequest.getNode();
	// Current node can be 'parent' when the cursor is just before the end tag of the parent.
	Node parentNode = node.getNodeType() == Node.ELEMENT_NODE ? node : node.getParentNode();
	if (parentNode.getNodeType() != Node.ELEMENT_NODE)
		return;

	String tagName = parentNode.getNodeName();
	NamedNodeMap tagAttrs = parentNode.getAttributes();
	// Result mapping proposals.
	if ("resultMap".equals(tagName))
		generateResults(contentAssistRequest, offset, length, parentNode,
			tagAttrs.getNamedItem("type"));
	else if ("collection".equals(tagName))
		generateResults(contentAssistRequest, offset, length, parentNode,
			tagAttrs.getNamedItem("ofType"));
	else if ("association".equals(tagName))
		generateResults(contentAssistRequest, offset, length, parentNode,
			tagAttrs.getNamedItem("javaType"));

	proposeStatementText(contentAssistRequest, parentNode);
}
 
开发者ID:mybatis,项目名称:mybatipse,代码行数:28,代码来源:XmlCompletionProposalComputer.java

示例4: 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

示例5: 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.getReplacementLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。