📄 fcktoolbarbutton.js
字号:
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2005 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: fcktoolbarbutton.js
* FCKToolbarButton Class: represents a button in the toolbar.
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
var FCKToolbarButton = function( commandName, label, tooltip, style, sourceView, contextSensitive )
{
this.Command = FCKCommands.GetCommand( commandName ) ;
this.Label = label ? label : commandName ;
this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ;
this.Style = style ? style : FCK_TOOLBARITEM_ONLYICON ;
this.SourceView = sourceView ? true : false ;
this.ContextSensitive = contextSensitive ? true : false ;
this.IconPath = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ;
this.State = FCK_UNKNOWN ;
}
FCKToolbarButton.prototype.CreateInstance = function( parentToolbar )
{
this.DOMDiv = document.createElement( 'div' ) ;
this.DOMDiv.className = 'TB_Button_Off' ;
this.DOMDiv.FCKToolbarButton = this ;
var sHtml =
'<table title="' + this.Tooltip + '" cellspacing="0" cellpadding="0" border="0">' +
'<tr>' ;
if ( this.Style != FCK_TOOLBARITEM_ONLYTEXT )
sHtml += '<td class="TB_Icon"><img src="' + this.IconPath + '" width="21" height="21"></td>' ;
if ( this.Style != FCK_TOOLBARITEM_ONLYICON )
sHtml += '<td class="TB_Text" nowrap>' + this.Label + '</td>' ;
sHtml +=
'</tr>' +
'</table>' ;
this.DOMDiv.innerHTML = sHtml ;
var oCell = parentToolbar.DOMRow.insertCell(-1) ;
oCell.appendChild( this.DOMDiv ) ;
this.RefreshState() ;
}
FCKToolbarButton.prototype.RefreshState = function()
{
/*
TODO: Delete this comment block on stable version.
// Gets the actual state.
// var eState ;
// if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
// eState = FCK_TRISTATE_DISABLED ;
// else
*/
// Gets the actual state.
var eState = this.Command.GetState() ;
// If there are no state changes than do nothing and return.
if ( eState == this.State ) return ;
// Sets the actual state.
this.State = eState ;
switch ( this.State )
{
case FCK_TRISTATE_ON :
this.DOMDiv.className = 'TB_Button_On' ;
this.DOMDiv.onmouseover = FCKToolbarButton_OnMouseOnOver ;
this.DOMDiv.onmouseout = FCKToolbarButton_OnMouseOnOut ;
this.DOMDiv.onclick = FCKToolbarButton_OnClick ;
break ;
case FCK_TRISTATE_OFF :
this.DOMDiv.className = 'TB_Button_Off' ;
this.DOMDiv.onmouseover = FCKToolbarButton_OnMouseOffOver ;
this.DOMDiv.onmouseout = FCKToolbarButton_OnMouseOffOut ;
this.DOMDiv.onclick = FCKToolbarButton_OnClick ;
break ;
default :
this.Disable() ;
break ;
}
}
function FCKToolbarButton_OnMouseOnOver()
{
this.className = 'TB_Button_On TB_Button_On_Over' ;
}
function FCKToolbarButton_OnMouseOnOut()
{
this.className = 'TB_Button_On' ;
}
function FCKToolbarButton_OnMouseOffOver()
{
this.className = 'TB_Button_On TB_Button_Off_Over' ;
}
function FCKToolbarButton_OnMouseOffOut()
{
this.className = 'TB_Button_Off' ;
}
function FCKToolbarButton_OnClick(e)
{
this.FCKToolbarButton.Click(e) ;
return false ;
}
FCKToolbarButton.prototype.Click = function()
{
this.Command.Execute() ;
}
FCKToolbarButton.prototype.Enable = function()
{
this.RefreshState() ;
}
FCKToolbarButton.prototype.Disable = function()
{
this.State = FCK_TRISTATE_DISABLED ;
this.DOMDiv.className = 'TB_Button_Disabled' ;
this.DOMDiv.onmouseover = null ;
this.DOMDiv.onmouseout = null ;
this.DOMDiv.onclick = null ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -