1 /*
  2 Copyright (c) 2003-2012, 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.pluginDefinition} class, which
  8  *		contains the defintion of a plugin. This file is for documentation
  9  *		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 plugin objects to be
 15  *		passed to the {@link CKEDITOR.plugins.add} function.
 16  * @name CKEDITOR.pluginDefinition
 17  * @constructor
 18  * @example
 19  */
 20 
 21 /**
 22  * A list of plugins that are required by this plugin. Note that this property
 23  * doesn't guarantee the loading order of the plugins.
 24  * @name CKEDITOR.pluginDefinition.prototype.requires
 25  * @type Array
 26  * @example
 27  * CKEDITOR.plugins.add( 'sample',
 28  * {
 29  *     requires : [ 'button', 'selection' ]
 30  * });
 31  */
 32 
 33 /**
 34  * A list of language files available for this plugin. These files are stored inside
 35  * the "lang" directory, which is inside the plugin directory, follow the name
 36  * pattern of "langCode.js", and contain a language definition created with {@link CKEDITOR.pluginDefinition#setLang}.
 37  * While the plugin is being loaded, the editor checks this list to see if
 38  * a language file of the current editor language ({@link CKEDITOR.editor#langCode})
 39  * is available, and if so, loads it. Otherwise, the file represented by the first list item
 40  * in the list is loaded.
 41  * @name CKEDITOR.pluginDefinition.prototype.lang
 42  * @type Array
 43  * @example
 44  * CKEDITOR.plugins.add( 'sample',
 45  * {
 46  *     lang : [ 'en', 'fr' ]
 47  * });
 48  */
 49 
 50  /**
 51  * Function called on initialization of every editor instance created in the
 52  * page before the init() call task. The beforeInit function will be called for
 53  * all plugins, after that the init function is called for all of them. This
 54  * feature makes it possible to initialize things that could be used in the
 55  * init function of other plugins.
 56  * @name CKEDITOR.pluginDefinition.prototype.beforeInit
 57  * @function
 58  * @param {CKEDITOR.editor} editor The editor instance being initialized.
 59  * @example
 60  * CKEDITOR.plugins.add( 'sample',
 61  * {
 62  *     beforeInit : function( editor )
 63  *     {
 64  *         alert( 'Editor "' + editor.name + '" is to be initialized!' );
 65  *     }
 66  * });
 67  */
 68 
 69  /**
 70  * Function called on initialization of every editor instance created in the
 71  * page.
 72  * @name CKEDITOR.pluginDefinition.prototype.init
 73  * @function
 74  * @param {CKEDITOR.editor} editor The editor instance being initialized.
 75  * @example
 76  * CKEDITOR.plugins.add( 'sample',
 77  * {
 78  *     init : function( editor )
 79  *     {
 80  *         alert( 'Editor "' + editor.name + '" is being initialized!' );
 81  *     }
 82  * });
 83  */
 84