08-03-2011, 07:44 PM,
|
|||||
|
|||||
Sonntag で別画面(Screen)のイベントを呼ぶ
Sonntag は ある画面(ScreenAとする)で起きるイベント等のロジックは、そのScreenA に関連付けられた Command を呼び出すことで実行できますよね。
しかし、画面を越えてイベントを起こしたい場合はどうすればよいのでしょうか。 たとえば、ScreenA とScreenB がともにScreenX のタブコンテナの中に入っている子オブジェクトだとして、 「ScreenX を閉じる」というイベントが起きたときに、ScreenA とScreenB の値が保存されているか確認して終了処理をしたい、 と言うような場合です。 もちろん、子オブジェクトのインスタンスを保持すれば可能なことは理解できていますが、 直接的な関連付けになるため、あまり気持ちのいい実装と思えません。 あるスクリーンのイベントと、別スクリーンのイベントを関連付ける良い方法はありますでしょうか。 |
|||||
08-03-2011, 07:54 PM,
|
|||||
|
|||||
RE: Sonntag で別画面(Screen)のイベントを呼ぶ
Sonntag には EventBus という機能があり、スクリーン間の関連付けを担ってくれます。
ヘルプに情報があまりないので見過ごされがちですが、非常に強力な機能を提供してくれます。 Sonntagフレームワークには、イベントバス(EventBus)というトポロジーが存在し、 Sonntag のScreen でインスタンス化したものは、自動的にこのEventBus に関連付けられます。 あるスクリーンからこの EventBus にメッセージを投げると、EventBus は関連付けられているScreenすべてにそのメッセージをブロードキャストします。 イベントを起こしたいScreenにあらかじめどんなメッセージがきたらどんなイベントを起こすかを記述しておけば、 キャストされたメッセージを受け取ったタイミングで、その処理が実行される、と言う形になります。 下記サイトに記事を投稿しました。 参考にしてください ■Sonntag のEventBus について http://developers.curlap.com/re-referenc...tbus-.html |
|||||
08-04-2011, 02:47 AM,
|
|||||
|
|||||
RE: Sonntag で別画面(Screen)のイベントを呼ぶ
(08-03-2011, 07:54 PM)umemura Wrote: An English version of Sonntag-Event-Bus is now also at http://developers.curl.com/docs/DOC-1746 (08-03-2011, 07:54 PM)umemura Wrote: The same is attached below.
Robert Shiplett, Curlr
Fredericton NB Canada |
|||||
« Next Oldest | Next Newest »
|
Possibly Related Threads... | |||||
Thread | Author | Replies | Views | Last Post | |
Sonntag MVC without strings or name | RobertShiplett | 3 | 4,726 |
08-09-2011, 01:12 AM Last Post: RobertShiplett |
|
Sonntag でCommand を呼び出す | umemura | 4 | 4,128 |
08-02-2011, 09:24 AM Last Post: fukuta |
Users browsing this thread:
3 Guest(s)
3 Guest(s)