Changeset 4311


Ignore:
Timestamp:
10/04/2009 05:07:52 PM (6 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