source: companies/serpro/news_admin/templates/celepar/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js @ 903

Revision 903, 2.9 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

Line 
1/*
2 * FCKeditor - The text editor for internet
3 * Copyright (C) 2003-2006 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 * "Support Open Source software. What about a donation today?"
12 *
13 * File Name: fcktoolbarpanelbutton.js
14 *      FCKToolbarPanelButton Class: represents a special button in the toolbar
15 *      that shows a panel when pressed.
16 *
17 * File Authors:
18 *              Frederico Caldeira Knabben (fredck@fckeditor.net)
19 */
20
21var FCKToolbarPanelButton = function( commandName, label, tooltip, style, icon )
22{
23        this.CommandName = commandName ;
24
25        var oIcon ;
26       
27        if ( icon == null )
28                oIcon = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ;
29        else if ( typeof( icon ) == 'number' )
30                oIcon = [ FCKConfig.SkinPath + 'fck_strip.gif', 16, icon ] ;
31       
32        var oUIButton = this._UIButton = new FCKToolbarButtonUI( commandName, label, tooltip, oIcon, style ) ;
33        oUIButton._FCKToolbarPanelButton = this ;
34        oUIButton.ShowArrow = true ;
35        oUIButton.OnClick = FCKToolbarPanelButton_OnButtonClick ;
36}
37
38FCKToolbarPanelButton.prototype.TypeName = 'FCKToolbarPanelButton' ;
39
40FCKToolbarPanelButton.prototype.Create = function( parentElement )
41{
42        parentElement.className += 'Menu' ;
43
44        this._UIButton.Create( parentElement ) ;
45       
46        var oPanel = FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( this.CommandName )._Panel ;
47        oPanel._FCKToolbarPanelButton = this ;
48       
49        var eLineDiv = oPanel.Document.body.appendChild( oPanel.Document.createElement( 'div' ) ) ;
50        eLineDiv.style.position = 'absolute' ;
51        eLineDiv.style.top = '0px' ;
52       
53        var eLine = this.LineImg = eLineDiv.appendChild( oPanel.Document.createElement( 'IMG' ) ) ;
54        eLine.className = 'TB_ConnectionLine' ;
55//      eLine.style.backgroundColor = 'Red' ;
56        eLine.src = FCK_SPACER_PATH ;
57
58        oPanel.OnHide = FCKToolbarPanelButton_OnPanelHide ;
59}
60
61/*
62        Events
63*/
64
65function FCKToolbarPanelButton_OnButtonClick( toolbarButton )
66{
67        var oButton = this._FCKToolbarPanelButton ;
68        var e = oButton._UIButton.MainElement ;
69       
70        oButton._UIButton.ChangeState( FCK_TRISTATE_ON ) ;
71       
72        oButton.LineImg.style.width = ( e.offsetWidth - 2 ) + 'px' ;
73
74        FCK.ToolbarSet.CurrentInstance.Commands.GetCommand( oButton.CommandName ).Execute( 0, e.offsetHeight - 1, e ) ; // -1 to be over the border
75}
76
77function FCKToolbarPanelButton_OnPanelHide()
78{
79        var oMenuButton = this._FCKToolbarPanelButton ;
80        oMenuButton._UIButton.ChangeState( FCK_TRISTATE_OFF ) ;
81}
82
83// The Panel Button works like a normal button so the refresh state functions
84// defined for the normal button can be reused here.
85FCKToolbarPanelButton.prototype.RefreshState    = FCKToolbarButton.prototype.RefreshState ;
86FCKToolbarPanelButton.prototype.Enable                  = FCKToolbarButton.prototype.Enable ;
87FCKToolbarPanelButton.prototype.Disable                 = FCKToolbarButton.prototype.Disable ;
Note: See TracBrowser for help on using the repository browser.