我需要编写一个文本编辑器,它可以合并多个来源的任意文本样式(在我的例子中:拼写检查器,样式提示像重复的单词,链接和其他标记)使用SWT StyledText。我检查了标准方法:寻找一个使用SWT的StyledText的复杂文本编辑器的例子
我可以安装一个修改侦听器并为每个修改的整个文本创建样式。这很慢但准确。
我可以使用
LineStyleListener
。这意味着我必须自己重新绘制文本(例如在重复单词的情况下,因为它们中的一些将超出当前编辑范围),再加上编辑器不会缓存样式,所以此API会被更频繁地调用那么人们会期望。我可以像IDE一样使用背景调节器。这意味着从用户的角度来看,造型滞后于不好的编辑。
蛋糕上的糖衣是我需要层次的风格,所以我必须要重新实现StyleRange
API。
有没有人看到更好的解决方案?有人能指引我做一些比关键词更重要的例子吗?
我只知道'PresentationReconcilier'(http://stackoverflow.com/questions/2009750/programmatically-change-the-background-color-in-eclipse/2023896#2023896),但这可能不会传递给用户体验你后... – VonC 2010-01-14 08:48:10