デコレータ拡張ポイントを使用できますorg.eclipse.ui.decorators
。これを plugin.xml に追加します。
<extension
point="org.eclipse.ui.decorators">
<decorator
adaptable="true"
class="MyDecoratorClass"
id="some.id.for.decorator"
label="Active Build Configuration Decorator"
lightweight="true"
location="BOTTOM_RIGHT"
state="false">
<enablement>
<and>
<objectClass
name="org.eclipse.core.resources.IResource">
</objectClass>
<or>
<objectClass
name="org.eclipse.core.resources.IProject">
</objectClass>
<objectClass
name="org.eclipse.core.resources.IFile">
</objectClass>
</or>
</and>
</enablement>
</decorator>
</extension>
MyDecoratorClass
プロジェクトのアクティブな構成を確認し、テキストまたは画像を追加するために、(または選択した任意の名前) に実装を提供します。おそらく次のようなものがあります:[]
最新の変更をデコレートできるようにデコレーターを更新する必要がある変更をユーザーが行うたびに、次のように使用できます。
// the resource whose properties changed and needs to be re-decorated
IResource resource = ...;
IDecoratorManager manager = PlatformUI.getWorkbench().getDecoratorManager();
IBaseLabelProvider decorator = manager.getBaseLabelProvider("id.of.my.decorator");
if (decorator != null)
((ILabelProviderListener) manager).labelProviderChanged(new LabelProviderChangedEvent(decorator, resource));