WEB开发网
开发学院软件开发Java 如何使用 Eclipse CNF 的 Saveable Protocol 实现... 阅读

如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 第三步:对视图中树型结点元素进行修饰,当对应的可保存元素发生修改后,如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存(7),其名称以“*”作为后缀,当修改被保存后,在本文的例子中,当模型元素对应的 eidtor 发生修改时

第三步:对视图中树型结点元素进行修饰,当对应的可保存元素发生修改后,其名称以“*”作为后缀,当修改被保存后,后缀“*”号消失。该功能主要通过 org.eclipse.ui.decorators 扩展点实现。

图 7. Decorator 扩展点
如何使用 Eclipse CNF 的 Saveable Protocol 实现对 View 的保存

在上图中,objectClass 属性指明的是所要修饰对象的类型。class 属性指明的修饰的具体实现类,Eclipse 框架为我们提供了轻量级的修饰机制,只需将 lightweight 属性值指明为 true,同时,将所要提供的修饰类实现 ILightweightLabelDecorator 接口,框架就能对树型结点元素提供前缀、后缀、重叠图片的修饰。在本文的例子中,当模型元素对应的 eidtor 发生修改时,树型导航器上结点的名称将以“*”作为后缀。具体代码如下:

清单 2. 样例代码

 public class FileModifiedDecorator extends LabelProvider implements 
       ILightweightLabelDecorator { 
  @Override 
  public void decorate(Object element, IDecoration decoration) { 
    if (element instanceof TextFile) { 
      TextFileEditor editor = (TextFileEditor) FolderManager 
                    .getWorkbenchPart((TextFile) element); 
      if (editor != null && editor.isDirty()) 
        decoration.addSuffix("*"); 
      } 
    } 
 
  public void refreshDecorator(final Object element) { 
    Display.getDefault().asyncExec(new Runnable() { 
      public void run() { 
        fireLabelProviderChanged(new LabelProviderChangedEvent( 
                    FileModifiedDecorator.this, element)); 
      } 
    }); 
  } 
 } 

上一页  2 3 4 5 6 7 8 9  下一页

Tags:如何 使用 Eclipse

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接