[ Index ]
 

Code source de vtiger CRM 5.0.2

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

title

Body

[fermer]

/include/fckeditor/editor/_source/classes/ -> fckstylesloader.js (source)

   1  /*
   2   * FCKeditor - The text editor for internet
   3   * Copyright (C) 2003-2005 Frederico Caldeira Knabben
   4   * 
   5   * Licensed under the terms of the GNU Lesser General Public License:
   6   *         http://www.opensource.org/licenses/lgpl-license.php
   7   * 
   8   * For further information visit:
   9   *         http://www.fckeditor.net/
  10   * 
  11   * "Support Open Source software. What about a donation today?"
  12   * 
  13   * File Name: fckstylesloader.js
  14   *     FCKStylesLoader Class: this class define objects that are responsible
  15   *     for loading the styles defined in the XML file.
  16   * 
  17   * File Authors:
  18   *         Frederico Caldeira Knabben (fredck@fckeditor.net)
  19   */
  20  
  21  var FCKStylesLoader = function()
  22  {
  23      this.Styles = new Object() ;
  24      this.StyleGroups = new Object() ;
  25      this.Loaded = false ;
  26      this.HasObjectElements = false ;
  27  }
  28  
  29  FCKStylesLoader.prototype.Load = function( stylesXmlUrl )
  30  {
  31      // Load the XML file into a FCKXml object.
  32      var oXml = new FCKXml() ;
  33      oXml.LoadUrl( stylesXmlUrl ) ;
  34      
  35      // Get the "Style" nodes defined in the XML file.
  36      var aStyleNodes = oXml.SelectNodes( 'Styles/Style' ) ;
  37      
  38      // Add each style to our "Styles" collection.
  39      for ( var i = 0 ; i < aStyleNodes.length ; i++ )
  40      {
  41          var sElement = aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase() ;
  42      
  43          // Create the style definition object.
  44          var oStyleDef = new FCKStyleDef( aStyleNodes[i].attributes.getNamedItem('name').value, sElement ) ;
  45          
  46          if ( oStyleDef.IsObjectElement )
  47              this.HasObjectElements = true ;
  48          
  49          // Get the attributes defined for the style (if any).
  50          var aAttNodes = oXml.SelectNodes( 'Attribute', aStyleNodes[i] ) ;
  51          
  52          // Add the attributes to the style definition object.
  53          for ( var j = 0 ; j < aAttNodes.length ; j++ )
  54          {
  55              var sAttName    = aAttNodes[j].attributes.getNamedItem('name').value ;
  56              var sAttValue    = aAttNodes[j].attributes.getNamedItem('value').value ;
  57  
  58              // IE changes the "style" attribute value when applied to an element
  59              // so we must get the final resulting value (for comparision issues).
  60              if ( sAttName.toLowerCase() == 'style' )
  61              {
  62                  var oTempE = document.createElement( 'SPAN' ) ;
  63                  oTempE.style.cssText = sAttValue ;
  64                  sAttValue = oTempE.style.cssText ;
  65              }
  66              
  67              oStyleDef.AddAttribute( sAttName, sAttValue ) ;
  68          }
  69  
  70          // Add the style to the "Styles" collection using it's name as the key.
  71          this.Styles[ oStyleDef.Name ] = oStyleDef ;
  72          
  73          // Add the style to the "StyleGroups" collection.
  74          var aGroup = this.StyleGroups[sElement] ;
  75          if ( aGroup == null )
  76          {
  77              this.StyleGroups[sElement] = new Array() ;
  78              aGroup = this.StyleGroups[sElement] ;
  79          }
  80          aGroup[aGroup.length] = oStyleDef ;
  81      }
  82      
  83      this.Loaded = true ;
  84  }


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7