[ Index ]
 

Code source de Kupu-1.3.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/common/ -> kupuinit_multi.js (source)

   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  };


Généré le : Sun Feb 25 15:30:41 2007 par Balluche grâce à PHPXref 0.7