Eclipse 插件开发-如何扩展 WTP Wizard
2010-04-12 00:00:00 来源:WEB开发网为了简化 Sample 理解复杂度,doAddPages 方法中只加入首页(SampleProjectFirstPage),而忽略了其他页面。在构造函数中,使用 SetWindowTitle 方法设置 Wizard 标题。getDefalutProvider 中注册 SampleProjectCreationDataModelProvider 用来执行控制操作。
清单 3. Wizard Page
protected void createPresetPanel(Composite top)
{
final Group group = new Group(top, SWT.NONE);
group.setText("Sample Main Class");
group.setLayoutData(gdhfill());
group.setLayout(new GridLayout(2, false));
Label lp = new Label(group, SWT.NULL);
lp.setText("Package");
Text tp = new Text(group, SWT.BORDER);
tp.setLayoutData(gdhfill());
Label lc = new Label(group, SWT.NULL);
lc.setText("Name");
Text tc = new Text(group, SWT.BORDER);
tc.setLayoutData(gdhfill());
synchHelper.synchText(tp,
SampleProjectCreationDataModelProvider.PACKAGE, null);
synchHelper.synchText(tc,
SampleProjectCreationDataModelProvider.MAIN_CLASS_NAME, null);
}
Sample Wizard 的首页隐蔽了 Dynamic Web Project Wizard 首页中 Dynamic WEB Module Version 与 Configuration Group。因此 Sample Page 通过继承 WEB Project Page,并重写相关 createPresetPanel,createPrimaryFacetComposite 方法来达到目的。
这里通过 synchHelper 方法的 synchText 方法实现 Text 空间与 provider 想关联的 Model 同步,当 Text 值发生改变时,helper 通过自身 Listener 机制通知 Model 来同步 UI 数据。相应地,synchHelper 还提供了与 Label、Combo\ Tree ,CheckBox 等 Widget 同步方法。
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Eclipse+SVN+Google Code配置过程
- ››eclipse中开发android程序时,打开layout配置文件自...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››Eclipse快捷键大全
- ››开发移动 Web Ajax 应用
- ››Eclipse Helios 之旅:看看 Eclipse 的最新同步发...
- ››开发者眼中的iPhone与Android
- ››Eclipse和MyEclipse的关系
更多精彩
赞助商链接