0

ユーザーが独自のタイプのプロジェクトを作成できるようにするEclipse用のプラグインを作成しました。プロジェクトのテンプレートにはいくつかの構成ファイルがあり、アクティブにするものを選択するオプションをユーザーに提供したいと思います。つまり、どれを使用するかということです。プロジェクトをコンパイルするときに、このファイルのアクションを追加して、ユーザーがアクティブに設定できるようにします。私の質問は、パッケージエクスプローラーでアクティブとしてマークする方法があるかどうかです(おそらく境界線のある太字のar)。ユーザーはこれを見て、どれが現在アクティブであるかを知ることができます

ありがとう

4

1 に答える 1

1

デコレータ拡張ポイントを使用できます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));
于 2013-01-10T14:11:37.020 に答える