d9dc526d6e2b0ca6296ae5baf4cf6927630e5e93
[ckeditor.git] / _source / core / plugindefinition.js
1 /*
2 Copyright (c) 2003-2011, 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 */