为SWT应用程序配备内容助理 - 编程入门网
/ Remember start of tag
start = i;
break;
case ''>'' :
if (start >= 0) {
// We have found a tag and create a new style range
StyleRange range =
new StyleRange(start, i - start + 1, null, null, SWT.BOLD)
// Add this style range to the presentation
presentation.addStyleRange(range);
// Reset tag start indicator
start = -1;
}
break;
}
}
// Return the information text
return infoText;
}
};
处理过程是在 updatePresentation() 方法中完成的。这个方法接受要显示的文本和一个默认的 TextPresentation 实例。我们只需循环遍历该文本的字符,针对从该文本中找到的每个 XML 标签,我们向它的这个文本展示实例添加一个新的样式范围。在这个新的样式范围中,我们保留前景色和背景色不变,但是把字体样式设为粗体。 为SWT应用程序配备内容助理(7)时间:2011-02-09 IBM Berthold Daum上下文信息 现在研究一下我们已在 computeStyleProposals() 方法中创建的 ContextInformation 实例。这个上下文信息将在某个建议已被插入文档之后显示出来。它可用于通知用户关于某个自动完成建议已被成功应用的信息。然而,仅只是向 CompletionProposal() 构造函数传递一个 ContextInformation 实例是不足够的。我们还必须完成方法 getContextInformationValidator() 来为这个上下文信息提供验证器。清单 16 显示了这是如何进行的。 清单 16. getContextInformationValidator
这里使用了 ContextInformationValidator 的默认实现。这个验证器将检查要显示的上下文信息是否包含在方法 computeContextInformation() 返回的上下文信息项数组中。如果没有,该信息将不会显示。因此我们还必须完成方法 computeContextInformation() ,如清单 17 所示。 清单 17. computeContextInformation
这里我们仅为每个样式标签创建一个 IContextInformation 项。当然,这种解决办法相当简单。更高级的实现应该检查选中文本的周围,并确定哪些具体的样式标签适用于选中的文本。 如果我们不想实现这个方法,还可以选择实现我们自己的 IContextInformationValidator ,它总是返回 true。 激活助理 到目前为止,我们已经完成了新内容助理 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |