Eclipse插件开发之定制向导(各方法说明)

  我们来分析一下这个向导。请打开InvokatronWizard.java文件。请注重这个类是如何扩展Wizard并实现INewWizard接口的。你应该理解它里面的很多方法。为了定制向导,我们简单地调用或重载其中的某些方法。下面是一些重要的方法:

  生命周期方法

  我们应该重载这些方法,把初始化和析构(destrUCtion)代码插入向导中:

  · Constructor(构造函数):向导实例化的时候、在Eclipse给它传递信息之前调用。向导的一般初始化实现。通常你希望调用"美化方法"(后面有描述)并设置对话框的默认值。

  · init(IWorkbench workbench, IStructuredSelection editorSelection): Eclipse调用它为向导提供工作台的信息。请重载它,保存IWorkbench和对象的句柄供以后使用。假如它是一个编辑器向导而不是新向导,我们最好把当前的编辑器选项作为第二个参数。

  · dispose():Eclipse调用它执行清理工作。重载它来清除向导使用的资源。

  · finalize():清除代码,可能使用dispose()代替。

  

美化方法

  这些方法都是用于装饰向导窗体的。

  · setWindowTitle(String title):设置窗体的标题行字符串。

  · setDefaultPageImageDescriptor(ImageDescriptor image):用于提供显示在向导的所有页面右上方的图片。

  · setTitleBarColor(RGB color):指定标题栏用什么颜色。

  

按钮方法

  这些方法控制着向导按钮的实用性和行为。

  · boolean canFinish():重载它用于指定Finish(完成)按钮是否激活(根据向导的状态)。

  · boolean performFinish():重载它来实现向导的根本的业务逻辑。假如向导没有完成(错误的条件),就返回false。

  · boolean performCancel():重载它,在用户点击Cancel(取消)按钮的时候进行清除操作。假如向导不能终止,则返回false。

  · boolean isHelpAvailable():重载它用于指定Help(帮助)按钮是否可视。

  · boolean needsPreviousAndNextButtons():重载它来指定Previous(前一步)和Next(后一步)按钮是否可视。

  · boolean needsProgressMonitor():重载它来指定进度条部件是否可视。当点击Finish按钮调用performFinish()方法的时候,它就会出现。

  

页面方法

  这些方法控制着页面的外观。

  · addPages():向导显示的时候调用。重载它给向导插入新页面。

  · createPageControls(Composite pageContainer):Eclipse调用它来实例化所有的向导页面(用前面的addPages()方法已经添加的页面)。重载它给向导添加持续可视的窗体小部件(除页面之外的部件)。

  · IWizardPage getStartingPage():重载它来检测哪个页面是向导的第一个页面。

  · IWizardPage getNextPage(IWizardPage nextPage):在默认情况下,点击Next按钮将进入addPages()所提供的数组中的下一个页面。你可能希望根据用户选择进入不同的页面。重载它来计算后一个页面。

  · IWizardPage getPreviousPage(IWizardPage previousPage):与getNextPage()类似,用于计算前一个页面。

  · int getPageCount():检索addPages()添加的页面的数量。在典型情况下,你不必重载它,除非你希望显示页面的数量和形式。

  

其它有用的方法

  这些都是有用的辅助方法:

  · setDialogSettings(IDialogSettings settings):你可以载入对话框的状态,并通过在init()中调用这个方法来设置这些值。在典型情况下,这些设置可以作为向导字段的默认值。请查看DialogSettings类了解更具体的信息。

  · IDialogSettings getDialogSettings():当我们需要数据的时候,就调用这个方法来检索它。在performFinish()的对话框的末尾,你再次可以把数据保存到文件中。

  · IWizardContainer getContainer():对于检索Shell、运行的后台线程、刷新窗口等非常有用。 向导页面方法

  你已经看到了,向导是由一个或多个页面组成的。这些页面扩展了WizardPage类,并实现了IWizardPage接口。为了定制单独的页面,你必须了解很多方法。下面是一些重要的方法:

  · Constructor:用于实例化页面。

原文地址:https://www.cnblogs.com/jifeng/p/2058114.html