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 * FCKStyleCommand Class: represents the "Style" command. 22 */ 23 24var FCKStyleCommand = function() 25{} 26 27FCKStyleCommand.prototype = 28{ 29 Name : 'Style', 30 31 Execute : function( styleName, styleComboItem ) 32 { 33 FCKUndo.SaveUndoStep() ; 34 35 if ( styleComboItem.Selected ) 36 FCK.Styles.RemoveStyle( styleComboItem.Style ) ; 37 else 38 FCK.Styles.ApplyStyle( styleComboItem.Style ) ; 39 40 FCKUndo.SaveUndoStep() ; 41 42 FCK.Focus() ; 43 FCK.Events.FireEvent( 'OnSelectionChange' ) ; 44 }, 45 46 GetState : function() 47 { 48 if ( !FCK.EditorDocument ) 49 return FCK_TRISTATE_DISABLED ; 50 51 if ( FCKSelection.GetType() == 'Control' ) 52 { 53 var el = FCKSelection.GetSelectedElement() ; 54 if ( !el || !FCKStyles.CheckHasObjectStyle( el.nodeName.toLowerCase() ) ) 55 return FCK_TRISTATE_DISABLED ; 56 } 57 58 return FCK_TRISTATE_OFF ; 59 } 60}; 61