[ Index ]
 

Code source de Kupu-1.3.5

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

title

Body

[fermer]

/common/ -> kupuinit_experimental.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_experimental.js 9879 2005-03-18 12:04:00Z yuppie $
  12  
  13  
  14  //----------------------------------------------------------------------------
  15  // Sample initialization function
  16  //----------------------------------------------------------------------------
  17  
  18  function initKupu(iframe) {
  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      // the we create the document, hand it over the id of the iframe
  34      var doc = new KupuDocument(iframe);
  35      
  36      // now we can create the controller
  37      var kupu = new KupuEditor(doc, conf, l);
  38  
  39      var contextmenu = new ContextMenu();
  40      kupu.setContextMenu(contextmenu);
  41  
  42      // now we can create a UI object which we can use from the UI
  43      var ui = new KupuUI('kupu-tb-styles');
  44  
  45      // the ui must be registered to the editor like a tool so it can be notified
  46      // of state changes
  47      kupu.registerTool('ui', ui); // XXX Should this be a different method?
  48  
  49      // add the buttons to the toolbar
  50      var savebuttonfunc = function(button, editor) {editor.saveDocument()};
  51      var savebutton = new KupuButton('kupu-save-button', savebuttonfunc);
  52      kupu.registerTool('savebutton', savebutton);
  53  
  54      // function that returns a function to execute a button command
  55      var execCommand = function(cmd) {
  56          return function(button, editor) {
  57              editor.execCommand(cmd);
  58          };
  59      };
  60  
  61      var boldchecker = ParentWithStyleChecker(new Array('b', 'strong'),
  62                                               'fontWeight', 'bold');
  63      var boldbutton = new KupuStateButton('kupu-bold-button', 
  64                                           execCommand('bold'),
  65                                           boldchecker,
  66                                           'kupu-bold',
  67                                           'kupu-bold-pressed');
  68      kupu.registerTool('boldbutton', boldbutton);
  69  
  70      var italicschecker = ParentWithStyleChecker(new Array('i', 'em'),
  71                                                  'fontStyle', 'italic');
  72      var italicsbutton = new KupuStateButton('kupu-italic-button', 
  73                                             execCommand('italic'),
  74                                             italicschecker, 
  75                                             'kupu-italic', 
  76                                             'kupu-italic-pressed');
  77      kupu.registerTool('italicsbutton', italicsbutton);
  78  
  79      var underlinechecker = ParentWithStyleChecker(new Array('u'),
  80                                                  'textDecoration', 'underline');
  81      var underlinebutton = new KupuStateButton('kupu-underline-button', 
  82                                                execCommand('underline'),
  83                                                underlinechecker,
  84                                                'kupu-underline', 
  85                                                'kupu-underline-pressed');
  86      kupu.registerTool('underlinebutton', underlinebutton);
  87  
  88      var subscriptchecker = ParentWithStyleChecker(new Array('sub'));
  89      var subscriptbutton = new KupuStateButton('kupu-subscript-button',
  90                                                execCommand('subscript'),
  91                                                subscriptchecker,
  92                                                'kupu-subscript',
  93                                                'kupu-subscript-pressed');
  94      kupu.registerTool('subscriptbutton', subscriptbutton);
  95  
  96      var superscriptchecker = ParentWithStyleChecker(new Array('super', 'sup'));
  97      var superscriptbutton = new KupuStateButton('kupu-superscript-button', 
  98                                                  execCommand('superscript'),
  99                                                  superscriptchecker,
 100                                                  'kupu-superscript', 
 101                                                  'kupu-superscript-pressed');
 102      kupu.registerTool('superscriptbutton', superscriptbutton);
 103  
 104      var justifyleftbutton = new KupuButton('kupu-justifyleft-button',
 105                                             execCommand('justifyleft'));
 106      kupu.registerTool('justifyleftbutton', justifyleftbutton);
 107  
 108      var justifycenterbutton = new KupuButton('kupu-justifycenter-button',
 109                                               execCommand('justifycenter'));
 110      kupu.registerTool('justifycenterbutton', justifycenterbutton);
 111  
 112      var justifyrightbutton = new KupuButton('kupu-justifyright-button',
 113                                              execCommand('justifyright'));
 114      kupu.registerTool('justifyrightbutton', justifyrightbutton);
 115  
 116      var outdentbutton = new KupuButton('kupu-outdent-button', execCommand('outdent'));
 117      kupu.registerTool('outdentbutton', outdentbutton);
 118  
 119      var indentbutton = new KupuButton('kupu-indent-button', execCommand('indent'));
 120      kupu.registerTool('indentbutton', indentbutton);
 121  
 122      var undobutton = new KupuButton('kupu-undo-button', execCommand('undo'));
 123      kupu.registerTool('undobutton', undobutton);
 124  
 125      var redobutton = new KupuButton('kupu-redo-button', execCommand('redo'));
 126      kupu.registerTool('redobutton', redobutton);
 127  
 128      var removeimagebutton = new KupuRemoveElementButton('kupu-removeimage-button',
 129                              'img',
 130                              'kupu-removeimage');
 131      kupu.registerTool('removeimagebutton', removeimagebutton);
 132      var removelinkbutton = new KupuRemoveElementButton('kupu-removelink-button',
 133                                 'a',
 134                                 'kupu-removelink');
 135      kupu.registerTool('removelinkbutton', removelinkbutton);
 136  
 137      // add some tools
 138      // XXX would it be better to pass along elements instead of ids?
 139      var colorchoosertool = new ColorchooserTool('kupu-forecolor-button',
 140                                                  'kupu-hilitecolor-button',
 141                                                  'kupu-colorchooser');
 142      kupu.registerTool('colorchooser', colorchoosertool);
 143  
 144      var listtool = new ListTool('kupu-list-ul-addbutton',
 145                                  'kupu-list-ol-addbutton',
 146                                  'kupu-ulstyles', 'kupu-olstyles');
 147      kupu.registerTool('listtool', listtool);
 148  
 149      // since we use the inspector we don't need much else ;)
 150      var inspector = new KupuInspector('kupu-inspector-form');
 151      kupu.registerTool('inspector', inspector);
 152      
 153      var linktool = new LinkTool();
 154      kupu.registerTool('linktool', linktool);
 155  
 156      var imagetool = new ImageTool();
 157      kupu.registerTool('imagetool', imagetool);
 158  
 159      var tabletool = new TableTool();
 160      kupu.registerTool('tabletool', tabletool);
 161  
 162      var showpathtool = new ShowPathTool();
 163      kupu.registerTool('showpathtool', showpathtool);
 164      
 165      var viewsourcetool = new ViewSourceTool();
 166      kupu.registerTool('viewsourcetool', viewsourcetool);
 167  
 168      // Drawers...
 169  
 170      // Function that returns function to open a drawer
 171      var opendrawer = function(drawerid) {
 172          return function(button, editor) {
 173              drawertool.openDrawer(drawerid);
 174          };
 175      };
 176  
 177      var imagelibdrawerbutton = new KupuButton('kupu-imagelibdrawer-button',
 178                                                opendrawer('imagelibdrawer'));
 179      kupu.registerTool('imagelibdrawerbutton', imagelibdrawerbutton);
 180  
 181      var linklibdrawerbutton = new KupuButton('kupu-linklibdrawer-button',
 182                                               opendrawer('linklibdrawer'));
 183      kupu.registerTool('linklibdrawerbutton', linklibdrawerbutton);
 184  
 185      var linkdrawerbutton = new KupuButton('kupu-linkdrawer-button',
 186                                            opendrawer('linkdrawer'));
 187      kupu.registerTool('linkdrawerbutton', linkdrawerbutton);
 188  
 189      var tabledrawerbutton = new KupuButton('kupu-tabledrawer-button',
 190                                             opendrawer('tabledrawer'));
 191      kupu.registerTool('tabledrawerbutton', tabledrawerbutton);
 192  
 193      // create some drawers, drawers are some sort of popups that appear when a 
 194      // toolbar button is clicked
 195      var drawertool = new DrawerTool();
 196      kupu.registerTool('drawertool', drawertool);
 197  
 198      var linklibdrawer = new LinkLibrarydrawer(linktool, conf['link_xsl_uri'],
 199                                                conf['link_libraries_uri'],
 200                                                conf['link_images_uri']);
 201      drawertool.registerDrawer('linklibdrawer', linklibdrawer);
 202  
 203      var imagelibdrawer = new ImageLibrarydrawer(imagetool, conf['image_xsl_uri'],
 204                                                  conf['image_libraries_uri'],
 205                                                  conf['search_images_uri']);
 206      drawertool.registerDrawer('imagelibdrawer', imagelibdrawer);
 207  
 208      var linkdrawer = new LinkDrawer('kupu-linkdrawer', linktool);
 209      drawertool.registerDrawer('linkdrawer', linkdrawer);
 210  
 211      var tabledrawer = new TableDrawer('kupu-tabledrawer', tabletool);
 212      drawertool.registerDrawer('tabledrawer', tabledrawer);
 213  
 214      // register some cleanup filter
 215      // remove tags that aren't in the XHTML DTD
 216      var nonxhtmltagfilter = new NonXHTMLTagFilter();
 217      kupu.registerFilter(nonxhtmltagfilter);
 218  
 219      return kupu;
 220  };


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