Вход Регистрация
Файл: fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js
Строк: 111
<?php

/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2008 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used
 * by the special combo toolbar elements like font name, font size, paragraph format, etc...
 *
 * The following properties and methods must be implemented when inheriting from
 * this class:
 *     - Property:    CommandName                            [ The command name to be executed ]
 *     - Method:    GetLabel()                            [ Returns the label ]
 *     -            CreateItems( targetSpecialCombo )    [ Add all items in the special combo ]
 */

var FCKToolbarSpecialCombo = function()
{
    
this.SourceView            false ;
    
this.ContextSensitive    true ;
    
this.FieldWidth            null ;
    
this.PanelWidth            null ;
    
this.PanelMaxHeight        null ;
    
//this._LastValue            = null ;
}


FCKToolbarSpecialCombo.prototype.DefaultLabel '' ;

function 
FCKToolbarSpecialCombo_OnSelectitemIditem )
{
    
FCK.ToolbarSet.CurrentInstance.Commands.GetCommandthis.CommandName ).ExecuteitemIditem ) ;
}

FCKToolbarSpecialCombo.prototype.Create = function( targetElement )
{
    
this._Combo = new FCKSpecialCombothis.GetLabel(), this.FieldWidththis.PanelWidththis.PanelMaxHeightFCKBrowserInfo.IsIE window FCKTools.GetElementWindowtargetElement ).parent ) ;

    
/*
    this._Combo.FieldWidth        = this.FieldWidth        != null ? this.FieldWidth        : 100 ;
    this._Combo.PanelWidth        = this.PanelWidth        != null ? this.PanelWidth        : 150 ;
    this._Combo.PanelMaxHeight    = this.PanelMaxHeight    != null ? this.PanelMaxHeight    : 150 ;
    */

    //this._Combo.Command.Name = this.Command.Name;
//    this._Combo.Label    = this.Label ;
    
this._Combo.Tooltip    this.Tooltip ;
    
this._Combo.Style    this.Style ;

    
this.CreateItemsthis._Combo ) ;

    
this._Combo.CreatetargetElement ) ;

    
this._Combo.CommandName this.CommandName ;

    
this._Combo.OnSelect FCKToolbarSpecialCombo_OnSelect ;
}

function 
FCKToolbarSpecialCombo_RefreshActiveItemscombovalue )
{
    
combo.DeselectAll() ;
    
combo.SelectItemvalue ) ;
    
combo.SetLabelByIdvalue ) ;
}

FCKToolbarSpecialCombo.prototype.RefreshState = function()
{
    
// Gets the actual state.
    
var eState ;

//    if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
//        eState = FCK_TRISTATE_DISABLED ;
//    else
//    {
        
var sValue FCK.ToolbarSet.CurrentInstance.Commands.GetCommandthis.CommandName ).GetState() ;

//        FCKDebug.Output( 'RefreshState of Special Combo "' + this.TypeOf + '" - State: ' + sValue ) ;

        
if ( sValue != FCK_TRISTATE_DISABLED )
        {
            
eState FCK_TRISTATE_ON ;

            if ( 
this.RefreshActiveItems )
                
this.RefreshActiveItemsthis._CombosValue ) ;
            else
            {
                if ( 
this._LastValue !== sValue)
                {
                    
this._LastValue sValue ;

                    if ( !
sValue || sValue.length == )
                    {
                        
this._Combo.DeselectAll() ;
                        
this._Combo.SetLabelthis.DefaultLabel ) ;
                    }
                    else
                        
FCKToolbarSpecialCombo_RefreshActiveItemsthis._CombosValue ) ;
                }
            }
        }
        else
            
eState FCK_TRISTATE_DISABLED ;
//    }

    // If there are no state changes then do nothing and return.
    
if ( eState == this.State ) return ;

    if ( 
eState == FCK_TRISTATE_DISABLED )
    {
        
this._Combo.DeselectAll() ;
        
this._Combo.SetLabel'' ) ;
    }

    
// Sets the actual state.
    
this.State eState ;

    
// Updates the graphical state.
    
this._Combo.SetEnabledeState != FCK_TRISTATE_DISABLED ) ;
}

FCKToolbarSpecialCombo.prototype.Enable = function()
{
    
this.RefreshState() ;
}

FCKToolbarSpecialCombo.prototype.Disable = function()
{
    
this.State FCK_TRISTATE_DISABLED ;
    
this._Combo.DeselectAll() ;
    
this._Combo.SetLabel'' ) ;
    
this._Combo.SetEnabledfalse ) ;
}
?>
Онлайн: 0
Реклама