2014-12-10 12 views
2

이클립스 플러그인에 대한 새로운보기를 만들었으며 패키지 탐색기와 같은 다른보기에있는 실행, 열기, 복사, 삭제와 같은 기본 팝업 메뉴를 다시 사용하고자합니다. 그렇게 할 수 있습니까?Eclipse 플러그인의 기존보기에서 컨텍스트 팝업 메뉴를 새로 작성한보기로 재사용하는 방법은 무엇입니까?

나는 메뉴 기여도에 대해 알고 있지만 기존 목록에 새 메뉴 항목을 추가하는 것입니다. 다른 뷰에서 기존 메뉴를 재사용하려면 어떻게해야합니까? enter image description here

이보기 메뉴를 만드는 방법은 다음과 같습니다

private void hookContextMenu() { 
     MenuManager menuMgr = new MenuManager("#PopupMenu"); 
     menuMgr.setRemoveAllWhenShown(true); 
     menuMgr.addMenuListener(new IMenuListener() { 
      public void menuAboutToShow(IMenuManager manager) { 
       SuitAExplorer.this.fillContextMenu(manager); 
      } 
     }); 
     Menu menu = menuMgr.createContextMenu(viewer.getControl()); 
     viewer.getControl().setMenu(menu); 
     getSite().registerContextMenu(menuMgr, viewer); 
    } 

private void fillContextMenu(IMenuManager manager) { 
     manager.add(action1); 
     manager.add(action2); 
     manager.add(new Separator()); 
     drillDownAdapter.addNavigationActions(manager); 
     // Other plug-ins can contribute there actions here 
     manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); 
    } 
+0

메뉴를 어떻게 만듭니 까? –

+0

뷰에 메뉴에 기여하는 코드 블록을 추가했습니다. – Amrit

답변

1

일부 메뉴 등의 복사와 같은 항목은 이클립스 당신이 당신의 뷰 개체를 복사하는 방법을 모르는 자신을 작성해야 붙여 넣습니다.

'Run As'메뉴 항목은보기 항목 활성화가 올바른 경우에만 메뉴의 IWorkbenchActionConstants.MB_ADDITIONS 위치에 나타나야합니다. '으로 실행'을 위해 에이블 표현은 : org.eclipse.debug.core 플러그인이 설치되어 있는지 테스트하고 현재의 선택이 IResource 또는 실행 가능한 개체 중 하나에 적용 할 수있다

 <enablement> 
     <or> 
      <and> 
       <not> 
       <with 
         variable="org.eclipse.core.runtime.Platform"> 
        <test 
          args="org.eclipse.debug.core" 
          property="org.eclipse.core.runtime.bundleState" 
          value="ACTIVE"> 
        </test> 
       </with> 
       </not> 
       <adapt 
        type="org.eclipse.core.resources.IResource"> 
       </adapt> 
      </and> 
      <and> 
       <with 
        variable="org.eclipse.core.runtime.Platform"> 
       <test 
         args="org.eclipse.debug.core" 
         property="org.eclipse.core.runtime.bundleState" 
         value="ACTIVE"> 
       </test> 
       </with> 
       <test 
        property="org.eclipse.debug.core.launchable" 
        value="run"> 
       </test> 
      </and> 
     </or> 
    </enablement> 

.

+0

감사합니다. greg-449, plugin.xml의 태그보기 기능을 추가했지만 '실행 파일'이 여전히 나타나지 않습니다. – Amrit

+0

<보기 이름 = "이타 탐색기" 아이콘 = "아이콘/sample.gif" 카테고리 = "SuitACore" 클래스 = "suitacore.views.SuitAExplorer" ID = "suitacore.views : 나는 그것을 잘못하고있을 수도 있습니다 .SuitAExplorer "> Amrit

+0

아니요,이 항목은 내가 추가 한 것이 아니며 Runment uses 사용법입니다. 따라서 IResource 또는 실행 가능 개체에 맞게 개체를 제공해야합니다. 실행되지 않으면 나타나지 않습니다. –