PageRenderTime 10ms CodeModel.GetById 6ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/pigeoncms/Plugins/fckeditor/editor/_source/commandclasses/fckcorestylecommand.js

http://pigeoncms.googlecode.com/
JavaScript | 61 lines | 30 code | 7 blank | 24 comment | 3 complexity | 9cd6845af078aa1510092ceaa2084c28 MD5 | raw file
 1/*
 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 3 * Copyright (C) 2003-2009 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		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
53			return FCK_TRISTATE_DISABLED ;
54		return this.IsActive ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
55	},
56
57	_OnStyleStateChange : function( styleName, isActive )
58	{
59		this.IsActive = isActive ;
60	}
61 };