Changeset 4311


Ignore:
Timestamp:
10/04/09 17:07:52 (5 years ago)
Author:
garry.yao
Message:

Enable 'Styles' combo for adobeair.

Location:
CKEditor/branches/features/adobeair
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/adobeair/_source/core/dom/node.js

    r3930 r4311  
    230230                getDocument : function() 
    231231                { 
    232                         var document = new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument ); 
    233  
    234                         return ( 
    235                         /** @ignore */ 
    236                         this.getDocument = function() 
    237                                 { 
    238                                         return document; 
    239                                 })(); 
     232                        return new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument ); 
    240233                }, 
    241234 
  • CKEditor/branches/features/adobeair/_source/plugins/panel/plugin.js

    r4294 r4311  
    9797                                                '<iframe id="', id, '_frame"' + 
    9898                                                        ' frameborder="0"' + 
    99                                                         ' src="javascript:void(' ); 
    100  
    101                         output.push( 
     99                                                        ' src="' ); 
     100 
     101                        // The iframe must source from a 'application sandbox' file, 
     102                        // otherwise the dynamically linked stylesheets and scripts 
     103                        // won't work. 
     104                        if( CKEDITOR.env.air ) 
     105                        { 
     106                                output.push( CKEDITOR.basePath + 'air_sandbox_frame.html' ); 
     107                        } 
     108                        else 
     109                        { 
     110                                output.push( 'javascript:void(' ); 
     111                                output.push( 
    102112                                                        // Support for custom document.domain in IE. 
    103113                                                        CKEDITOR.env.isCustomDomain() ? 
     
    109119                                                        : 
    110120                                                                '0' ); 
     121                                output.push( ')' ); 
     122                        } 
    111123 
    112124                        output.push( 
    113                                                 ')"></iframe>' ); 
     125                                                '"></iframe>' ); 
    114126                } 
    115127 
     
    142154                                var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev ) 
    143155                                        { 
     156                                                var doc = iframe.getFrameDocument(), 
     157                                                        body = doc.getBody(); 
     158 
     159                                                if ( CKEDITOR.env.air ) 
     160                                                        doc.write( data ); 
     161 
     162                                                if ( !holder ) 
     163                                                        holder = body; 
     164                                                else 
     165                                                { 
     166                                                        this._.holder.moveChildren( body ); 
     167                                                        this._.holder = body; 
     168                                                } 
     169 
     170                                                var win = doc.getWindow(); 
     171 
     172                                                // Register the CKEDITOR global. 
     173                                                win.$.CKEDITOR = CKEDITOR; 
     174 
     175                                                doc.on( 'keydown', function( evt ) 
     176                                                        { 
     177                                                                var keystroke = evt.data.getKeystroke(); 
     178 
     179                                                                // Delegate key processing to block. 
     180                                                                if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false ) 
     181                                                                { 
     182                                                                        evt.data.preventDefault(); 
     183                                                                        return; 
     184                                                                } 
     185 
     186                                                                if ( keystroke == 27 )          // ESC 
     187                                                                        this.onEscape && this.onEscape(); 
     188                                                        }, 
     189                                                        this ); 
     190 
    144191                                                this.isLoaded = true; 
    145192                                                if ( this.onLoad ) 
     
    147194                                        }, this ) ); 
    148195 
    149                                 doc.write( 
     196                                var data = 
    150197                                        '<!DOCTYPE html>' + 
    151198                                        '<html dir="' + dir + '" class="' + className + '_container" lang="' + langCode + '">' + 
     
    153200                                                        '<style>.' + className + '_container{visibility:hidden}</style>' + 
    154201                                                '</head>' + 
    155                                                 '<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0"' + 
    156                                                 ' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction(' + onLoad + ');">' + 
     202                                                '<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0" >' + 
    157203                                                '</body>' + 
    158204                                                // It looks strange, but for FF2, the styles must go 
     
    160206                                                // available. (#3031) 
    161207                                                '<link type="text/css" rel=stylesheet href="' + this.css.join( '"><link type="text/css" rel="stylesheet" href="' ) + '">' + 
    162                                         '<\/html>' ); 
    163  
    164                                 var win = doc.getWindow(); 
    165  
    166                                 // Register the CKEDITOR global. 
    167                                 win.$.CKEDITOR = CKEDITOR; 
    168  
    169                                 doc.on( 'keydown', function( evt ) 
    170                                         { 
    171                                                 var keystroke = evt.data.getKeystroke(); 
    172  
    173                                                 // Delegate key processing to block. 
    174                                                 if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false ) 
    175                                                 { 
    176                                                         evt.data.preventDefault(); 
    177                                                         return; 
    178                                                 } 
    179  
    180                                                 if ( keystroke == 27 )          // ESC 
    181                                                         this.onEscape && this.onEscape(); 
    182                                         }, 
    183                                         this ); 
    184  
    185                                 holder = doc.getBody(); 
    186  
    187                                 if( CKEDITOR.env.air ) 
     208                                        '<\/html>'; 
     209 
     210                                iframe.on( 'load', function( evt ) 
     211                                { 
    188212                                        CKEDITOR.tools.callFunction( onLoad ); 
     213                                } ); 
     214                                if( !CKEDITOR.env.air ) 
     215                                        doc.write( data ); 
     216 
     217                                if( !holder ) 
     218                                        holder = new CKEDITOR.dom.element( 'body', doc ); 
    189219                        } 
    190220                        else 
  • CKEditor/branches/features/adobeair/_source/plugins/richcombo/plugin.js

    r3712 r4311  
    275275 
    276276                        if ( this.init ) 
    277                                 this.init(); 
     277                        { 
     278                                var innerPanel = panel._.panel; 
     279                                innerPanel.isLoaded ? 
     280                                 this.init() 
     281                                 : innerPanel.onLoad = CKEDITOR.tools.bind( this.init, this ); 
     282                        } 
    278283                }, 
    279284 
  • CKEditor/branches/features/adobeair/_source/plugins/selection/plugin.js

    r3999 r4311  
    679679                                                node = sel.anchorNode; 
    680680 
    681                                                 if ( node.nodeType != 1 ) 
     681                                                if ( node && node.nodeType != 1 ) 
    682682                                                        node = node.parentNode; 
    683683                                        } 
  • CKEditor/branches/features/adobeair/air_sandbox_frame.html

    r4298 r4311  
    77<head> 
    88        <title></title> 
     9        <script> window.onload = function() 
     10        { 
     11                var onload = parent.air_sandbox_frame_load; 
     12                if( onload) onload();    
     13        }</script> 
    914</head> 
    1015<body ></body> 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy