OSDN Git Service

version 0.5.1 bugfix.
authoritozyun <itozyun@gmail.com>
Sun, 29 Jul 2012 13:09:19 +0000 (22:09 +0900)
committeritozyun <itozyun@gmail.com>
Sun, 29 Jul 2012 13:09:19 +0000 (22:09 +0900)
0.5.x/javascripts/peta.apps.js
0.5.x/javascripts/peta.common.js
0.5.x/javascripts/system.js

index b475b15..842a73a 100644 (file)
        FileAPI.createFolderUnderRoot( FILE_DATA_SERVICE_ROOT );
 
        Driver.isPettanrFileInstance = function( _file ){
-               if( FileAPI.isFileInstance( _file ) === true){
-                       var _data = FileAPI.getFileData( _file);
+               if( FileAPI.isFileInstance( _file ) === true ){
+                       var _data = FileAPI.getFileData( _file.getUID() );// _file でなく  _file.getUID()
                        return _data !== null && _data.driver === Driver;
                }
                return false;
@@ -884,7 +884,7 @@ var TextEditor = gOS.registerApplication( function(){
                self = this;
        
        function clickOK(){
-               textElement && textElement.text( elmTextarea.val() );
+               textElement && textElement.text( elmTextarea.value );
                self.addAsyncCall( asyncCallback );
        }
        
@@ -3975,7 +3975,7 @@ var Editor = gOS.registerApplication( function(){
                var panelW, panelH,
                        borderSize,
                        fileData, panelElements, panelElm;
-               
+
                if( FileAPI.isFileInstance( _file ) === true ){
                        if( Driver.isPettanrFileInstance( _file ) === true ){
                                if( _file.getType() === FILE_TYPE.COMIC ){
@@ -3993,21 +3993,10 @@ var Editor = gOS.registerApplication( function(){
                                        comicID       = fileData.comic ? fileData.comic.id || -1 : -1;
                                        panelID       = fileData.id || -1;
                                        panelTimming  = fileData.t  || -1;
-                                       if( Type.isArray( panelElements ) === true ){
-                                               for( var i=0; i<panelElements.length; ++i ){
-                                                       panelElm = panelElements[ i ];
-                                                       if( panelElm.resource_picture ){
-                                                               PANEL_ELEMENT_CONTROL.createImageElement( panelElm );
-                                                       } else
-                                                       if( panelElm.balloon_template_id ){
-                                                               PANEL_ELEMENT_CONTROL.createTextElement( panelElm );
-                                                       };
-                                               };
-                                       };
                                };
                        } else {
-                               
                        };
+               } else {
                };
                
                HISTORY_CONTROL.open();
@@ -4027,11 +4016,24 @@ var Editor = gOS.registerApplication( function(){
                windowH = _h;
                self.onPaneResize( _w, _h );
                
+
+               if( Type.isArray( panelElements ) === true ){
+                       for( var i=0; i<panelElements.length; ++i ){
+                               panelElm = panelElements[ i ];
+                               if( panelElm.resource_picture ){
+                                       PANEL_ELEMENT_CONTROL.createImageElement( panelElm );
+                               } else
+                               if( panelElm.balloon_template_id ){
+                                       PANEL_ELEMENT_CONTROL.createTextElement( panelElm );
+                               };
+                       };
+               };
+               
        /*
         * centering
         */
                self.addKeyEventListener( 'keydown', centering, 96, false, true );      // ctrl + 0
-               self.addKeyEventListener( 'krydown, centering', 48, false, true );      // ctrl + 0
+               self.addKeyEventListener( 'krydown', centering, 48, false, true );      // ctrl + 0
                MENU_BAR_CONTROL.EDIT.createOption( 'centering', 'ctrl + 0', centering, true, true, true);
        /*
         * jqMouseEventChacher は透明な要素で、
index 9cbafb6..9bc5f04 100644 (file)
@@ -147,13 +147,18 @@ pettanr.balloon = ( function() {
                                        ret.appendChild( shape);\r
                                } else {\r
                                        var kSVGNS = 'http://www.w3.org/2000/svg';\r
+                                       // http://modernizr.com/downloads/modernizr.js\r
+                                       // Thanks to Erik Dahlstrom\r
+                                       if( !document.createElementNS || !document.createElementNS(kSVGNS, 'svg').createSVGRect ){\r
+                                               return null;\r
+                                       };\r
                                        ret = document.createElementNS( kSVGNS, 'svg');\r
                                        var path = document.createElementNS( kSVGNS, 'path');\r
                                        path.setAttribute( 'fill', "white");\r
                                        path.setAttribute( 'stroke', "black");\r
                                        path.setAttribute( 'strokeWidth', STROKE_WIDTH);\r
-                                       ret.appendChild( path);\r
-                               }\r
+                                       ret.appendChild( path );\r
+                               };\r
                                return ret;     \r
                        } catch( e){\r
                                return null;\r
@@ -215,8 +220,8 @@ pettanr.balloon = ( function() {
                                        startY  = _startY;\r
                                        endX    = _endX;\r
                                        endY    = _endY;\r
-                               }\r
-                       }\r
+                               };\r
+                       };\r
 \r
                /*\r
                 * \r
@@ -289,14 +294,6 @@ pettanr.balloon = ( function() {
                instance.resize( a, w, h );\r
        };\r
        \r
-       IS_VML === false && vectorEnabled === true && ( function(){\r
-               var detect = new XBROWSER_BALLOON_CLASS( 100, 100, 0 ),\r
-                       size = Util.getElementSize( detect.elm );\r
-               vectorEnabled = size.width !== 0 && size.height !== 0;\r
-               detect.destroy();\r
-               detect = size = null;\r
-       })();\r
-\r
        return {\r
            createBalloon: function( _w, _h, _a ){\r
                return new XBROWSER_BALLOON_CLASS( _w, _h, _a );\r
index b123e1f..eee65bf 100644 (file)
 ( function( window, undefined ){\r
        \r
        var doc            = window.document;\r
-       var body           = ( doc.compatMode || '' ) !== 'CSS1Compat' ? doc.body : doc.documentElement;// doc.getElementsByTagName( 'body' )[ 0 ]; //\r
+       var body           = doc.getElementsByTagName( 'body' )[ 0 ]; //( doc.compatMode || '' ) !== 'CSS1Compat' ? doc.body : doc.documentElement;// \r
        \r
        var SERVICE_LIST   = [];\r
        var SUPER_USER_KEY = { getUID: function(){ return 0; }};\r
@@ -979,35 +979,33 @@ var File = ( function(){
                        }\r
                        \r
                        var uid = Util.getIndex( FILEDATA_RESITER, FILEDATAorFILE );\r
-                       if( uid === -1){\r
+                       if( uid === -1 ){\r
                                uid = FILEDATA_RESITER.length;\r
                                FILEDATA_RESITER.push( FILEDATAorFILE );\r
                        }\r
                        return uid;\r
                },\r
                getFileDataAccess: function( UIDorFILEorFILEDATA ){\r
-                       var _uid, _data, _access;\r
-                       \r
-                       if( typeof UIDorFILEorFILEDATA === 'number' ){\r
-                               _data = FILEDATA_RESITER[ UIDorFILEorFILEDATA ] || null;\r
-                       } else\r
-                       if( UIDorFILEorFILEDATA instanceof FileClass ){\r
-                               _uid = UIDorFILEorFILEDATA.getUID();\r
-                               _data = FILEDATA_RESITER[ _uid ] || null;\r
-                       } else {\r
-                               _data = UIDorFILEorFILEDATA || null;\r
-                       }\r
-                       \r
+                       var _uid, _data = FILE_CONTROLER.getFileData( UIDorFILEorFILEDATA ), _access;\r
+\r
                        if( _data === null || typeof _data !== 'object' ) return null;\r
                        for( var i=0, l = FILEDATA_ACCESS.length; i<l; ++i ){\r
                                _access = FILEDATA_ACCESS[ i ];\r
                                if( _access.DATA === _data ) return _access;\r
-                       }\r
+                       };\r
                        return null;\r
                },      \r
                getFileData: function( UIDorFILEorFILEDATA ){\r
-                       var _access = FILE_CONTROLER.getFileDataAccess( UIDorFILEorFILEDATA );\r
-                       return _access !== null ? _access.DATA : null;\r
+                       if( typeof UIDorFILEorFILEDATA === 'number' ){\r
+                               return FILEDATA_RESITER[ UIDorFILEorFILEDATA ] || null;\r
+                       } else\r
+                       if( UIDorFILEorFILEDATA instanceof FileClass ){\r
+                               return FILEDATA_RESITER[ UIDorFILEorFILEDATA.getUID() ] || null;\r
+                       } else\r
+                       if( Util.getIndex( FILEDATA_RESITER, UIDorFILEorFILEDATA ) !== -1 ){\r
+                               return UIDorFILEorFILEDATA;\r
+                       }\r
+                       return null;\r
                },\r
                getChildren: function( UIDorFILEorFILEDATA ){\r
                        var _data = FILE_CONTROLER.getFileData( UIDorFILEorFILEDATA );\r
@@ -1142,14 +1140,14 @@ var File = ( function(){
                                var _currentFile = currentFile;\r
                                currentFile = null;\r
                                _currentFile.destroy();\r
-                       }\r
+                       };\r
                        if( typeof _index === 'number'){\r
                                if( _index >= l) return null;\r
                                currentFile = this.getParentFileAt( _index );\r
                                PARENT_FILE_RESITER.splice( 0, l -_index);\r
                        } else {\r
                                currentFile = PARENT_FILE_RESITER.shift();\r
-                       }\r
+                       };\r
                        currentFile.getSeqentialFiles();\r
                        return currentFile;     \r
                };\r
@@ -1241,7 +1239,7 @@ var File = ( function(){
                        return Type.isArray( children ) === true ? children.length : -1;\r
                },\r
                getChildFileIndex: function( _FILEorFILEDATA ){\r
-                       var children = FILE_CONTROLER.getChildren( this);\r
+                       var children = FILE_CONTROLER.getChildren( this );\r
                        if( Type.isArray( children ) === false ) return -1;\r
                        var l = children.length,\r
                                _fileData = FILE_CONTROLER.getFileData( _FILEorFILEDATA );\r
@@ -1628,11 +1626,11 @@ var AbstractBasicPane = function(){
        };\r
 }\r
 \r
-var AbstractApplication = function( appClass, isOverlay ){\r
+var AbstractApplication = function( displayName, appClass, isOverlay ){\r
        var self         = null, // init で設定\r
                uiList       = [],\r
                finderList   = [];\r
-       this.rootElement = doc.createElement( 'div' );\r
+       this.rootElement = document.createElement( 'div' );\r
        this.bgColor     = '#C1CACF';\r
        this.getUID = function(){\r
                return Util.getIndex( API_USER_LIST, appClass );\r
@@ -1665,7 +1663,7 @@ var AbstractApplication = function( appClass, isOverlay ){
        this.close = function(){\r
                if( self.onClose() === false ){\r
                        return false;\r
-               }\r
+               };\r
                MouseEvent.remove( self );\r
                KeyEvent.remove( self );\r
                SystemTimer.remove( self );\r
@@ -1772,7 +1770,7 @@ var Application = ( function(){
                        return Util.getIndex( API_USER_LIST, appClass );\r
                };\r
                this.boot = function( /* _option */ ){\r
-                       application = Application.boot( self.getUID(), appClass, isOverlay, Util.copyArray( arguments ) );\r
+                       application = Application.boot( displayName, self.getUID(), appClass, isOverlay, Util.copyArray( arguments ) );\r
                };\r
                this.shutdown = function(){\r
                        if( !application ) return false;\r
@@ -1810,13 +1808,13 @@ var Application = ( function(){
                isCurrentAppplication: function( _application ){\r
                        return true\r
                },\r
-               boot: function( uid, appClass, isOverlay, arg ){\r
+               boot: function( displayName, uid, appClass, isOverlay, arg ){\r
                        if( currentApplication ){\r
                                if( currentApplication.getUID() === uid ) return null;\r
                                if( isOverlay === false && currentApplication.close() === false ) return null;\r
                        }\r
-                       \r
-                       appClass.prototype = new AbstractApplication( appClass, isOverlay );\r
+\r
+                       appClass.prototype = new AbstractApplication( displayName, appClass, isOverlay );\r
                        var application = new appClass(); // new は boot で\r
                        \r
                        coveredApplication = isOverlay === true ? currentApplication : null;\r
@@ -2560,15 +2558,15 @@ var KeyEvent = ( function(){
                var cancel         = false,\r
                        type           = e.type,\r
                        key            = e.keyCode || e.charCode || e.which,\r
-                       shift          = e.shiftKey || e.modifiers & Event.SHIFT_MASK,\r
-                       ctrl           = e.ctrlKey  || e.modifiers & Event.CONTROL_MASK,\r
+                       shift          = Type.isBoolean( e.shiftKey ) === true ? e.shiftKey : ( e.modifiers & Event.SHIFT_MASK ),\r
+                       ctrl           = Type.isBoolean( e.ctrlKey  ) === true ? e.ctrlKey  : ( e.modifiers & Event.CONTROL_MASK ),\r
                        t;\r
 \r
                if( key === 16 || shift === true ){\r
                        KeyEvent.shiftEnabled = type !== 'keyup';\r
                }\r
                if( key === 17 || ctrl === true ){\r
-                       KeyEvent.ctrlEnabled = type !== 'keyup';\r
+                       KeyEvent.ctrlEnabled  = type !== 'keyup';\r
                }\r
 \r
                for( var i=currentList.length; t = currentList[ --i ]; ){\r
@@ -2737,7 +2735,16 @@ var Overlay = ( function(){
                Overlay.hide();\r
                return false;\r
        };\r
+       function asyncInit( /* arguments */ ){  \r
+               \r
+               //body.appendChild( application.rootElement );\r
+               elmContainer.insertBefore( application.rootElement, elmCloseButton );\r
+               application.init();\r
+               \r
+               \r
+       };\r
        function asyncOpen( /* arguments */ ){\r
+               \r
                var _arg = Util.copyArray( arguments );\r
                _arg.unshift( windowW, windowH );\r
                application.open.apply( application, _arg );\r
@@ -2762,19 +2769,23 @@ var Overlay = ( function(){
                        elmContainer = document.createElement( 'div' );\r
                        body.appendChild( elmContainer );\r
                        \r
+                       elmContainer.id = 'overlay-container';\r
+                       \r
                        bodyOverflow        = body.style.overflow;\r
                        body.style.overflow = 'hidden';\r
                        \r
-                       elmContainer.id = 'overlay-container';\r
-                       elmContainer.style.display = 'none'; // hide for fadeIn\r
-                       elmContainer.innerHTML = '<div id="overlay-shadow"></div><div id="overlay-close-button">x</div>';\r
+                       elmShadow = document.createElement( 'div' );\r
+                       elmContainer.appendChild( elmShadow );\r
+                       elmShadow.id = 'overlay-shadow';\r
                        \r
-                       elmShadow      = document.getElementById( 'overlay-shadow' );\r
-                       elmCloseButton = document.getElementById( 'overlay-close-button' );\r
+                       elmCloseButton  = document.createElement( 'div' );\r
+                       elmContainer.appendChild( elmCloseButton );\r
+                       elmCloseButton.id = 'overlay-close-button';\r
+                       elmCloseButton.appendChild( document.createTextNode( 'x' ) );\r
                        \r
-                       elmContainer.insertBefore( _application.rootElement, elmCloseButton );\r
-                       _application.init();\r
+                       elmContainer.style.display = 'none'; // hide for fadeIn\r
                        \r
+                       _application.addAsyncCall( asyncInit );\r
                        _application.addAsyncCall( asyncOpen, _bootParams );\r
                        \r
                        visible     = true;\r
@@ -2883,8 +2894,13 @@ var UI = ( function(){
                        elmA.style.display = 'none';\r
                        elmValue.appendChild( ELM_INPUT_TEXT );\r
                        ELM_INPUT_TEXT.value = value;\r
-                       ELM_INPUT_TEXT.focus();\r
-                       ELM_INPUT_TEXT.select();\r
+                       try {\r
+                               ELM_INPUT_TEXT.focus();\r
+                               ELM_INPUT_TEXT.select();                                \r
+                       } catch(e) {\r
+                               \r
+                       }\r
+\r
                        return false;\r
                };\r
                this.blur = function( keep ){\r