Changeset 7017


Ignore:
Timestamp:
06/07/11 19:55:48 (4 years ago)
Author:
garry.yao
Message:

Add configuration entry "panelUseIFrame" : enable basic frame-less floating panel.

Location:
CKEditor/branches/features/v4-panel/_source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/v4-panel/_source/plugins/colorbutton/plugin.js

    r6985 r7017  
    154154                                        ' href="javascript:void(\'', lang.auto, '\')"' + 
    155155                                        ' role="option" aria-posinset="1" aria-setsize="', total, '">' + 
    156                                         '<table role="presentation" cellspacing=0 cellpadding=0 width="100%">' + 
     156                                        '<table role="presentation" cellspacing=0 cellpadding=0 style="width:100%">' + 
    157157                                                '<tr>' + 
    158158                                                        '<td>' + 
    159159                                                                '<span class="cke_colorbox" id="', colorBoxId, '"></span>' + 
    160160                                                        '</td>' + 
    161                                                         '<td colspan=7 align=center>', 
     161                                                        '<td colspan=7 style="text-align:center">', 
    162162                                                                lang.auto, 
    163163                                                        '</td>' + 
     
    207207                                                                ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'?\',\'', type, '\');return false;"' + 
    208208                                                                ' href="javascript:void(\'', lang.more, '\')"', 
     209                                                                ' style="text-align:center"', 
    209210                                                                ' role="option" aria-posinset="', total, '" aria-setsize="', total, '">', 
    210211                                                                lang.more, 
  • CKEditor/branches/features/v4-panel/_source/plugins/floatpanel/plugin.js

    r6985 r7017  
    3737        } 
    3838 
     39        function getClickOutsidePanel( opener ) 
     40        { 
     41                return function( ev ) 
     42                { 
     43                        var target = ev.data.getTarget(); 
     44                        if ( !( this.element.contains( target ) ) ) 
     45                        { 
     46                                // Bypass when opener is clicked (close panel). 
     47                                if ( opener && ( opener.equals( target ) || opener.contains( target ) ) ) 
     48                                        return; 
     49 
     50                                // Bypass all opened child panels. 
     51                                var panel = this; 
     52                                while( panel = panel._.activeChild ) 
     53                                { 
     54                                        if ( panel.element.contains( target ) ) 
     55                                                return; 
     56                                } 
     57 
     58                                // Panel close is caused by user's navigating away the focus, e.g. click outside the panel. 
     59                                // DO NOT restore focus in this case. 
     60                                delete this._.returnFocus; 
     61                                this.hide(); 
     62                        } 
     63                }; 
     64        } 
     65 
    3966        CKEDITOR.ui.floatPanel = CKEDITOR.tools.createClass( 
    4067        { 
    4168                $ : function( editor, parentElement, definition, level ) 
    4269                { 
    43                         definition.forceIFrame = 1; 
     70                        var panelIframe = definition.forceIFrame || editor.config.panelUseIFrame !== false; 
    4471 
    4572                        var doc = parentElement.getDocument(), 
    4673                                panel = getPanel( editor, doc, parentElement, definition, level || 0 ), 
    4774                                element = panel.element, 
    48                                 iframe = element.getFirst().getFirst(); 
     75                                iframe = panelIframe ? element.getFirst().getFirst() : null; 
    4976 
    5077                        this.element = element; 
     
    144171 
    145172                                // Configure the IFrame blur event. Do that only once. 
    146                                 if ( !this._.blurSet ) 
    147                                 { 
    148                                         // Non IE prefer the event into a window object. 
    149                                         var focused = CKEDITOR.env.ie ? iframe : new CKEDITOR.dom.window( iframe.$.contentWindow ); 
    150  
    151                                         // With addEventListener compatible browsers, we must 
    152                                         // useCapture when registering the focus/blur events to 
    153                                         // guarantee they will be firing in all situations. (#3068, #3222 ) 
    154                                         CKEDITOR.event.useCapture = true; 
    155  
    156                                         focused.on( 'blur', function( ev ) 
    157                                                 { 
    158                                                         if ( !this.allowBlur() ) 
    159                                                                 return; 
    160  
    161                                                         // As we are using capture to register the listener, 
    162                                                         // the blur event may get fired even when focusing 
    163                                                         // inside the window itself, so we must ensure the 
    164                                                         // target is out of it. 
    165                                                         var target; 
    166                                                         if ( CKEDITOR.env.ie && !this.allowBlur() 
    167                                                                  || ( target = ev.data.getTarget() ) 
    168                                                                       && target.getName && target.getName() != 'iframe' ) 
    169                                                                 return; 
    170  
    171                                                         if ( this.visible && !this._.activeChild && !isShowing ) 
     173                                if ( iframe ) 
     174                                { 
     175                                        if ( !this._.blurSet ) 
     176                                        { 
     177                                                // Non IE prefer the event into a window object. 
     178                                                var focused = CKEDITOR.env.ie ? iframe : new CKEDITOR.dom.window( iframe.$.contentWindow ); 
     179 
     180                                                // With addEventListener compatible browsers, we must 
     181                                                // useCapture when registering the focus/blur events to 
     182                                                // guarantee they will be firing in all situations. (#3068, #3222 ) 
     183                                                CKEDITOR.event.useCapture = true; 
     184 
     185                                                focused.on( 'blur', function( ev ) 
    172186                                                        { 
    173                                                                 // Panel close is caused by user's navigating away the focus, e.g. click outside the panel. 
    174                                                                 // DO NOT restore focus in this case. 
    175                                                                 delete this._.returnFocus; 
    176                                                                 this.hide(); 
    177                                                         } 
    178                                                 }, 
    179                                                 this ); 
    180  
    181                                         focused.on( 'focus', function() 
    182                                                 { 
    183                                                         this._.focused = true; 
    184                                                         this.hideChild(); 
    185                                                         this.allowBlur( true ); 
    186                                                 }, 
    187                                                 this ); 
    188  
    189                                         CKEDITOR.event.useCapture = false; 
    190  
    191                                         this._.blurSet = 1; 
     187                                                                if ( !this.allowBlur() ) 
     188                                                                        return; 
     189 
     190                                                                // As we are using capture to register the listener, 
     191                                                                // the blur event may get fired even when focusing 
     192                                                                // inside the window itself, so we must ensure the 
     193                                                                // target is out of it. 
     194                                                                var target; 
     195                                                                if ( CKEDITOR.env.ie && !this.allowBlur() 
     196                                                                         || ( target = ev.data.getTarget() ) 
     197                                                                                  && target.getName && target.getName() != 'iframe' ) 
     198                                                                                return; 
     199 
     200                                                                if ( this.visible && !this._.activeChild && !isShowing ) 
     201                                                                { 
     202                                                                        // Panel close is caused by user's navigating away the focus, e.g. click outside the panel. 
     203                                                                        // DO NOT restore focus in this case. 
     204                                                                        delete this._.returnFocus; 
     205                                                                        this.hide(); 
     206                                                                } 
     207                                                        }, 
     208                                                        this ); 
     209 
     210                                                focused.on( 'focus', function() 
     211                                                        { 
     212                                                                this._.focused = true; 
     213                                                                this.hideChild(); 
     214                                                                this.allowBlur( true ); 
     215                                                        }, 
     216                                                        this ); 
     217 
     218                                                CKEDITOR.event.useCapture = false; 
     219 
     220                                                this._.blurSet = 1; 
     221                                        } 
     222                                } 
     223                                else 
     224                                { 
     225                                        // Close on clicking outside of panel or doc blurs. 
     226                                        this._.clickOutside = getClickOutsidePanel( offsetParent ); 
     227                                        CKEDITOR.document.on( 'mousedown', this._.clickOutside, this ); 
     228                                        ( CKEDITOR.env.ie ? new CKEDITOR.dom.window( window ) : CKEDITOR.document )[ 'on' ]( 'blur', this.hide, this ); 
    192229                                } 
    193230 
     
    231268                                                                target.setStyle( 'width', width + 'px' ); 
    232269 
    233                                                                 // IE doesn't compute the scrollWidth if a filter is applied previously 
    234                                                                 block.element.addClass( 'cke_frameLoaded' ); 
    235  
    236270                                                                var height = block.element.$.scrollHeight; 
    237271 
     
    307341                                                } , this ); 
    308342 
    309                                                 panel.isLoaded ? panelLoad() : panel.onLoad = panelLoad; 
     343                                                !iframe || panel.isLoaded ? panelLoad() : panel.onLoad = panelLoad; 
    310344 
    311345                                                // Set the panel frame focus, so the blur event gets fired. 
    312346                                                CKEDITOR.tools.setTimeout( function() 
    313347                                                { 
    314                                                         iframe.$.contentWindow.focus(); 
     348                                                        iframe ? iframe.$.contentWindow.focus() : element.focus(); 
    315349                                                        // We need this get fired manually because of unfired focus() function. 
    316350                                                        this.allowBlur( true ); 
     
    329363                                if ( this.visible && ( !this.onHide || this.onHide.call( this ) !== true ) ) 
    330364                                { 
     365                                        if ( this._.iframe ) 
     366                                                // Blur previously focused element in panel frame. (#6671) 
     367                                                CKEDITOR.env.gecko && this._.iframe.getFrameDocument().$.activeElement.blur(); 
     368                                        else 
     369                                        { 
     370                                                CKEDITOR.document.removeListener( 'mousedown', this._.clickOutside ); 
     371                                                delete this._.clickOutside; 
     372                                                ( CKEDITOR.env.ie ? new CKEDITOR.dom.window( window ) : CKEDITOR.document ).removeListener( 'blur', this.hide ); 
     373                                        } 
     374 
    331375                                        this.hideChild(); 
    332                                         // Blur previously focused element. (#6671) 
    333                                         CKEDITOR.env.gecko && this._.iframe.getFrameDocument().$.activeElement.blur(); 
    334376                                        this.element.setStyle( 'display', 'none' ); 
    335377                                        this.visible = 0; 
     
    429471        } ); 
    430472})(); 
     473 
     474 
     475/** 
     476 * Whether renders the float panel in an iframe, which makes it easier to style the panel content 
     477 * from editor's content style sheet assigned by {@link CKEDITOR.config.contentCss}. 
     478 * @name CKEDITOR.config.panelUseIFrame 
     479 * @type Boolean 
     480 * @default true 
     481 * @example 
     482 * config.panelUseIFrame = false; 
     483 */ 
  • CKEditor/branches/features/v4-panel/_source/plugins/menu/plugin.js

    r6985 r7017  
    196196 
    197197                                // Get the element representing the current item. 
    198                                 var element = this._.panel.getBlock( this.id ).element.getDocument().getById( this.id + String( index ) ); 
     198                                var element = this._.panel.getBlock( this.id ).element.getDocument().getById( this.id + '_item_' + String( index ) ); 
    199199 
    200200                                // Show the submenu. 
     
    399399                        render : function( menu, index, output ) 
    400400                        { 
    401                                 var id = menu.id + String( index ), 
     401                                var id = menu.id + '_item_' + String( index ), 
    402402                                        state = ( typeof this.state == 'undefined' ) ? CKEDITOR.TRISTATE_OFF : this.state; 
    403403 
  • CKEditor/branches/features/v4-panel/_source/plugins/panel/plugin.js

    r6904 r7017  
    9494                                '">' ); 
    9595 
    96                 if ( this.forceIFrame || this.css.length ) 
     96                if ( this.forceIFrame ) 
    9797                { 
    9898                        output.push( 
     
    123123        }, 
    124124 
    125         getHolderElement : function() 
    126         { 
    127                 var holder = this._.holder; 
    128  
    129                 if ( !holder ) 
    130                 { 
    131                         if ( this.forceIFrame || this.css.length ) 
     125        getHolderElement : ( function() 
     126        { 
     127                function keyHandler( evt ) 
     128                { 
     129                        var keystroke = evt.data.getKeystroke(), 
     130                                dir = this.document.getById( this.id ).getAttribute( 'dir' ); 
     131 
     132                        // Delegate key processing to block. 
     133                        if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false ) 
    132134                        { 
    133                                 var iframe = this.document.getById( this.id + '_frame' ), 
    134                                         parentDiv = iframe.getParent(), 
    135                                         dir = parentDiv.getAttribute( 'dir' ), 
    136                                         className = parentDiv.getParent().getAttribute( 'class' ), 
    137                                         langCode = parentDiv.getParent().getAttribute( 'lang' ), 
    138                                         doc = iframe.getFrameDocument(); 
    139  
    140                                 var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev ) 
    141                                         { 
    142                                                 this.isLoaded = true; 
    143                                                 if ( this.onLoad ) 
    144                                                         this.onLoad(); 
    145                                         }, this ) ); 
    146  
    147                                 var data = 
    148                                         '<!DOCTYPE html>' + 
    149                                         '<html dir="' + dir + '" class="' + className + '_container" lang="' + langCode + '">' + 
    150                                                 '<head>' + 
    151                                                         '<style>.' + className + '_container{visibility:hidden}</style>' + 
    152                                                 '</head>' + 
    153                                                 '<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0"' + 
    154                                                 ' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction(' + onLoad + ');"></body>' + 
    155                                                 // It looks strange, but for FF2, the styles must go 
    156                                                 // after <body>, so it (body) becames immediatelly 
    157                                                 // available. (#3031) 
    158                                                 CKEDITOR.tools.buildStyleHtml( this.css ) + 
    159                                         '<\/html>'; 
    160  
    161                                 doc.write( data ); 
    162  
    163                                 var win = doc.getWindow(); 
    164  
    165                                 // Register the CKEDITOR global. 
    166                                 win.$.CKEDITOR = CKEDITOR; 
     135                                evt.data.preventDefault(); 
     136                                return; 
     137                        } 
     138 
     139                        // ESC/ARROW-LEFT(ltr) OR ARROW-RIGHT(rtl) 
     140                        if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) ) 
     141                        { 
     142                                if ( this.onEscape && this.onEscape( keystroke ) === false ) 
     143                                        evt.data.preventDefault(); 
     144                        } 
     145                } 
     146 
     147                return function() 
     148                { 
     149                        var holder = this._.holder, target; 
     150 
     151                        if ( !holder ) 
     152                        { 
     153                                if ( this.forceIFrame ) 
     154                                { 
     155                                        var iframe = this.document.getById( this.id + '_frame' ), 
     156                                                        parentDiv = iframe.getParent(), 
     157                                                        dir = parentDiv.getAttribute( 'dir' ), 
     158                                                        className = parentDiv.getParent().getAttribute( 'class' ), 
     159                                                        langCode = parentDiv.getParent().getAttribute( 'lang' ), 
     160                                                        doc = iframe.getFrameDocument(); 
     161 
     162                                        var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev ) 
     163                                                                                                                                                                  { 
     164                                                                                                                                                                          this.isLoaded = true; 
     165                                                                                                                                                                          if ( this.onLoad ) 
     166                                                                                                                                                                                  this.onLoad(); 
     167                                                                                                                                                                  }, this ) ); 
     168 
     169                                        var data = 
     170                                                        '<!DOCTYPE html>' + 
     171                                                                        '<html dir="' + dir + '" class="' + className + '" lang="' + langCode + '">' + 
     172                                                                        '<head>' + 
     173                                                                        '<style>.' + className + '_container{visibility:hidden}</style>' + 
     174                                                                        '</head>' + 
     175                                                                        '<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0"' + 
     176                                                                        ' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction(' + onLoad + ');"></body>' + 
     177                                                                // It looks strange, but for FF2, the styles must go 
     178                                                                // after <body>, so it (body) becames immediatelly 
     179                                                                // available. (#3031) 
     180                                                                        CKEDITOR.tools.buildStyleHtml( this.css ) + 
     181                                                                        '<\/html>'; 
     182 
     183                                        doc.write( data ); 
     184 
     185                                        var win = doc.getWindow(); 
     186 
     187                                        // Register the CKEDITOR global. 
     188                                        win.$.CKEDITOR = CKEDITOR; 
     189 
     190 
     191                                        target = doc; 
     192                                        holder = doc.getBody(); 
     193                                        holder.unselectable(); 
     194                                        CKEDITOR.env.air && CKEDITOR.tools.callFunction( onLoad ); 
     195                                } 
     196                                else 
     197                                { 
     198                                        holder = this.document.getById( this.id ); 
     199                                        target = this.element; 
     200                                } 
    167201 
    168202                                // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534). 
    169                                 doc.on( 'key' + ( CKEDITOR.env.opera? 'press':'down' ), function( evt ) 
    170                                         { 
    171                                                 var keystroke = evt.data.getKeystroke(), 
    172                                                         dir = this.document.getById( this.id ).getAttribute( 'dir' ); 
    173  
    174                                                 // Delegate key processing to block. 
    175                                                 if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false ) 
    176                                                 { 
    177                                                         evt.data.preventDefault(); 
    178                                                         return; 
    179                                                 } 
    180  
    181                                                 // ESC/ARROW-LEFT(ltr) OR ARROW-RIGHT(rtl) 
    182                                                 if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) ) 
    183                                                 { 
    184                                                         if ( this.onEscape && this.onEscape( keystroke ) === false ) 
    185                                                                 evt.data.preventDefault(); 
    186                                                 } 
    187                                         }, 
    188                                         this ); 
    189  
    190                                 holder = doc.getBody(); 
    191                                 holder.unselectable(); 
    192                                 CKEDITOR.env.air && CKEDITOR.tools.callFunction( onLoad ); 
     203                                target.on( 'key' + ( CKEDITOR.env.opera ? 'press' : 'down' ), keyHandler, this ); 
     204                                this._.holder = holder; 
    193205                        } 
    194                         else 
    195                                 holder = this.document.getById( this.id ); 
    196  
    197                         this._.holder = holder; 
    198                 } 
    199  
    200                 return holder; 
    201         }, 
     206 
     207                        return holder; 
     208                }; 
     209        } )(), 
    202210 
    203211        addBlock : function( name, block ) 
  • CKEditor/branches/features/v4-panel/_source/skins/kama/menu.css

    r6434 r7017  
    130130        margin-left: 24px; 
    131131        background-color: #fff; 
    132 } 
    133 /* Set these after the document has been loaded and we know the dimensions*/ 
    134 .cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label 
    135 { 
    136         filter: alpha(opacity=70); /* IE */ 
    137         opacity: 0.70; /* Safari, Opera and Mozilla */ 
    138132} 
    139133 
  • CKEditor/branches/features/v4-panel/_source/skins/kama/panel.css

    r6348 r7017  
    3939 */ 
    4040 
    41 html.cke_skin_kama_container 
     41html.cke_skin_kama 
    4242{ 
    4343        overflow: auto; 
     
    5555} 
    5656 
    57 ul.cke_panel_list 
     57.cke_skin_kama ul.cke_panel_list 
    5858{ 
    5959        list-style-type: none; 
     
    6363} 
    6464 
    65 li.cke_panel_listItem 
    66 { 
    67         margin: 0px; 
    68 } 
    69  
    70 .cke_panel_listItem a 
     65.cke_skin_kama .cke_panel_listItem a 
    7166{ 
    7267        padding: 2px; 
     
    7974} 
    8075 
     76.cke_skin_kama .cke_panel_listItem a * 
     77{ 
     78        cursor: pointer; 
     79} 
     80 
    8181/* IE6 */ 
    8282* html .cke_panel_listItem a 
     
    9595} 
    9696 
    97 .cke_panel_listItem.cke_selected a 
     97.cke_skin_kama .cke_panel_listItem.cke_selected a 
    9898{ 
    9999        border: 1px solid #ccc; 
     
    101101} 
    102102 
    103 .cke_panel_listItem a:hover, 
    104 .cke_panel_listItem a:focus, 
    105 .cke_panel_listItem a:active 
     103.cke_skin_kama .cke_panel_listItem a:hover, 
     104.cke_skin_kama .cke_panel_listItem a:focus, 
     105.cke_skin_kama .cke_panel_listItem a:active 
    106106{ 
    107107        border-color: #316ac5; 
     
    109109} 
    110110 
    111 .cke_hc .cke_panel_listItem.cke_selected a, 
    112 .cke_hc .cke_panel_listItem a:hover, 
    113 .cke_hc .cke_panel_listItem a:focus, 
    114 .cke_hc .cke_panel_listItem a:active 
     111.cke_skin_kama .cke_hc .cke_panel_listItem.cke_selected a, 
     112.cke_skin_kama .cke_hc .cke_panel_listItem a:hover, 
     113.cke_skin_kama .cke_hc .cke_panel_listItem a:focus, 
     114.cke_skin_kama .cke_hc .cke_panel_listItem a:active 
    115115{ 
    116116        border-width: 3px; 
     
    118118} 
    119119 
    120 .cke_panel_grouptitle 
     120.cke_skin_kama .cke_panel_block .cke_panel_grouptitle 
    121121{ 
    122122        font-size: 11px; 
     
    130130} 
    131131 
    132 .cke_panel_listItem p, 
    133 .cke_panel_listItem h1, 
    134 .cke_panel_listItem h2, 
    135 .cke_panel_listItem h3, 
    136 .cke_panel_listItem h4, 
    137 .cke_panel_listItem h5, 
    138 .cke_panel_listItem h6, 
    139 .cke_panel_listItem pre 
     132.cke_skin_kama .cke_panel_listItem p, 
     133.cke_skin_kama .cke_panel_listItem h1, 
     134.cke_skin_kama .cke_panel_listItem h2, 
     135.cke_skin_kama .cke_panel_listItem h3, 
     136.cke_skin_kama .cke_panel_listItem h4, 
     137.cke_skin_kama .cke_panel_listItem h5, 
     138.cke_skin_kama .cke_panel_listItem h6, 
     139.cke_skin_kama .cke_panel_listItem pre 
    140140{ 
    141141        margin-top: 3px; 
     
    150150} 
    151151 
    152 .cke_colorblock 
     152.cke_skin_kama .cke_colorblock 
    153153{ 
    154154        padding: 3px; 
     
    157157} 
    158158 
    159 .cke_colorblock, 
    160 .cke_colorblock a 
     159.cke_skin_kama .cke_colorblock, 
     160.cke_skin_kama .cke_colorblock a 
    161161{ 
    162162        text-decoration: none; 
     
    164164} 
    165165 
    166 span.cke_colorbox 
     166.cke_skin_kama span.cke_colorbox 
    167167{ 
    168168        width: 10px; 
     
    172172} 
    173173 
    174 .cke_rtl span.cke_colorbox 
     174.cke_skin_kama .cke_rtl span.cke_colorbox 
    175175{ 
    176176        float: right; 
    177177} 
    178178 
    179 a.cke_colorbox 
     179.cke_skin_kama a.cke_colorbox 
    180180{ 
    181181        border: #fff 1px solid; 
     
    184184} 
    185185 
    186 .cke_rtl a.cke_colorbox 
     186.cke_skin_kama .cke_rtl a.cke_colorbox 
    187187{ 
    188188        float: right; 
    189189} 
    190190 
    191 a:hover.cke_colorbox, 
    192 a:focus.cke_colorbox, 
    193 a:active.cke_colorbox 
     191.cke_skin_kama a:hover.cke_colorbox, 
     192.cke_skin_kama a:focus.cke_colorbox, 
     193.cke_skin_kama a:active.cke_colorbox 
    194194{ 
    195195        border: #316ac5 1px solid; 
     
    197197} 
    198198 
    199 a.cke_colorauto, 
    200 a.cke_colormore 
     199.cke_skin_kama a.cke_colorauto, 
     200.cke_skin_kama a.cke_colormore 
    201201{ 
    202202        border: #fff 1px solid; 
     
    206206} 
    207207 
    208 a:hover.cke_colorauto, 
    209 a:hover.cke_colormore, 
    210 a:focus.cke_colorauto, 
    211 a:focus.cke_colormore, 
    212 a:active.cke_colorauto, 
    213 a:active.cke_colormore 
     208.cke_skin_kama a:hover.cke_colorauto, 
     209.cke_skin_kama a:hover.cke_colormore, 
     210.cke_skin_kama a:focus.cke_colorauto, 
     211.cke_skin_kama a:focus.cke_colormore, 
     212.cke_skin_kama a:active.cke_colorauto, 
     213.cke_skin_kama a:active.cke_colormore 
    214214{ 
    215215        border: #316ac5 1px solid; 
  • CKEditor/branches/features/v4-panel/_source/skins/kama/reset.css

    r6348 r7017  
    3232} 
    3333 
     34.cke_skin_kama h1 
     35{ 
     36        font-size: 1.8em; 
     37} 
     38.cke_skin_kama h2 
     39{ 
     40        font-size: 1.6em; 
     41} 
     42.cke_skin_kama h3 
     43{ 
     44        font-size: 1.4em; 
     45} 
     46.cke_skin_kama h4 
     47{ 
     48        font-size: 1.2em; 
     49} 
     50.cke_skin_kama h5 
     51{ 
     52        font-size: 1em; 
     53} 
     54.cke_skin_kama h6 
     55{ 
     56        font-size: 0.8em; 
     57} 
     58 
     59.cke_skin_kama h1, 
     60.cke_skin_kama h2, 
     61.cke_skin_kama h3, 
     62.cke_skin_kama h4, 
     63.cke_skin_kama h5, 
     64.cke_skin_kama h6 
     65{ 
     66        font-weight: bolder; 
     67} 
     68 
     69.cke_skin_kama pre, 
     70.cke_skin_kama code, 
     71.cke_skin_kama kbd, 
     72.cke_skin_kama samp, 
     73.cke_skin_kama tt 
     74{ 
     75        font-family: monospace; 
     76} 
     77 
     78.cke_skin_kama address, 
     79.cke_skin_kama cite, 
     80.cke_skin_kama var 
     81{ 
     82        font-style: italic; 
     83} 
     84 
     85.cke_skin_kama ins 
     86{ 
     87        text-decoration: underline; 
     88} 
     89 
     90.cke_skin_kama del 
     91{ 
     92        text-decoration:        line-through; 
     93} 
     94 
     95.cke_skin_kama big 
     96{ 
     97        font-size: 15px; 
     98} 
     99.cke_skin_kama small 
     100{ 
     101        font-size: 10px; 
     102} 
     103 
     104 
     105cke_skin_kama 
    34106.cke_skin_kama .cke_rtl *, 
    35107.cke_skin_kama .cke_rtl a:hover, 
  • CKEditor/branches/features/v4-panel/_source/skins/kama/skin.js

    r6904 r7017  
    1 /* 
     1/* 
    22Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    174174                        { 
    175175                                var panel = event.data[ 0 ]; 
    176                                 var iframe = panel.element.getElementsByTag( 'iframe' ).getItem( 0 ).getFrameDocument(); 
    177  
    178                                 // Add stylesheet if missing. 
    179                                 if ( !iframe.getById( 'cke_ui_color' ) ) 
    180                                 { 
    181                                         var node = getStylesheet( iframe ); 
    182                                         uiColorMenus.push( node ); 
    183  
    184                                         var color = editor.getUiColor(); 
    185                                         // Set uiColor for new menu. 
    186                                         if ( color ) 
    187                                                 updateStylesheets( [ node ], uiColorMenuCss, [ [ uiColorRegexp, color ] ] ); 
     176                                var panelFrame = panel._iframe; 
     177                                if ( panelFrame ) 
     178                                { 
     179                                        var frameDoc = this._.iframe.getFrameDocument(); 
     180                                        // Add stylesheet if missing. 
     181                                        if ( !frameDoc.getById( 'cke_ui_color' ) ) 
     182                                        { 
     183                                                var node = getStylesheet( frameDoc ); 
     184                                                uiColorMenus.push( node ); 
     185 
     186                                                var color = editor.getUiColor(); 
     187                                                // Set uiColor for new menu. 
     188                                                if ( color ) 
     189                                                        updateStylesheets( [ node ], uiColorMenuCss, [ [ uiColorRegexp, color ] ] ); 
     190                                        } 
    188191                                } 
    189192                        }); 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy