为SWT应用程序中的导入项目设置不同的图标

时间:2017-07-18 11:06:51

标签: eclipse eclipse-rcp eclipse-mars

我有一个Eclipse RCP应用程序,我可以在其中创建自定义项目(如Eclipse中的Java项目)。

现在我的情况是,应用程序的用户也可以从其他位置(例如从网络)导入现有项目,他们希望通过不同的图标区分工作区中的本地和导入项目。

通过为项目设置自定义性质来设置当前项目图标。性质在plugin.xml中定义:

 <extension
   id="ProjectNature"
   name="Project Nature"
   point="org.eclipse.core.resources.natures">
<runtime>
   <run
         class="myPackage.CustomProjectNature">
   </run>
</runtime>
</extension>
<extension point="org.eclipse.ui.ide.projectNatureImages">
  <image
  id="ProjectNature.image"
  natureId="myPackage.CustomProjectNature"
 icon="icons/projectIcon.gif">
</image>
</extension>

使用wizzard创建新项目时,设置了性质:

final IProjectDescription description = p_projectHandle.getDescription();
final String[] natures = description.getNatureIds();
final String[] newNatures = new String[natures.length + 1];
System.arraycopy(natures, 0, newNatures, 0, natures.length);
newNatures[natures.length] = CustomProjectNature.NATURE_ID;
description.setNatureIds(newNatures);
p_projectHandle.setDescription(description, null);

导入相同的图标时设置。

有没有办法为其他位置的导入项目设置不同的图标?

0 个答案:

没有答案