動作
各コントロールのイベント間でコントロール操作をスパゲッティ状にコーディングすることを避けるため、イベントを一元管理します。これにより、コントロール間の依存関係を排除することができます。
バージョン
API説明
EventManagerクラス
イベントを一元管理するクラスです。
パッケージ
COM.CURLAP.ADVANCED-UI.EVENTS
スーパークラス
なし
プロパティ
なし
メソッド
  register  (管理するイベントを登録) ※fromで指定したコントロールのイベントが発生した際、toのイベントを発生させることができます。
    引数1(from:EventTarget):fromコントロール
    引数2(from-event-class:ClassType):fromイベント
    引数3(to:EventTarget):toコントロール
    引数4(to-event-class):toイベント
   戻り値:int  *管理ID(EventManagerの中で一意)
  register-some-events  (管理するイベントを複数登録)
    引数1(from:EventTarget):fromコントロール
    引数2(from-event-class:ClassType):fromイベント
    引数3(to-events:{Array-of {Tuple2-of EventTarget, Event)}:toコントロールとイベント(複数)
   戻り値:{Array-of int}  *管理ID(EventManagerの中で一意)
  unregister (管理するイベントの解除)
    引数1(manage-id:int):解除する管理ID (管理IDは登録時に取得します。)
   戻り値:void 
  unregister-some-events (管理する複数イベントの解除)
    引数1(manage-ids:{Array-of int)}:解除する管理ID (管理IDは登録時に取得します。)
   戻り値:void 
  clear (すべての管理するイベントを解除)
   戻り値:void 
NotifyEventクラス
呼び出し元のコントロールやイベントをもつ通知Eventです。
パッケージ
COM.CURLAP.ADVANCED-UI.EVENTS
スーパークラス
Event
プロパティ
  subject:EventTarget  呼び出し元のコントロール
  subject-event-class:ClassType 呼び出し元のイベント
利用方法
EventManagerのインスタンスを生成し、registerメソッドに呼び出し元のコントロールとイベント、呼び出すコントロールとイベントを引数にセットし、実行します。これにより、呼び出し元のイベントが発生したと同時に、呼び出し先のイベントを起動します。
| {curl 6.0 applet} {import * from COM.CURLAP.ADVANCED-UI.EVENTS} {value     || to event.     let tf2:TextField =      || new EventManager and register.     {spaced-vbox 
 | 
RadioFrame(rf)の値が変わったら、TextField(tf1)とTextField(tf2)のNotifyEventが実行されます。また、TextField2の値を変化させた場合、TextField1のNotifyEventが実行されます。
サンプル
関連Curl標準API
 
		 日本語
 日本語 العربية
 العربية 简体中文
 简体中文 Nederlands
 Nederlands English
 English Français
 Français Deutsch
 Deutsch Italiano
 Italiano Português
 Português Русский
 Русский Español
 Español