[uruma-dev:231] Re: Urumaのドラック&ドロップについて

KOMORI Yusuke [E-MAIL ADDRESS DELETED]
2008年 6月 6日 (金) 00:59:16 JST


広瀬さん

 こんばんは、小森です。

 ありがとうございます!
 ソースコード拝見しました。

>  1、org/seasar/uruma/annotation/EventListenerType.java
>    の列挙にドラック(DRAG)とドロップ(DROP)を追加。

 よいと思います。
 ただ、あとでドキュメント化するときに忘れてしまいそうなので、
EventListenerType の中に JavaDoc ドキュメントを簡単に入れて
おいていただけると助かります。

>  2、org/seasar/uruma/binding/method/
>    にドラック用リスナーとドロップ用リスナーを追加。

 DragListener のほうで悩みましたが、結論としてこれでよいと
思います。
 ウィジットのクラスごとにリフレクションでメソッドを振り分け
ているところです。
 対応するウィジットは今後増やす可能性がありますよね?
 だとしたら、現状これがベストかと思いました。

#対応ウィジットが固定ならif文の判定で良いし、逆にもっと多い
ならきちんとウィジットの種類ごとにクラス分けした方が良いかな、
なんて思ったのですが、現状が必要十分でコンパクトにまとまって
いるので、これでよいかと。

>  3、org/seasar/uruma/binding/method/impl/WidgetListenerBinder.java、
>    org/seasar/uruma/binding/method/impl/ViewerListenerBinder.java
>    に1で追加した列挙だったらの条件文を追加しリスナーを有効にする。

 それぞれのクラスに同じ処理が入ってしまっていますね。
 細かいですが、時間がたったり他の人が直したりするときに修正
漏れが発生したりするので、スーパークラスの
AbstractListenerBinder へ共通メソッドとして括りだして、
WidgetListenerBinder、ViewerListenerBinderから呼び出すように
してはどうでしょうか。

 あと、全般的にJavaDoc ドキュメントは「ですます」調で統一を
お願いします。一部「である」調になっているところがありました
ので。

 それでは、よろしくお願いします!

On Thu, 5 Jun 2008 09:01:14 +0900, (株) JINS 広瀬 茂樹 <[E-MAIL ADDRESS DELETED]> wrote:

> 小森さん
> 
>  広瀬です。
> 
> 手順としては
> 
>  1、org/seasar/uruma/annotation/EventListenerType.java
>    の列挙にドラック(DRAG)とドロップ(DROP)を追加。
> 
>  2、org/seasar/uruma/binding/method/
>    にドラック用リスナーとドロップ用リスナーを追加。
> 
>  3、org/seasar/uruma/binding/method/impl/WidgetListenerBinder.java、
>    org/seasar/uruma/binding/method/impl/ViewerListenerBinder.java
>    に1で追加した列挙だったらの条件文を追加しリスナーを有効にする。
> 
> 上の様な感じです。
> 
> DragListener、DropListener、ViewerListenerBinder、WidgetListenerBinderを添付しておきます。
> 
> 問題点、修正点等あれば教えてください。
> 
> ----- Original Message ----- 
> From: "KOMORI Yusuke" <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Sent: Wednesday, June 04, 2008 11:22 PM
> Subject: [uruma-dev:229] Re: Urumaのドラック&ドロップについて
> 
> 
> > 広瀬さん
> >
> >  こんばんは、小森です。
> >
> >  ドラッグ&ドロップは、まったく未テスト状態でした。(^^;
> >  ありがとうございます!
> >  いいですね、ぜひ組み込みましょう!
> >
> >> DragSourceListener#dragStart
> >> に invokeMethod(Object event) を記述したところ、うまくいきました。
> >
> >  Uruma のどのあたりに組み込む感じになるのでしょう?
> >  もうちょっと詳しく教えていただけないでしょうか。
> >
> > On Tue, 3 Jun 2008 16:17:47 +0900, (株) JINS 広瀬 茂樹 
> > <[E-MAIL ADDRESS DELETED]> wrote:
> >
> >> 広瀬です。
> >>
> >> 自己解決しました。
> >>
> >> DragSourceListener#dragStart
> >> に invokeMethod(Object event) を記述したところ、うまくいきました。
> >>
> >> DRAG_DETECTと違ってWidget同士(TextとTextやTableとTree)でもできるようにしたので、Urumaに組み込んでみるのはどうでしょうか?
> >>
> >> バグもあると思いますが・・・。
> >>
> >> 参考までにSSを添付しときます。
> >>
> >> 以上です。
> >>   ----- Original Message ----- 
> >>   From: (株) JINS 広瀬 茂樹
> >>   To: Urumaメーリングリスト
> >>   Sent: Tuesday, June 03, 2008 10:04 AM
> >>   Subject: [uruma-dev:227]Urumaのドラック&ドロップについて
> >>
> >>
> >>   広瀬です。
> >>
> >>   現在Urumaでドラック&ドロップを使用しないといけない状態になっています。
> >>
> >>   現在Urumaで実装されているDRAG_DETECTが該当するのかと思ってやってみたんですがいまいち使い勝手がよくなく(使い方がよくわからなかったってのもあります。)、SWTのドラック&ドロップを真似て作ってみました。
> >>
> >>   で、毎回Listener作ってwidgetにaddしてとかめんどくさかったので、Urumaに組み込もうと思いました。
> >>
> >>   実際動作はしたのですが、ドラックしたときにイベントが発生しない(@EventListenerのメソッドが動作しない)のですが、何故でしょう?
> >>
> >>   ドロップ時には@EventListenerのメソッドが動作しています。
> >>
> >>   @EventListenerのメソッドを動作させるためにはどうしたらいいんでしょうか? 
> >> 
> >>
> >>
> >> ------------------------------------------------------------------------------
> >>
> >>
> >>   _______________________________________________
> >>   uruma-dev mailing list
> >>   [E-MAIL ADDRESS DELETED]
> >>   https://ml.seasar.org/mailman/listinfo/uruma-dev
> >
> > ----------------------------------------------
> > 小森 裕介 / Yusuke Komori
> >
> >  E-Mail : [E-MAIL ADDRESS DELETED]
> >    Blog : http://d.hatena.ne.jp/y-komori/
> >     URL : http://www.littleforest.jp/
> >
> > _______________________________________________
> > uruma-dev mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/uruma-dev
> > 

----------------------------------------------
 小森 裕介 / Yusuke Komori

  E-Mail : [E-MAIL ADDRESS DELETED]
    Blog : http://d.hatena.ne.jp/y-komori/
     URL : http://www.littleforest.jp/



uruma-dev メーリングリストの案内