1 /* 2 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 */ 5 6 /** 7 * @fileOverview Defines the "virtual" {@link CKEDITOR.commandDefinition} class, 8 * which contains the defintion of a command. This file is for 9 * documentation purposes only. 10 */ 11 12 /** 13 * (Virtual Class) Do not call this constructor. This class is not really part 14 * of the API. It just illustrates the features of command objects to be 15 * passed to the {@link CKEDITOR.editor.prototype.addCommand} function. 16 * @name CKEDITOR.commandDefinition 17 * @constructor 18 * @example 19 */ 20 21 /** 22 * Executes the command. 23 * @name CKEDITOR.commandDefinition.prototype.exec 24 * @function 25 * @param {CKEDITOR.editor} editor The editor within which run the command. 26 * @param {Object} [data] Additional data to be used to execute the command. 27 * @returns {Boolean} Whether the command has been successfully executed. 28 * Defaults to "true", if nothing is returned. 29 * @example 30 * editorInstance.addCommand( 'sample', 31 * { 32 * exec : function( editor ) 33 * { 34 * alert( 'Executing a command for the editor name "' + editor.name + '"!' ); 35 * } 36 * }); 37 */ 38 39 /** 40 * Whether the command need to be hooked into the redo/undo system. 41 * @name CKEDITOR.commandDefinition.canUndo 42 * @type {Boolean} If not defined or 'true' both hook into undo system, set it 43 * to 'false' explicitly keep it out. 44 * @field 45 * @example 46 * editorInstance.addCommand( 'alertName', 47 * { 48 * exec : function( editor ) 49 * { 50 * alert( editor.name ); 51 * }, 52 * canUndo : false // No support for undo/redo 53 * }); 54 */ 55 56 /** 57 * Whether the command is asynchronous, which means the 'afterCommandExec' event 58 * will be fired by the command itself manually, and the 'exec' function return value 59 * of this command is not to be returned. 60 * @name CKEDITOR.commandDefinition.async 61 * @type {Boolean} If defined as 'true', the command is asynchronous. 62 * @example 63 * editorInstance.addCommand( 'alertName', 64 * { 65 * exec : function( editor ) 66 * { 67 * // Asynchronous operation below. 68 * CKEDITOR.ajax.loadXml( 'data.xml' ); 69 * }, 70 * async : true // The command need some time to complete after exec function returns. 71 * }); 72 */ 73