/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. var FCKCoreStyleCommand = function( coreStyleName )
  26. {
  27. this.Name = 'CoreStyle' ;
  28. this.StyleName = '_FCK_' + coreStyleName ;
  29. this.IsActive = false ;
  30. FCKStyles.AttachStyleStateChange( this.StyleName, this._OnStyleStateChange, this ) ;
  31. }
  32. FCKCoreStyleCommand.prototype =
  33. {
  34. Execute : function()
  35. {
  36. FCKUndo.SaveUndoStep() ;
  37. if ( this.IsActive )
  38. FCKStyles.RemoveStyle( this.StyleName ) ;
  39. else
  40. FCKStyles.ApplyStyle( this.StyleName ) ;
  41. FCK.Focus() ;
  42. FCK.Events.FireEvent( 'OnSelectionChange' ) ;
  43. },
  44. GetState : function()
  45. {
  46. if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
  47. return FCK_TRISTATE_DISABLED ;
  48. return this.IsActive ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
  49. },
  50. _OnStyleStateChange : function( styleName, isActive )
  51. {
  52. this.IsActive = isActive ;
  53. }
  54. };