/* * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2007 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * * - GNU General Public License Version 2 or later (the "GPL") * http://www.gnu.org/licenses/gpl.html * * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") * http://www.gnu.org/licenses/lgpl.html * * - Mozilla Public License Version 1.1 or later (the "MPL") * http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * File Name: fcktoolbarfontformatcombo.js * FCKToolbarPanelButton Class: Handles the Fonts combo selector. * * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) */ var FCKToolbarFontFormatCombo = function( tooltip, style ) { this.CommandName = 'FontFormat' ; this.Label = this.GetLabel() ; this.Tooltip = tooltip ? tooltip : this.Label ; this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; this.NormalLabel = 'Normal' ; this.PanelWidth = 190 ; } // Inherit from FCKToolbarSpecialCombo. FCKToolbarFontFormatCombo.prototype = new FCKToolbarSpecialCombo ; FCKToolbarFontFormatCombo.prototype.GetLabel = function() { return FCKLang.FontFormat ; } FCKToolbarFontFormatCombo.prototype.CreateItems = function( targetSpecialCombo ) { // Add the Editor Area CSS to the panel to create a realistic preview. FCKTools.AppendStyleSheet( targetSpecialCombo._Panel.Document, FCKConfig.ToolbarComboPreviewCSS ) ; // Get the format names from the language file. var aNames = FCKLang['FontFormats'].split(';') ; var oNames = { p : aNames[0], pre : aNames[1], address : aNames[2], h1 : aNames[3], h2 : aNames[4], h3 : aNames[5], h4 : aNames[6], h5 : aNames[7], h6 : aNames[8], div : aNames[9] } ; // Get the available formats from the configuration file. var aTags = FCKConfig.FontFormats.split(';') ; for ( var i = 0 ; i < aTags.length ; i++ ) { // Support for DIV in Firefox has been reintroduced on version 2.2. // if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko ) // continue ; var sTag = aTags[i] ; var sLabel = oNames[sTag] ; if ( sTag == 'p' ) this.NormalLabel = sLabel ; this._Combo.AddItem( sTag, '
<' + sTag + '>' + sLabel + '
', sLabel ) ; } } if ( FCKBrowserInfo.IsIE ) { FCKToolbarFontFormatCombo.prototype.RefreshActiveItems = function( combo, value ) { // FCKDebug.Output( 'FCKToolbarFontFormatCombo Value: ' + value ) ; // IE returns normal for DIV and P, so to avoid confusion, we will not show it if normal. if ( value == this.NormalLabel ) { if ( combo.Label != ' ' ) combo.DeselectAll(true) ; } else { if ( this._LastValue == value ) return ; combo.SelectItemByLabel( value, true ) ; } this._LastValue = value ; } }