547c3f879b5f17b6b73c55554d12e55c18c09267
[acontent.git] / docs / include / jscripts / tiny_mce / plugins / insert_tag / editor_plugin_src.js
1 /**\r
2  * $Id: $\r
3  *\r
4  * @author Laurel A. Williams\r
5  * @copyright Copyright © 2008, ATutor, All rights reserved.\r
6  */\r
7 \r
8 \r
9 (function() {\r
10         // Load plugin specific language pack\r
11         tinymce.PluginManager.requireLangPack('insert_tag');\r
12 \r
13         tinymce.create('tinymce.plugins.Insert_tagPlugin', {\r
14                 /**\r
15                  * Creates control instances based in the incoming name. This method is\r
16                  * normally not needed since the addButton method of the tinymce.Editor\r
17                  * class is a more easy way of adding buttons but you sometimes need to\r
18                  * create more complex controls like listboxes, split buttons etc then\r
19                  * this method can be used to create those.\r
20                  * \r
21                  * @param {String}\r
22                  *            n Name of the control to create.\r
23                  * @param {tinymce.ControlManager}\r
24                  *            cm Control manager to use to create new control.\r
25                  * @return {tinymce.ui.Control} New control instance or null if no\r
26                  *         control was created.\r
27                  */\r
28                 createControl: function(n, cm) {\r
29                         var editor = tinyMCE.activeEditor;\r
30                         switch (n) {\r
31                                 case 'insert_tag':\r
32                                         var pluginImgURL = tinymce.baseURL + '/plugins/insert_tag/img/';\r
33                                         var c = cm.createMenuButton('insert_tag', {\r
34                                                 title : 'insert_tag.desc',\r
35                                                 image : pluginImgURL + 'insert_tag.png',\r
36                                                 cmd : 'mceInsert_tag'\r
37                                         });\r
38                                         \r
39                                         c.onRenderMenu.add(function(c, m) {\r
40                                                 m.add({\r
41                                                         //image: pluginImgURL + 'insert_tag.png',\r
42                                                         title : 'insert_tag.term',\r
43                                                         onclick : function() {\r
44                                                                 editor.execCommand('mceInsertContent', false, '[?][/?]');\r
45                                                         }\r
46                                                 });\r
47         \r
48                                                 m.add({\r
49                                                         title : 'insert_tag.code', \r
50                                                         onclick : function() {\r
51                                                                 editor.execCommand('mceInsertContent', false, '[code][/code]');\r
52                                                         }\r
53                                                 });\r
54                                                 \r
55                                                 m.add({\r
56                                                         title : 'insert_tag.media', \r
57                                                         onclick : function() {\r
58                                                                 editor.execCommand('mceInsertContent', false, '[media|640|480]http://[/media]');\r
59                                                         }\r
60                                                 });\r
61                                         });\r
62                  \r
63                                         // Return the new menu button instance\r
64                                         return c;\r
65                                 }\r
66                                 return null;\r
67                 },      \r
68                 \r
69                 \r
70                 \r
71                 /**\r
72                  * Returns information about the plugin as a name/value array. The\r
73                  * current keys are longname, author, authorurl, infourl and version.\r
74                  * \r
75                  * @return {Object} Name/value array containing information about the\r
76                  *         plugin.\r
77                  */\r
78                 getInfo : function() {\r
79                         return {\r
80                                 longname : 'Insert tag plugin',\r
81                                 author : 'ATutor',\r
82                                 authorurl : 'http://www.atutor.ca',\r
83                                 infourl : 'http://www.atutor.ca',\r
84                                 version : "0.1alpha"\r
85                         };\r
86                 }\r
87         });\r
88 \r
89         // Register plugin\r
90         tinymce.PluginManager.add('insert_tag', tinymce.plugins.Insert_tagPlugin);\r
91 })();