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