[ Index ] |
|
Code source de Kupu-1.3.5 |
1 /***************************************************************************** 2 * 3 * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved. 4 * 5 * This software is distributed under the terms of the Kupu 6 * License. See LICENSE.txt for license text. For a list of Kupu 7 * Contributors see CREDITS.txt. 8 * 9 *****************************************************************************/ 10 11 // $Id: kupuinit_multi.js 6259 2004-09-01 15:25:36Z guido $ 12 13 14 //---------------------------------------------------------------------------- 15 // Sample initialization function 16 //---------------------------------------------------------------------------- 17 18 function initKupu(iframeids) { 19 /* Although this is meant to be a sample implementation, it can 20 be used out-of-the box to run the sample pagetemplate or for simple 21 implementations that just don't use some elements. When you want 22 to do some customization, this should probably be overridden. For 23 larger customization actions you will have to subclass or roll your 24 own UI object. 25 */ 26 27 // first we create a logger 28 var l = new PlainLogger('kupu-toolbox-debuglog', 5); 29 30 // now some config values 31 var conf = loadDictFromXML(document, 'kupuconfig'); 32 33 var documents = new Array(); 34 for (var i=0; i < iframeids.length; i++) { 35 var iframe = getFromSelector(iframeids[i]); 36 documents.push(new KupuDocument(iframe)); 37 }; 38 39 var kupu = new KupuMultiEditor(documents, conf, l); 40 41 /* doesn't work yet 42 var contextmenu = new ContextMenu(); 43 kupu.setContextMenu(contextmenu); 44 */ 45 46 // now we can create a UI object which we can use from the UI 47 var ui = new KupuUI('kupu-tb-styles'); 48 49 // the ui must be registered to the editor like a tool so it can be notified 50 // of state changes 51 kupu.registerTool('ui', ui); // XXX Should this be a different method? 52 53 // function that returns a function to execute a button command 54 var execCommand = function(cmd) { 55 return function(button, editor) { 56 editor.execCommand(cmd); 57 }; 58 }; 59 60 var boldchecker = ParentWithStyleChecker(new Array('b', 'strong'), 61 'fontWeight', 'bold'); 62 var boldbutton = new KupuStateButton('kupu-bold-button', 63 execCommand('bold'), 64 boldchecker, 65 'kupu-bold', 66 'kupu-bold-pressed'); 67 kupu.registerTool('boldbutton', boldbutton); 68 69 var italicschecker = ParentWithStyleChecker(new Array('i', 'em'), 70 'fontStyle', 'italic'); 71 var italicsbutton = new KupuStateButton('kupu-italic-button', 72 execCommand('italic'), 73 italicschecker, 74 'kupu-italic', 75 'kupu-italic-pressed'); 76 kupu.registerTool('italicsbutton', italicsbutton); 77 78 var underlinechecker = ParentWithStyleChecker(new Array('u'), 79 'textDecoration', 'underline'); 80 var underlinebutton = new KupuStateButton('kupu-underline-button', 81 execCommand('underline'), 82 underlinechecker, 83 'kupu-underline', 84 'kupu-underline-pressed'); 85 kupu.registerTool('underlinebutton', underlinebutton); 86 87 var subscriptchecker = ParentWithStyleChecker(new Array('sub')); 88 var subscriptbutton = new KupuStateButton('kupu-subscript-button', 89 execCommand('subscript'), 90 subscriptchecker, 91 'kupu-subscript', 92 'kupu-subscript-pressed'); 93 kupu.registerTool('subscriptbutton', subscriptbutton); 94 95 var superscriptchecker = ParentWithStyleChecker(new Array('super', 'sup')); 96 var superscriptbutton = new KupuStateButton('kupu-superscript-button', 97 execCommand('superscript'), 98 superscriptchecker, 99 'kupu-superscript', 100 'kupu-superscript-pressed'); 101 kupu.registerTool('superscriptbutton', superscriptbutton); 102 103 var justifyleftbutton = new KupuButton('kupu-justifyleft-button', 104 execCommand('justifyleft')); 105 kupu.registerTool('justifyleftbutton', justifyleftbutton); 106 107 var justifycenterbutton = new KupuButton('kupu-justifycenter-button', 108 execCommand('justifycenter')); 109 kupu.registerTool('justifycenterbutton', justifycenterbutton); 110 111 var justifyrightbutton = new KupuButton('kupu-justifyright-button', 112 execCommand('justifyright')); 113 kupu.registerTool('justifyrightbutton', justifyrightbutton); 114 115 var outdentbutton = new KupuButton('kupu-outdent-button', execCommand('outdent')); 116 kupu.registerTool('outdentbutton', outdentbutton); 117 118 var indentbutton = new KupuButton('kupu-indent-button', execCommand('indent')); 119 kupu.registerTool('indentbutton', indentbutton); 120 121 var undobutton = new KupuButton('kupu-undo-button', execCommand('undo')); 122 kupu.registerTool('undobutton', undobutton); 123 124 var redobutton = new KupuButton('kupu-redo-button', execCommand('redo')); 125 kupu.registerTool('redobutton', redobutton); 126 127 var removeimagebutton = new KupuRemoveElementButton('kupu-removeimage-button', 128 'img', 129 'kupu-removeimage'); 130 kupu.registerTool('removeimagebutton', removeimagebutton); 131 var removelinkbutton = new KupuRemoveElementButton('kupu-removelink-button', 132 'a', 133 'kupu-removelink'); 134 kupu.registerTool('removelinkbutton', removelinkbutton); 135 136 // add some tools 137 // XXX would it be better to pass along elements instead of ids? 138 var colorchoosertool = new ColorchooserTool('kupu-forecolor-button', 139 'kupu-hilitecolor-button', 140 'kupu-colorchooser'); 141 kupu.registerTool('colorchooser', colorchoosertool); 142 143 var listtool = new ListTool('kupu-list-ul-addbutton', 144 'kupu-list-ol-addbutton', 145 'kupu-ulstyles', 'kupu-olstyles'); 146 kupu.registerTool('listtool', listtool); 147 148 var definitionlisttool = new DefinitionListTool('kupu-list-dl-addbutton'); 149 kupu.registerTool('definitionlisttool', definitionlisttool); 150 151 /* dunno if we'll ever want to support this 152 var proptool = new PropertyTool('kupu-properties-title', 'kupu-properties-description'); 153 kupu.registerTool('proptool', proptool); 154 */ 155 156 var linktool = new LinkTool(); 157 kupu.registerTool('linktool', linktool); 158 var linktoolbox = new LinkToolBox("kupu-link-input", "kupu-link-button", 'kupu-toolbox-links', 'kupu-toolbox', 'kupu-toolbox-active'); 159 linktool.registerToolBox('linktoolbox', linktoolbox); 160 161 var imagetool = new ImageTool(); 162 kupu.registerTool('imagetool', imagetool); 163 var imagetoolbox = new ImageToolBox('kupu-image-input', 'kupu-image-addbutton', 164 'kupu-image-float-select', 'kupu-toolbox-images', 165 'kupu-toolbox', 'kupu-toolbox-active'); 166 imagetool.registerToolBox('imagetoolbox', imagetoolbox); 167 168 var tabletool = new TableTool(); 169 kupu.registerTool('tabletool', tabletool); 170 var tabletoolbox = new TableToolBox('kupu-toolbox-addtable', 171 'kupu-toolbox-edittable', 'kupu-table-newrows', 'kupu-table-newcols', 172 'kupu-table-makeheader', 'kupu-table-classchooser', 'kupu-table-alignchooser', 173 'kupu-table-addtable-button', 'kupu-table-addrow-button', 'kupu-table-delrow-button', 174 'kupu-table-addcolumn-button', 'kupu-table-delcolumn-button', 175 'kupu-table-fix-button', 'kupu-table-fixall-button', 'kupu-toolbox-tables', 176 'kupu-toolbox', 'kupu-toolbox-active' 177 ); 178 tabletool.registerToolBox('tabletoolbox', tabletoolbox); 179 180 var showpathtool = new ShowPathTool(); 181 kupu.registerTool('showpathtool', showpathtool); 182 183 var sourceedittool = new MultiSourceEditTool('kupu-source-button', 184 'kupu-editor-textarea-'); 185 kupu.registerTool('sourceedittool', sourceedittool); 186 187 // Drawers... 188 189 // Function that returns function to open a drawer 190 var opendrawer = function(drawerid) { 191 return function(button, editor) { 192 drawertool.openDrawer(drawerid); 193 }; 194 }; 195 196 var imagelibdrawerbutton = new KupuButton('kupu-imagelibdrawer-button', 197 opendrawer('imagelibdrawer')); 198 kupu.registerTool('imagelibdrawerbutton', imagelibdrawerbutton); 199 200 var linklibdrawerbutton = new KupuButton('kupu-linklibdrawer-button', 201 opendrawer('linklibdrawer')); 202 kupu.registerTool('linklibdrawerbutton', linklibdrawerbutton); 203 204 var linkdrawerbutton = new KupuButton('kupu-linkdrawer-button', 205 opendrawer('linkdrawer')); 206 kupu.registerTool('linkdrawerbutton', linkdrawerbutton); 207 208 var tabledrawerbutton = new KupuButton('kupu-tabledrawer-button', 209 opendrawer('tabledrawer')); 210 kupu.registerTool('tabledrawerbutton', tabledrawerbutton); 211 212 // create some drawers, drawers are some sort of popups that appear when a 213 // toolbar button is clicked 214 var drawertool = new DrawerTool(); 215 kupu.registerTool('drawertool', drawertool); 216 217 var linklibdrawer = new LinkLibraryDrawer(linktool, conf['link_xsl_uri'], 218 conf['link_libraries_uri'], 219 conf['link_images_uri']); 220 drawertool.registerDrawer('linklibdrawer', linklibdrawer); 221 222 var imagelibdrawer = new ImageLibraryDrawer(imagetool, conf['image_xsl_uri'], 223 conf['image_libraries_uri'], 224 conf['search_images_uri']); 225 drawertool.registerDrawer('imagelibdrawer', imagelibdrawer); 226 227 var linkdrawer = new LinkDrawer('kupu-linkdrawer', linktool); 228 drawertool.registerDrawer('linkdrawer', linkdrawer); 229 230 var tabledrawer = new TableDrawer('kupu-tabledrawer', tabletool); 231 drawertool.registerDrawer('tabledrawer', tabledrawer); 232 233 // register some cleanup filter 234 // remove tags that aren't in the XHTML DTD 235 var nonxhtmltagfilter = new NonXHTMLTagFilter(); 236 kupu.registerFilter(nonxhtmltagfilter); 237 238 return kupu; 239 };
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 15:30:41 2007 | par Balluche grâce à PHPXref 0.7 |