Eclipse源码阅读:Add Interfaces

来源:互联网 发布:linux 打开一个目录 编辑:程序博客网 时间:2024/04/30 13:17

本文和Eclipse源码阅读:Choose Super Class类似,

 

废话不说,直接看代码吧:

 

protected void chooseSuperInterfaces() {IJavaProject project= getJavaProject();if (project == null) {return;}SuperInterfaceSelectionDialog dialog= new SuperInterfaceSelectionDialog(getShell(), getWizard().getContainer(), this, project);dialog.setTitle(getInterfaceDialogTitle());dialog.setMessage(NewWizardMessages.NewTypeWizardPage_InterfacesDialog_message);dialog.open();}private String getInterfaceDialogTitle() {    if (fTypeKind == INTERFACE_TYPE)        return NewWizardMessages.NewTypeWizardPage_InterfacesDialog_interface_title;    return NewWizardMessages.NewTypeWizardPage_InterfacesDialog_class_title;}


有必要看看SuperInterfaceSelectionDialog的实现,只看其构造方法.

public class SuperInterfaceSelectionDialog extends OpenTypeSelectionDialog {/** * Creates new instance of SuperInterfaceSelectionDialog * * @param parent *            shell to parent the dialog on * @param context *            context used to execute long-running operations associated *            with this dialog * @param page *            page that opened this dialog * @param p *            the java project which will be considered when searching for *            interfaces */ //IJavaSearchConstants.INTERFACE表示只显示接口public SuperInterfaceSelectionDialog(Shell parent, IRunnableContext context, NewTypeWizardPage page, IJavaProject p) {super(parent, true, context, createSearchScope(p), IJavaSearchConstants.INTERFACE);fTypeWizardPage= page;// to restore the content of the dialog field if the dialog is canceledfOldContent= fTypeWizardPage.getSuperInterfaces();setStatusLineAboveButtons(true);}   //其它代码略}


 关于OpenTypeSelectionDialog的介绍与使用,可以参考IBM Developerment中的如下一篇文章(理解 Eclipse 打开类型 (Open Type) 插件功能,实现自定义打开类型插件)

原创粉丝点击