0

UiBinder で宣言されたウィジェットがあります。このウィジェットのインスタンスは、さまざまなビューを構築するためのアプリケーションで広く使用されています。私の仕事は、いくつかのパネルを並べ替える必要がある新しいビューを実装することです。

<g:FlowPanel ui:field="text" styleName="...">
...
<g:FlowPanel>

<g:FlowPanel ui:field="images" styleName="...">
...
</g:FlowPanel>

特定のサンプル構造では、新しいカスタム ビューのテキストの上に画像を配置する必要があります。ウィジェットのコードを複製したくありません。スタイルは既にここにあり、この構造に依存する他のコードがあるため、パネルをダミーコンテナーに置き換えてから、コードでそのコンテナーに追加したくありません。

問題を解決するために私が今行っていることは、これら 2 つのパネルをコンテナー FlowPanel で UiBinder にラップし (これは今のところ無害です)、コンテキストに応じて、コードで次のようなことを行います。

if (isSwapRequired) {
   images.removeFromParent();
   container.insert(images, 0);
}

問題は、並べ替えを行うためのよりエレガントな方法があるか、それとも与えられたアプローチで十分かということです。

ありがとう。

4

2 に答える 2

0

ビューのいくつかの実装を使用し、プレゼンターがインターフェイスを介してそれらと通信することをお勧めします。

于 2013-03-18T19:41:24.027 に答える
0

既存の単純なソリューションを使用して終了しました。

于 2013-04-24T00:48:03.513 に答える