이클립스 플러그인 개발에서 현재 선택된 프로젝트를 알아내는 방법중에서 네이게이터 뷰(Project Explorer, Package Explorer, 등등)으로부터 현재 선택된 리소스에서 프로젝트를 얻어내는 방법이 가장 일반적인 방법이다.
네이게이터 뷰에서 리소스가 선택되면 자동으로 셀랙션 서비스에 IStructureSelection 형태의 셀랙션 컨테이너 형태로 선택정보가 저장되는데 이를 잡아서 알아내면 된다.
// 셀랙션 서비스로부터 현재 선택된 셀랙션 객체를 얻는다. ISelection selection = Workbench.getInstance() .getActiveWorkbenchWindow() .getSelectionService() .getSelection(); IProject project = null; // 선택된 객체가 셀랙션 컨테이너가 맞다면 if(selection instanceof IStructuredSelection) { // 첫번째 선택 요소를 얻고 Object element = ((IStructuredSelection)selection).getFirstElement(); // 해당 요소가 리소스 요소라면 if (element instanceof IResource) // 리소스 요소로 부터 프로젝트를 얻는다. project= ((IResource)element).getProject(); }
'JAVA > Eclipse plugin' 카테고리의 다른 글
MultiPageEditor Page 위에 중첩 에디터 구현 (0) | 2015.11.11 |
---|---|
이클립스 JUNO 버전 CTabFolder.setTextDirection() 함수 사용 불가 (0) | 2015.06.18 |
JFace Dialog Close 이벤트 헨들러 (0) | 2015.05.26 |
JFaceDialog 타이틀 설정 (0) | 2015.05.26 |