1

Eclipse RCP ViewPart で JFace TreeViewer オブジェクトを使用しています。いくつかのノードのラベルに画像を使用して追加情報を追加したいと考えています。

基本的に、画像はラベル テキストの右側に配置し、評価を表す必要があります (1 ~ 5 つ星を考えています)。

これを行う方法がある場合、私はそれを見つけることができません.誰かが知っていますか?

そうでない場合、Subclipse のような他のプラグインを使用しているときに、Eclipse パッケージ エクスプローラーが異なる色の追加情報を表示する方法を知っている人はいますか? やむを得ない場合は、それと「*」文字を使用できますか? (私はソースを見ようとしましたが、それは非常に抽象的で、現時点では私を少し超えているので、誰かが手に負えないことを知っているかどうか尋ねているだけです.

よろしく、

グレン

バツ

4

2 に答える 2

1

PackageExplorer または独自の TreeViewer を使用していますか?

1.PackageExplorer : ui デコレータを拡張する必要があります。

<extension point="org.eclipse.ui.decorators">
    <decorator
    adaptable="true"
    class="org.example.com.PackageExplorerDecorator"
    id="org.example.filedecorator"
    label="File Decorator"
    lightweight="true"
    state="true">
 <enablement>
    <or>
       <objectClass
             name="org.eclipse.jdt.core.IMethod">
       </objectClass>
       <objectClass
             name="org.eclipse.core.resources.IResource">
       </objectClass>
    </or>
 </enablement>

クラスは次のようになります。

public class PackageExplorerDecorator extends LabelProvider implements ILightweightLabelDecorator {

    @Override
    public void decorate(final Object resource, final IDecoration decoration) {
       decoration.addSuffix(..)
       decoration.addPrefix(..)
    }
}

2. TreeViewer:カスタム ウィジェットを作成するか、複数の列を持つ TreeViewer を作成することができます (最初はツリー用、2 番目は星用)。

これこれはあなたにとって役に立つかもしれません。

于 2012-04-30T16:06:53.870 に答える
1

SWT.MeasureItemおよびSWT.PaintItemリスナーをツリーに追加することで、ツリー項目をカスタム描画できます。このチュートリアルの例 5 を確認してください。

選択範囲のハイライトを拡張領域に描画するには、SWT.EraseItemリスナーと updateも追加しevent.widthます。

于 2012-05-02T06:53:55.250 に答える