[akabana-user:177] <報告>yui-frameworksβ1でイベントハンドラ登録できないコンポーネント

nobu [E-MAIL ADDRESS DELETED]
2008年 9月 26日 (金) 15:59:44 JST


近藤(nobu)です。

yui-frameworksのソースを呼んでいて気づいた点がありましたので
報告です。

yui-frameworksではXxxActionクラスにViewのidに対応したイベント
ハンドラを記述することでイベント処理を実行していますが、一部
対応できていないコンポーネントがありました。RadioButtonGroup
コンポーネントです。
#以前調査をしていたので気づきました。他にもあるかもしれません。

yui-frameworksでViewとActionに記述されているイベントハンドラの
関連付け方法はorg.seasar.akabana.yui.framework.customizer.
EventHandlerCustmizer#doCustomizerで引数のViewからgetChildAt
でView上のコンポーネントを取得していると思います。(51行目)
ただ、getChildAt、numChildrenで取得できる情報はコンテナ上の
DisplayObject及びDisplayObjectのサブクラスを取得していると
思うのですが、問題のRadioButtonGroupはDisplayObjectのサブクラス
ではない為、取得する事ができません。
#RadioButtonGroupはEventDispatcherのサブクラス

この対応として、私の方ではgetChildAtではなくflash.utils.
describeTypeメソッドでViewのObjectをXMLで解析するという手法
を使いました。

RadioButtonGroupは、RadioButtonの選択がされたかどうかをChange
イベントで取得している方も多いと思いましたので報告させていただ
きました。

ご確認のほど、よろしくお願い致します。また既に対応方法の検討中、
対応済でしたらすみません。


akabana-user メーリングリストの案内