WEB开发网
开发学院软件开发Java Eclipse 插件开发-如何扩展 WTP Wizard 阅读

Eclipse 插件开发-如何扩展 WTP Wizard

 2010-04-12 00:00:00 来源:WEB开发网   
核心提示: 为了简化 Sample 理解复杂度,doAddPages 方法中只加入首页(SampleProjectFirstPage),Eclipse 插件开发-如何扩展 WTP Wizard(7),而忽略了其他页面,在构造函数中,helper 通过自身 Listener 机制通知 Model 来同步 UI

为了简化 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 同步方法。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:Eclipse 插件 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接