2016-05-21 3 views
1

RAPアプリケーションで複数のバッジを取得しようとすると、多くの問題が発生しました。 バッジがRAPで、このような同じように適用されます:RAP/RWTでのバッジのスタイル方法

someButton.setData(RWT.BADGE, "badge colored red"); 

私もバッジの場所を設定するが、位置のためのバッジのCSSのサポートがないことを下回る注意したいと思います。 RAP状態の

制限:

バッジの外観を調整するために(上記参照)、「ウィジェット・バッジ」要素を使用することができます。現在、フォント、色、背景色、境界線、境界線のプロパティをサポートしています。

私は、パッケージdefault.cssに入ったとしてウィジェット・バッジをカスタマイズした:

Widget-Badge { 
    background-color: #dd0000; 
    border: none; 
    border-radius: 10px; 
    font: 10px Verdana, "Lucida Sans", Arial, Helvetica, sans-serif; 
    color: #ffffff; 
    border-top: 12px solid blue; 
    border-left: 12px solid transparent; 
} 

常に表示してオフセットするように設定ツールチップのもう一つの試みが、ツールチップの背景を得るように見えることはできません(私はカスタムバリアントを作成する必要があります)透明にする:

Button.setToolTipText("<span style='background-color: #dd0000;border: none;border-radius: 10px;font: 10px Verdana, Arial, Helvetica, sans-serif;border-top: 0px solid transparent;border-left: 12px solid blue;'>"+00+"</span>"); 

私は違うスタイルでバッジを描くためにクリッピング領域にペイントイベントを検討しているが、コード変更の多くを必要とします。

---- EDIT 1 ---- 正確な出力が得られません。

私が調査しています:

static void setTestId(Widget widget, String value) { 
    if(uiTestsEnabled && !widget.isDisposed()) { 
    String $el = widget instanceof Text ? "$input" : "$el"; 
    String id = WidgetUtil.getId(widget); 
    exec("rap.getObject('", id, "').", $el, ".attr('test-id', '", value + "');"); 
    } 
} 

private static void exec(String... strings) { 
    StringBuilder builder = new StringBuilder(); 
    builder.append("try{"); 
    for(String str : strings) { 
    builder.append(str); 
    } 
    builder.append("}catch(e){}"); 
    JavaScriptExecutor executor = RWT.getClient().getService(JavaScriptExecutor.class); 
    executor.execute(builder.toString()); 
} 

を、私はとらえどころのないRAPを得ることができるかどうかを確認するために私はポストレンダリングCSS操作を行うことができます表示するには、「DOMレベルで表示されていないIDを生成」。

私はまたに見えた:

button.setData(SWT.SKIN_ID, "customID"); 

が、それは仕事を得るように見えることができませんでした。

答えて

0

バッジの位置を制御することは便利な機能のように思えますが、file an enhancement requestを使ってRAPのメンテナが何を考えるか分かります。

バッジの配置が欠落している可能性のある別の回避策は、ControlDecorationです。

コントロールの隣に配置する必要がある任意のイメージを割り当てることができます。 SWT.TOP,SWT.BOTTOM,SWT.LEFT,SWT.RIGHT,SWT.CENTERの組み合わせを使用して配置を指定することができます。あなたはおそらく、その場で適切な画像を作成して数字をレンダリングする必要があります。

ControlDecorationのもう1つの違いは、ControlDecorationがコントロールの横に配置され、その上部に部分的に配置されていないことです。

+0

最新のビルドのように、他の依存関係といくつかの不一致があります。 – Elysiumplain

関連する問題