1/* 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 * 21 * FCKCoreStyleCommand Class: controls the execution of a core style. Core 22 * styles are usually represented as buttons in the toolbar., like Bold and 23 * Italic. 24 */ 25 26 var FCKCoreStyleCommand = function( coreStyleName ) 27 { 28 this.Name = 'CoreStyle' ; 29 this.StyleName = '_FCK_' + coreStyleName ; 30 this.IsActive = false ; 31 32 FCKStyles.AttachStyleStateChange( this.StyleName, this._OnStyleStateChange, this ) ; 33 } 34 35 FCKCoreStyleCommand.prototype = 36 { 37 Execute : function() 38 { 39 FCKUndo.SaveUndoStep() ; 40 41 if ( this.IsActive ) 42 FCKStyles.RemoveStyle( this.StyleName ) ; 43 else 44 FCKStyles.ApplyStyle( this.StyleName ) ; 45 46 FCK.Focus() ; 47 FCK.Events.FireEvent( 'OnSelectionChange' ) ; 48 }, 49 50 GetState : function() 51 { 52 return this.IsActive ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ; 53 }, 54 55 _OnStyleStateChange : function( styleName, isActive ) 56 { 57 this.IsActive = isActive ; 58 } 59 }; 60