我正在做一个GUI项目,它包含一个向导和一个 wizardpage。使用eclipse插件创建向导页面 “org.eclipse.jface.wizard.WizardPage”我可以使用带有eclipse插件的工具栏按钮打开向导 “org.eclipse.jface.wizard.WizardDialog”,但我无法使用相同的插件打开向导页。
还有其他任何插件吗? 向导页面。任何人都可以帮我这样做吗?
答案 0 :(得分:2)
除非是向导的第一页,否则无法转到特定的向导页面。
要打开特定向导 - 而不是“向导选择器” - 然后将newWizardId
参数添加到菜单定义...
<extension point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:org.eclipse.ui.main.toolbar">
<toolbar id="id.of..toolbar">
<command commandId="org.eclipse.ui.newWizard">
<parameter name="newWizardId" value="id.of.wizard" />
</command>
</toolbar>
</menuContribution>
</extension>
答案 1 :(得分:2)
在处理程序类(扩展org.eclipse.core.commands.AbstractHandler)中的覆盖执行方法中,尝试以下代码:
IWizard wizard = new YourWizard();
WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), wizard);
dialog.open();
- )
答案 2 :(得分:1)
你可以这样做:
public void openWizard(String id) {
// First see if this is a "new wizard".
IWizardDescriptor descriptor = PlatformUI.getWorkbench()
.getNewWizardRegistry().findWizard(id);
// If not check if it is an "import wizard".
if (descriptor == null) {
descriptor = PlatformUI.getWorkbench().getImportWizardRegistry()
.findWizard(id);
}
// Or maybe an export wizard
if (descriptor == null) {
descriptor = PlatformUI.getWorkbench().getExportWizardRegistry()
.findWizard(id);
}
try {
// Then if we have a wizard, open it.
if (descriptor != null) {
**IWizard wizard = descriptor.createWizard();**
**//here you can set the first show page**
WizardDialog wd = new WizardDialog(getStandardDisplay()
.getActiveShell(), wizard);
wd.setTitle(wizard.getWindowTitle());
wd.open();
}
} catch (CoreException e) {
e.printStackTrace();
}
}