2013-05-15 4 views
0

Я делаю свой первый пример RCP, используя TreeViewer для просмотра каталогов.JFace TreeViewer restore selection

Моей работы действительно начинала из примера http://www.ibm.com/developerworks/opensource/library/os-ecgui1/

Для TreeViewer записей файла Я хочу сделать последний выбор упорной открыть зритель того же выбор в следующий раз.

Из выбранного файла я поймал путь и сохранил/извлек эту единственную строку.

При повторном открытии я пересекаю ITreeContentProvider и нахожу соответствующий узел File (и фиксирует узлы между ними).

Следующая я использую

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

с мишенью в виде списка файлов, держащего путь.

Это работает для каталогов верхнего уровня под C:

Но восстановление глубокий путь не удается. Следующий уровень первоначально не расширен и не работает в AbstractTreeViewer.setSelectionToWidget().

Мое ощущение, что я не обрабатываю параметр setSelection() параметра , но я не нашел подходящего примера.

У вас есть простой пример для меня, показывающий, как восстановить такой выбор ?

заранее спасибо

Вольфганг Р.

ответ

1

Я нашел его. Используемый примерный код имеет небольшую ошибку.

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