Выбор восстановления JFace TreeViewer

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

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

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

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

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

Далее я использую

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

с целью в виде списка файлов, содержащих путь.

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

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

Мне кажется, что я плохо справляюсь с параметром setSelection(), но подходящего примера не нашел.

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

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

Вольфганг Р.


person Wolfgang R.    schedule 15.05.2013    source источник


Ответы (1)


Я нашел это. В используемом примере кода есть небольшая ошибка.

public class FileTreeContentProvider implements ITreeContentProvider
{
...
public Object getParent(Object element)
{
  // wrong return ((File)element).getParent();
  return ((File)element).getParentFile();
}
person Wolfgang R.    schedule 15.05.2013