2012-04-27 1 views
2

PackageExplorerViewのすべてのツールバーと機能をeclipse RCPアプリケーションに追加するにはどうすればよいですか?私はPackageExplorerビューIDを使用してPackageExplorerビューを表示しました。これは、rcpアプリケーションのビューを表示しています。しかし、PackageExplorerビューでプロジェクトを作成した後、作成されたプロジェクトのプロジェクトアイコンは表示されません。この問題を解決するには?プロジェクトエクスプローラビューとその機能をRCPに表示

+0

[パッケージエクスプローラをRCPアプリケーションに追加するとアイコンが失われる可能性があります](http://stackoverflow.com/q/8277902/150166)。 –

答えて

4

これはEclipse RCPアプリケーションの既知の問題です。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=234252

周りの仕事はあなたのApplicationWorkbenchAdvisor.java

にいくつかのコードを追加することですここでは、この問題について、いくつかのより多くのドキュメントが、私はこのコードを追加しましRCP

http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/cnf_rcp.htm

にあります私の初期化メソッドを使用して、プロジェクトエクスプローラでイメージを表示させるため、パッケージエクスプローラに追加するイメージを正確に追跡する必要があります画像はこれらとは異なります。

public void initialize(IWorkbenchConfigurer configurer) { 
    super.initialize(configurer); 

    // here's some of my code that does some typical RCP type configuration 
    configurer.setSaveAndRestore(true); 
    PlatformUI.getPreferenceStore().setValue(
      IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false); 

    // here is the work around code 
    /* 
    * This is a hack to get Project tree icons to show up in the Project Explorer. 
    * It is descriped in the Eclipse Help Documents here. 
    * 
    * http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/cnf_rcp.htm 
    * 
    */ 

    IDE.registerAdapters(); 

    final String ICONS_PATH = "icons/full/"; 

    Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH); 

    declareWorkbenchImage(
      configurer, 
      ideBundle, 
      IDE.SharedImages.IMG_OBJ_PROJECT, 
      ICONS_PATH + "obj16/prj_obj.gif", 
      true); 

    declareWorkbenchImage(
      configurer, 
      ideBundle, 
      IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, 
      ICONS_PATH + "obj16/cprj_obj.gif", 
      true); 


    /* 
    * End of hack in this method... 
    */ 
} 

private void declareWorkbenchImage(IWorkbenchConfigurer configurer_p, Bundle ideBundle, String symbolicName, String path, boolean shared) 
{ 
    URL url = ideBundle.getEntry(path); 
    ImageDescriptor desc = ImageDescriptor.createFromURL(url); 
    configurer_p.declareImage(symbolicName, desc, shared); 
} 

希望します。

ありがとうございます!

関連する問題