2013-05-15 66 views
0

我正在做我的第一個RCP示例,使用TreeViewer進行目錄瀏覽。JFace TreeViewer恢復選擇

我的工作也從例如http://www.ibm.com/developerworks/opensource/library/os-ecgui1/

對於文件中的條目TreeViewer我要讓最後選擇持續 由相同的選擇下次打開瀏覽器開始。

從選定的文件我捕獲的路徑和存儲/檢索這個單一的字符串。

重新打開時,我遍歷ITreeContentProvider並找到相應的 文件節點(並捕獲其中的節點)。

接下來我用

window.getTree().setSelection(new StructuredSelection(target)); 

與目標作爲文件的保存路徑列表。

這適用於頂層目錄下的C:

但要恢復更深的路徑發生故障。下一級最初不是 展開,並在AbstractTreeViewer.setSelectionToWidget()失敗。

我的感覺是我不處理setSelection()參數 但我沒有找到合適的例子。

你有一個簡單的例子,顯示如何恢復這樣的 路徑選擇?

在此先感謝

沃爾夫岡·R.

回答

1

我發現它。使用的示例代碼有一個小錯誤。

public class FileTreeContentProvider implements ITreeContentProvider 
{ 
... 
public Object getParent(Object element) 
{ 
    // wrong return ((File)element).getParent(); 
    return ((File)element).getParentFile(); 
}