2 * FCKMobileLinkCommand Class: represents the "Emoji" command.
\r
4 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
\r
6 * @package Magic3 Framework
\r
7 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
\r
8 * @copyright Copyright 2006-2008 Magic3 Project.
\r
9 * @license http://www.gnu.org/copyleft/gpl.html GPL License
\r
10 * @version SVN: $Id: fckplugin.js 3480 2010-08-16 09:27:01Z fishbone $
\r
11 * @link http://www.magic3.org
\r
13 var linkObj = new FCKDialogCommand('MobileLink', FCKLang.DlgLnkWindowTitle, FCKPlugins.Items['MobileLink'].Path + 'mobilelink.html', 400, 300);
\r
14 FCKCommands.RegisterCommand('MobileLink', linkObj);
\r
17 linkObj.GetState = function()
\r
20 if (FCK.EditMode != FCK_EDITMODE_WYSIWYG) return FCK_TRISTATE_DISABLED;
\r
22 if (!this._IsSelectedString()) return FCK_TRISTATE_DISABLED;
\r
24 return FCK_TRISTATE_OFF;// ツールバー上のボタンを使用可にする
\r
26 linkObj._IsSelectedString = function()
\r
28 if (FCKBrowserInfo.IsIE){
\r
30 var selObj = FCK.ToolbarSet.CurrentInstance.EditorDocument.selection;
\r
31 if (selObj.type == 'Text'){
\r
32 var rangeObj = selObj.createRange();
\r
33 if (rangeObj.htmlText.length > 0) return true;
\r
36 if (FCKSelection.GetType() == 'Text'){
\r
37 var selObj = FCK.EditorWindow.getSelection();
\r
38 if (selObj && selObj.anchorOffset < selObj.focusOffset) return true;
\r
45 var toolbarItem = new FCKToolbarButton('MobileLink', FCKLang.InsertLinkLbl, FCKLang.InsertLink, null, false, true, 34);
\r
46 FCKToolbarItems.RegisterItem('MobileLink', toolbarItem);
\r
49 FCK.ContextMenu.RegisterListener({
\r
50 AddItems : function(menu, tag, tagName)
\r
52 var bInsideLink = ( tagName == 'A' || FCKSelection.HasAncestorNode( 'A' ) ) ;
\r
54 if ( bInsideLink || FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED )
\r
56 // Go up to the anchor to test its properties
\r
57 var oLink = FCKSelection.MoveToAncestorNode( 'A' ) ;
\r
58 var bIsAnchor = ( oLink && oLink.name.length > 0 && oLink.href.length == 0 ) ;
\r
59 // If it isn't a link then don't add the Link context menu
\r
63 // 既存項目をすべて削除後追加(デフォルトのリンク作成項目と二重に登録されるため)
\r
64 menu.RemoveAllItems();
\r
66 menu.AddItem( 'MobileLink', FCKLang.EditLink , 34 ) ;
\r
67 menu.AddItem( 'Unlink' , FCKLang.RemoveLink , 35 ) ;
\r