2013-05-15 2 views
0

디렉토리 찾아보기에 TreeViewer을 사용하여 첫 번째 RCP 예제를 수행하고 있습니다.JFace TreeViewer 복원 선택

내 작품은 예를 들어 내가 같은 선택 다음으로 뷰어를 엽니 다 지속적 마지막 선택을 할 파일 항목의 TreeViewer를 들어 http://www.ibm.com/developerworks/opensource/library/os-ecgui1/

에서 시작했다.

선택한 파일에서 경로를 캐치하고이 단일 문자열을 저장/검색합니다.

다시 열 때 나는 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(); 
} 
관련 문제