OSDN Git Service

rename files & fix X.EventDispatcher.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 11_XClosure.js
similarity index 63%
rename from 0.6.x/js/01_core/10_XCallback.js
rename to 0.6.x/js/01_core/11_XClosure.js
index 781a255..c9338f1 100644 (file)
@@ -1,8 +1,3 @@
-\r
-// ------------------------------------------------------------------------- //\r
-// ------------ local variables -------------------------------------------- //\r
-// ------------------------------------------------------------------------- //\r
-\r
 var \r
        X_Callback_LIVE_LIST        = [],\r
 \r
@@ -19,33 +14,7 @@ var
        /** @const */\r
        X_Callback_FUNC_ONLY        = 3,\r
        /** @const */\r
-       X_Callback_THIS_FUNCNAME    = 4,\r
-\r
-       /** @const */\r
-       X_Callback_NONE             =  0,\r
-       /** @const */\r
-       X_Callback_UN_LISTEN        =  1,\r
-       /** @const */\r
-       X_Callback_STOP_PROPAGATION =  2,\r
-       /** @const */\r
-       X_Callback_STOP_NOW         =  4 | 2,  // 同一階層のリスナーのキャンセル(上位へもキャンセル)\r
-       /** @const */\r
-       X_Callback_PREVENT_DEFAULT  =  8,  // 結果動作のキャンセル,\r
-       /** @const */\r
-       X_Callback_CAPTURE_POINTER  = 16,\r
-       /** @const */\r
-       X_Callback_RELEASE_POINTER  = 32,\r
-       \r
-       /** @const */\r
-       X_Callback_SYS_CANCEL       = 64 | 4 | 2;\r
-\r
-\r
-\r
-/*\r
- * handleEvent という関数のメンバーを持つオブジェクト\r
- * @typedef {{ handleEvent : function }}\r
- */\r
-var listener;\r
+       X_Callback_THIS_FUNCNAME    = 4;\r
 \r
 /**\r
  * <p>クロージャに関するポリシーと再利用可能クロージャについて次の記事をご覧ください。\r
@@ -55,15 +24,6 @@ var listener;
  * X_Callback_create() で再利用可能なクロージャの作成。次のパターンで呼び出します。<br>\r
  * 最大で三つの引数を並べる一連のパターンは、 EventDispatcher.listen unlisten, listening や X.Timer.add, once でも使われますので、ここでよく目を通しておきます。\r
  * \r
- * <table>\r
- * <tr><th>this コンテキスト+関数<td>X_Callback_create( thisObject, func )<td>func.call( thisObject );\r
- * <tr><th>this コンテキスト+関数+追加引数<td>X_Callback_create( thisObject, func, [ arg1, ...args ] )<td>func.apply( thisObject, [ arg1, ...args ] );\r
- * <tr><th>listener オブジェクト<td>X_Callback_create( listener )<td>listener.handleEvent(); コールバックに関数でなく handleEvent 関数をメンバに持つオブジェクトを渡すのは NN4 からある javascript のお約束です。\r
- * <tr><th>listener オブジェクト+追加引数<td>X_Callback_create( listener, [ arg1, ...args ] )<td>listener.handleEvent.apply( listener, [ arg1, ...args ] );\r
- * <tr><th>関数<td>X_Callback_create( func )<td>特別な操作は不要なので再利用可能クロージャは作られません。func をそのまま利用します。\r
- * <tr><th>関数+引数<td>X_Callback_create( func, [ arg1, ...args ] )<td>func.apply( ?, [ arg1, ...args ] );\r
- * </table>\r
- * \r
  * <h5>再利用可能クロージャの破棄と再利用</h5>\r
  * X_Callback_correct() によってクロージャは回収され再利用に備えます。<br>\r
  * 実は、クロージャが束縛するのは、this コンテキストやコールバック関数といった、<strong>そのもの</strong>ではなく、それらを一定のルールで格納したハッシュです。<br>\r
@@ -94,7 +54,7 @@ var __CallbackHash__ =
        name : undefined,\r
        /**\r
         * コールバックの this コンテキスト。 \r
-        * @type {listener|object|undefined}\r
+        * @type {object|undefined}\r
         */\r
        context : undefined,\r
        /**\r
@@ -109,49 +69,6 @@ var __CallbackHash__ =
        proxy : X_Callback_proxyCallback\r
 };\r
 \r
-/**\r
- * X.Timer と X.EventDispatcher からのコールバックの返り値を定義。\r
- * @namespace X.Callback\r
- */\r
-X[ 'Callback' ] = {\r
-       /**\r
-        * このコールバックでは返り値による操作は無い。\r
-        * @alias X.Callback.NONE\r
-        */\r
-       'NONE'             : X_Callback_NONE,\r
-       /**\r
-        * X.Timer, X.EventDispatcher のコールバックでタイマーやイベントリスナの解除に使用。\r
-        * @alias X.Callback.UN_LISTEN\r
-        */\r
-       'UN_LISTEN'        : X_Callback_UN_LISTEN,\r
-       /**\r
-        * 上位階層へのイベント伝播のキャンセル。DOM イベントのコールバックの戻り値に指定すると e.stopPropagation() が呼ばれる。\r
-        * @alias X.Callback.STOP_PROPAGATION\r
-        */\r
-       'STOP_PROPAGATION' : X_Callback_STOP_PROPAGATION,\r
-       /**\r
-        * 以降のイベントのディスパッチを中断する。STOP_PROPAGATION との違いは、次に控えているコールバックもキャンセルされる点。但し system によって追加されたイベントはキャンセルされない。\r
-        * @alias X.Callback.STOP_NOW\r
-        */\r
-       'STOP_NOW'         : X_Callback_STOP_NOW,\r
-       /**\r
-        * DOM イベントのコールバックの戻り値に指定すると e.preventDefault() が呼ばれる。\r
-        * またフレームワーク内で定義されたデフォルト動作の回避にも使用される。\r
-        * @alias X.Callback.PREVENT_DEFAULT\r
-        */\r
-       'PREVENT_DEFAULT'  : X_Callback_PREVENT_DEFAULT,\r
-       /**\r
-        * X.UI の uinode でポインターイベントの戻り値に指定すると、以降のポインターベントを独占する。\r
-        * @alias X.Callback.CAPTURE_POINTER\r
-        */\r
-       'CAPTURE_POINTER'  : X_Callback_CAPTURE_POINTER,\r
-       /**\r
-        * X.UI の uinode でポインターイベントの戻り値に指定すると、以降のポインターベントを独占を解除する。\r
-        * @alias X.Callback.RELEASE_POINTER\r
-        */\r
-       'RELEASE_POINTER'  : X_Callback_RELEASE_POINTER\r
-};\r
-\r
 // ------------------------------------------------------------------------- //\r
 // --- implements ---------------------------------------------------------- //\r
 // ------------------------------------------------------------------------- //\r
@@ -269,8 +186,8 @@ function X_Callback_proxyCallback( xfunc, _args ){
                        funcName = funcName || 'handleEvent';\r
                        temp = thisObj[ funcName ];\r
                        if( X_Type_isFunction( temp ) ){\r
-                               return args.length === 0 ? thisObj[ 'handleEvent' ]() :\r
-                                          args.length === 1 ? thisObj[ 'handleEvent' ]( args[ 0 ] ) : temp.apply( thisObj, args );\r
+                               return args.length === 0 ? thisObj[ funcName ]() :\r
+                                          args.length === 1 ? thisObj[ funcName ]( args[ 0 ] ) : temp.apply( thisObj, args );\r
                        };\r
                        break;\r
                        /*\r
@@ -318,13 +235,4 @@ function X_Callback_monitor(){
 };\r
 function X_Callback_gc(){\r
        X_Callback_POOL_LIST.length = 0; // ?\r
-};\r
-\r
-X_TEMP.onSystemReady.push( function( sys ){\r
-       sys.monitor( X_Callback_monitor );\r
-       sys.gc( X_Callback_gc );\r
-});\r
-\r
-\r
-console.log( 'X.Core.Callback' );\r
-\r
+};
\ No newline at end of file