Rational Developer for System z


课程 3:为 CustomLabelProvider 类开发代码

在本课程中,您将为 CustomLabelProvider 类开发代码,此类将控制“CARMA 开发者”视图中各项的显示方式。

要开发此代码,请执行下列操作:

  1. 打开 ContextLabelProvider 类。在包资源管理器视图中,浏览 com.ibm.carma.plugin.view > src > view,并双击 CustomLabelProvider 类。
  2. 首先,您将需要覆盖 getText() 方法。此方法应检查是否已连接存储库管理器,并向存储库管理器添加一个显示“已连接/已断开连接”状态的标签。

    下面是 getText() 方法的示例伪码:

    if(the element passed to getText is a repository manager)
    {
       	if(the repository manager is connected)
       {
          		add connected label to the repository manager;
       }
       else
       {
          		add disconnected label to the repository manager;
       }
    }

    使用以下示例源代码来覆盖 getText() 方法:

    public String getText(Object element)
    {
       	String textLabel = super.getText(element);
       	if(element instanceof RepositoryManager)
       {
          		if( ((RepositoryManager)element).isConnected())
          {
             			textLabel += " - (Connected)";
          }
          else
          {
             			textLabel += " - (Disconnected)";
          }
    	}
    
      	return textLabel;
    }
  3. 您将需要覆盖的下一个方法是 getImage() 方法。此方法应更改对 COBOL 成员显示的图标。

    下面是 getImage() 方法的伪码:

    if( the element passed getImage is a CARMA Member)
    {
       	if( the CARMA Member's extension is "cbl" )
       {
          		decorate the CARMA Member;
       }
    }

    下面是 getImage() 方法的示例源代码:

    public Image getImage(Object element)
    {
       	if(element instanceof CARMAMember)
       {
          		if(((CARMAMember) element).getLocalExtension().equalsIgnoreCase("cbl"))
          {
             			//replace the parameter of getImageDescriptor() with the path to your particular icon
             			ImageDescriptor myDescriptor = Activator.getImageDescriptor("icons/cobol.gif");
             			return myDescriptor.createImage();
          }
       }
       	return super.getImage(element);
    }
    注: 作为一个参数传递至 getImageDescriptor 方法的路径名应当与您的目录和图像名称相匹配。
  4. 最后,请确保位于 Java 类顶部的 import 语句中列示了下列包。添加缺少的任何内容:
    import com.ibm.carma.plugin.view.Activator;
    
    import org.eclipse.jface.resource.ImageDescriptor;
    import org.eclipse.swt.graphics.Image;
    
    import com.ibm.carma.model.*;
    import com.ibm.carma.ui.view.*;
  5. 保存源代码,并调试存在的任何错误。

使用条款 | 反馈



本信息中心基于 Eclipse 技术。(http://www.eclipse.org)