2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
\r
3 * Copyright (C) 2003-2009 Frederico Caldeira Knabben
\r
5 * == BEGIN LICENSE ==
\r
7 * Licensed under the terms of any of the following licenses at your
\r
10 * - GNU General Public License Version 2 or later (the "GPL")
\r
11 * http://www.gnu.org/licenses/gpl.html
\r
13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
\r
14 * http://www.gnu.org/licenses/lgpl.html
\r
16 * - Mozilla Public License Version 1.1 or later (the "MPL")
\r
17 * http://www.mozilla.org/MPL/MPL-1.1.html
\r
21 * FCKPastePlainTextCommand Class: represents the
\r
22 * "Paste as Plain Text" command.
\r
25 var FCKTableCommand = function( command )
\r
27 this.Name = command ;
\r
30 FCKTableCommand.prototype.Execute = function()
\r
32 FCKUndo.SaveUndoStep() ;
\r
34 if ( ! FCKBrowserInfo.IsGecko )
\r
36 switch ( this.Name )
\r
38 case 'TableMergeRight' :
\r
39 return FCKTableHandler.MergeRight() ;
\r
40 case 'TableMergeDown' :
\r
41 return FCKTableHandler.MergeDown() ;
\r
45 switch ( this.Name )
\r
47 case 'TableInsertRowAfter' :
\r
48 return FCKTableHandler.InsertRow( false ) ;
\r
49 case 'TableInsertRowBefore' :
\r
50 return FCKTableHandler.InsertRow( true ) ;
\r
51 case 'TableDeleteRows' :
\r
52 return FCKTableHandler.DeleteRows() ;
\r
53 case 'TableInsertColumnAfter' :
\r
54 return FCKTableHandler.InsertColumn( false ) ;
\r
55 case 'TableInsertColumnBefore' :
\r
56 return FCKTableHandler.InsertColumn( true ) ;
\r
57 case 'TableDeleteColumns' :
\r
58 return FCKTableHandler.DeleteColumns() ;
\r
59 case 'TableInsertCellAfter' :
\r
60 return FCKTableHandler.InsertCell( null, false ) ;
\r
61 case 'TableInsertCellBefore' :
\r
62 return FCKTableHandler.InsertCell( null, true ) ;
\r
63 case 'TableDeleteCells' :
\r
64 return FCKTableHandler.DeleteCells() ;
\r
65 case 'TableMergeCells' :
\r
66 return FCKTableHandler.MergeCells() ;
\r
67 case 'TableHorizontalSplitCell' :
\r
68 return FCKTableHandler.HorizontalSplitCell() ;
\r
69 case 'TableVerticalSplitCell' :
\r
70 return FCKTableHandler.VerticalSplitCell() ;
\r
71 case 'TableDelete' :
\r
72 return FCKTableHandler.DeleteTable() ;
\r
74 return alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ;
\r
78 FCKTableCommand.prototype.GetState = function()
\r
80 if ( FCK.EditorDocument != null && FCKSelection.HasAncestorNode( 'TABLE' ) )
\r
82 switch ( this.Name )
\r
84 case 'TableHorizontalSplitCell' :
\r
85 case 'TableVerticalSplitCell' :
\r
86 if ( FCKTableHandler.GetSelectedCells().length == 1 )
\r
87 return FCK_TRISTATE_OFF ;
\r
89 return FCK_TRISTATE_DISABLED ;
\r
90 case 'TableMergeCells' :
\r
91 if ( FCKTableHandler.CheckIsSelectionRectangular()
\r
92 && FCKTableHandler.GetSelectedCells().length > 1 )
\r
93 return FCK_TRISTATE_OFF ;
\r
95 return FCK_TRISTATE_DISABLED ;
\r
96 case 'TableMergeRight' :
\r
97 return FCKTableHandler.GetMergeRightTarget() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
\r
98 case 'TableMergeDown' :
\r
99 return FCKTableHandler.GetMergeDownTarget() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
\r
101 return FCK_TRISTATE_OFF ;
\r
105 return FCK_TRISTATE_DISABLED;
\r