2012-03-28 75 views
0

我有一個嚮導有兩個頁面:pageone延伸WizardNewProjectCreationPagepagetwo正在延伸WizardPage。我希望用戶能夠首先創建項目,然後將文件添加到第二頁上的項目。如何將JFace表添加到Eclipse RCP新建項目嚮導

對於後者,我希望使用SWT Table(?),就像在Eclipse IDE中選擇Java類嚮導中的接口時一樣(參見圖片here)。還有它旁邊的「添加」按鈕。

我該如何做到這一點?我必須爲此使用Eclipse Forms API嗎?或者乾脆添加一個SWT表?我使用了插件間諜軟件,但NewClassWizardPageNewTypeWizardPage中給出的源代碼似乎對此示例非常具體,我無法理解它。

我也看過了對於JFace表格的vogella's tutorial,但是我無法理解它。

只是一些基本的步驟會很棒,或者有人曾經這樣做過?

回答

2

我可以很容易地理解你爲什麼會感到困惑......確實有很多方法可以做到這一點。你甚至遺漏了數據綁定,它提供了另一種方式來填充和修飾有問題的表。

綜上所述的不同API的用法:

  • SWT提供了基本的小部件和控件。通常這些接口具有相當不規則的底層接口 - 尤其是與Swing相比 - 但您需要訪問SWT控件以進行佈局(本身可能很複雜)。還有很多聽衆都在控制中。
  • JFace在相應的結構化SWT控制之上提供了一組觀衆 - 例如, Table之上的TableViewer。這些觀看者爲底層控制的功能提供了高級接口 - 例如,與模型,標籤提供者,排序,過濾等等。 (觀衆可以很容易地與Swing對應...)
  • Eclipse Forms提供了一個(相對)簡單的方式來創建看起來像網頁的視圖,對話框等。這方面的例子是各種PDE編輯器。
  • 數據綁定提供(有點複雜)的方式來結合對照(包括表)的數據結構(豆,EMF或POJO爲基礎)。

因此,您必須決定是否使用JFace和數據綁定的模型構面,但其餘的API通常會組合在相同的視圖或對話框中。

NewClassWizardPageNewTypeWizardPage都是嚮導的特別複雜的例子 - 不要將自己的工作放在這些基礎上!

對於你的具體情況 - 我的理解是 - 我會用一個簡單的JFace TableViewer持有的接口列表...(我用一個TableViewer而非ListViewer爲以後不能有一個形象的一部分標籤提供者)。「添加」和「刪除」按鈕將操作查看器的模型,然後更新查看器。你不需要Eclipse Forms,因爲這些嚮導通常看起來不像網頁。鑑於嚮導的非常非常簡單的數據,數據綁定在這裏也是一種矯枉過正的行爲。

請注意,嚮導的功能僅在所有嚮導頁面顯示並按下「完成」按鈕後纔會執行。

相關問題