Revision 1 as of 2011-12-02 06:52:25

Clear message
Locked History Actions

GWT/GWTP/NestedPresenter

ネステッドプレゼンタの作成

ネステッドプレゼンタとは、プレゼンタの中に別のプレゼンタ(これを仮に子プレゼンタと呼ぶ)を表示することである(実際には、Viewの中に別のView)。 これにより、親プレゼンタの左側に固定メニューを表示し、右側に子プレゼンタ用の領域を設け、子プレゼンタを切り替えるといった表示が可能になる。

もちろん同じ効果は、右側コンテンツ表示として、DeckLayoutPanelを使って切り替えることでも可能だが、 しかしこの場合、その中身は「Place」として認識されないので、ブラウザのバック・フォワードボタンでの制御はできないし、ブックマークもできない。 それらを行いたい場合はネステッドプレゼンタとする必要がある。

概要

概要としては以下のとおり。

  • ネステッドプレゼンタはplaceであるので、それ自身のplace名称(NameToken)を持ち、ブラウザ側でその表示が指示可能になる。

  • このとき、ネステッドプレゼンタが呼び出されるが、表示時には、親となるプレゼンタへイベントを発行する。
  • 親プレゼンタはイベントから取得した子プレゼンタ(のView)を自身の中に組み込んで、自身を表示する。

ということらしい。つまり、見かけとしては親がその中身となる子を切り替えるように見えるが、仕組みとしては、 まず子の表示が指示され、子は親に依頼して表示を行うということになる。