fcktoolbarspecialcombo.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * File Name: fcktoolbarspecialcombo.js
  12.  *  FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used
  13.  *  by the special combo toolbar elements like font name, font size, paragraph format, etc...
  14.  * 
  15.  *  The following properties and methods must be implemented when inheriting from
  16.  *  this class:
  17.  *  - Property: Command [ The command to be executed ]
  18.  *  - Method: GetLabel() [ Returns the label ]
  19.  *  - CreateItems( targetSpecialCombo ) [ Add all items in the special combo ]
  20.  * 
  21.  * File Authors:
  22.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  23.  */
  24. var FCKToolbarSpecialCombo = function()
  25. {
  26. this.SourceView = false ;
  27. this.ContextSensitive = true ;
  28. }
  29. function FCKToolbarSpecialCombo_OnSelect( itemId, item )
  30. {
  31. this.Command.Execute( itemId, item ) ;
  32. }
  33. FCKToolbarSpecialCombo.prototype.CreateInstance = function( parentToolbar )
  34. {
  35. this._Combo = new FCKSpecialCombo( this.GetLabel() ) ;
  36. this._Combo.FieldWidth = 100 ;
  37. this._Combo.PanelWidth = 150 ;
  38. this._Combo.PanelMaxHeight = 150 ;
  39. this.CreateItems( this._Combo ) ;
  40. this._Combo.Create( parentToolbar.DOMRow.insertCell(-1) ) ;
  41. this._Combo.Command = this.Command ;
  42. this._Combo.OnSelect = FCKToolbarSpecialCombo_OnSelect ;
  43. }
  44. function FCKToolbarSpecialCombo_RefreshActiveItems( combo, value )
  45. {
  46. combo.DeselectAll() ;
  47. combo.SelectItem( value ) ;
  48. combo.SetLabelById( value ) ;
  49. }
  50. FCKToolbarSpecialCombo.prototype.RefreshState = function()
  51. {
  52. // Gets the actual state.
  53. var eState ;
  54. // if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
  55. // eState = FCK_TRISTATE_DISABLED ;
  56. // else
  57. // {
  58. var sValue = this.Command.GetState() ;
  59. if ( sValue != FCK_TRISTATE_DISABLED )
  60. {
  61. eState = FCK_TRISTATE_ON ;
  62. if ( this.RefreshActiveItems )
  63. this.RefreshActiveItems( this._Combo, sValue ) ;
  64. else
  65. FCKToolbarSpecialCombo_RefreshActiveItems( this._Combo, sValue ) ;
  66. }
  67. else
  68. eState = FCK_TRISTATE_DISABLED ;
  69. // }
  70. // If there are no state changes then do nothing and return.
  71. if ( eState == this.State ) return ;
  72. if ( eState == FCK_TRISTATE_DISABLED )
  73. {
  74. this._Combo.DeselectAll() ;
  75. this._Combo.SetLabel( '' ) ;
  76. }
  77. // Sets the actual state.
  78. this.State = eState ;
  79. // Updates the graphical state.
  80. this._Combo.SetEnabled( eState != FCK_TRISTATE_DISABLED ) ;
  81. }
  82. FCKToolbarSpecialCombo.prototype.Enable = function()
  83. {
  84. this.RefreshState() ;
  85. }
  86. FCKToolbarSpecialCombo.prototype.Disable = function()
  87. {
  88. this.State = FCK_TRISTATE_DISABLED ;
  89. this._Combo.DeselectAll() ;
  90. this._Combo.SetLabel( '' ) ;
  91. this._Combo.SetEnabled( false ) ;
  92. }