Changeset 7017


Ignore:
Timestamp:
06/07/2011 07:55:48 PM (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