Hacked By AnonymousFox

Current Path : C:/AppServ/www/new_msd1/webengine/lib/htmleditor/editor/_source/commandclasses/
Upload File :
Current File : C:/AppServ/www/new_msd1/webengine/lib/htmleditor/editor/_source/commandclasses/fckstylecommand.js

/*

 * FCKeditor - The text editor for internet

 * Copyright (C) 2003-2006 Frederico Caldeira Knabben

 * 

 * Licensed under the terms of the GNU Lesser General Public License:

 * 		http://www.opensource.org/licenses/lgpl-license.php

 * 

 * For further information visit:

 * 		http://www.fckeditor.net/

 * 

 * "Support Open Source software. What about a donation today?"

 * 

 * File Name: fckstylecommand.js

 * 	FCKStyleCommand Class: represents the "Style" command.

 * 

 * File Authors:

 * 		Frederico Caldeira Knabben (fredck@fckeditor.net)

 */



var FCKStyleCommand = function()

{

	this.Name = 'Style' ;



	// Load the Styles defined in the XML file.

	this.StylesLoader = new FCKStylesLoader() ;

	this.StylesLoader.Load( FCKConfig.StylesXmlPath ) ;

	this.Styles = this.StylesLoader.Styles ;

}



FCKStyleCommand.prototype.Execute = function( styleName, styleComboItem )

{

	FCKUndo.SaveUndoStep() ;



	if ( styleComboItem.Selected )

		styleComboItem.Style.RemoveFromSelection() ;

	else

		styleComboItem.Style.ApplyToSelection() ;



	FCKUndo.SaveUndoStep() ;



	FCK.Focus() ;

	

	FCK.Events.FireEvent( "OnSelectionChange" ) ;

}



FCKStyleCommand.prototype.GetState = function()

{

	if ( !FCK.EditorDocument )

		return FCK_TRISTATE_DISABLED ;



	var oSelection = FCK.EditorDocument.selection ;

	

	if ( FCKSelection.GetType() == 'Control' )

	{

		var e = FCKSelection.GetSelectedElement() ;

		if ( e )

			return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;

	}



	return FCK_TRISTATE_OFF ;

}



FCKStyleCommand.prototype.GetActiveStyles = function()

{

	var aActiveStyles = new Array() ;

	

	if ( FCKSelection.GetType() == 'Control' )

		this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ;

	else

		this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ;

		

	return aActiveStyles ;

}



FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent )

{

	if ( ! element )

		return ;



	if ( element.nodeType == 1 )

	{

		var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ;

		if ( aStyleGroup )

		{

			for ( var i = 0 ; i < aStyleGroup.length ; i++ )

			{

				if ( aStyleGroup[i].IsEqual( element ) )

					targetArray[ targetArray.length ] = aStyleGroup[i] ;

			}		

		}

	}

	

	if ( checkParent )

		this._CheckStyle( element.parentNode, targetArray, checkParent ) ;

}

Hacked By AnonymousFox1.0, Coded By AnonymousFox