Ignore:
Timestamp:
10/02/08 17:07:26 (11 years ago)
Author:
douglas
Message:

FIXED Ticket #1176 Merging new dialogs branch back to trunk.

Location:
trunk/plugins/CharacterMap
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/CharacterMap/CharacterMap.css

    r677 r1044  
    1 .CharacterMap { } 
     1.CharacterMap {  
     2background-color:white; 
     3} 
    24.CharacterMap a.entity { 
    35  font-size:12px; 
  • trunk/plugins/CharacterMap/character-map.js

    r856 r1044  
    1414      image    : editor.imgURL( 'ed_charmap.gif', 'CharacterMap' ), 
    1515      textMode : false, 
    16       action   : function( editor ) { self.buttonPress( editor ); } 
     16      action   : function() { self.show(); } 
    1717    } 
    1818  ); 
    1919  cfg.addToolbarElement('insertcharacter', 'createlink', -1); 
    2020 
    21   if ( cfg.CharacterMap.mode == 'panel' ) 
    22   { 
    23     editor._CharacterMap = editor.addPanel( 'right' ); 
    24     Xinha._addClass( editor._CharacterMap, 'CharacterMap' ); 
    25  
    26     editor.notifyOn( 'modechange', 
    27       function( e, args ) 
    28       { 
    29         if ( args.mode == 'text' ) editor.hidePanel( editor._CharacterMap ); 
    30       } 
    31     ); 
    32  
    33     var entites = 
    34     [ 
    35       'Ÿ', 'š', '@', '"', '¡', '¢', '£', '¤', '¥', '¦', 
    36       '§', '¨', '©', 'ª', '«', '¬', '¯', '°', '±', '²', 
    37       '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', 
    38       '½', '¾', '¿', '×', 'Ø', '÷', 'ø', 'ƒ', 'ˆ', 
    39       '˜', '–', '—', '‘', '’', '‚', '“', '”', '„', 
    40       '†', '‡', '•', '…', '‰', '‹', '›', '€', '™', 
    41       'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 
    42       'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 
    43       'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '®', '×', 'Ù', 'Ú', 
    44       'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 
    45       'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 
    46       'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 
    47       'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 
    48       'ÿ', 'Œ', 'œ', 'Š' 
    49     ]; 
    50  
    51     for ( var i=0; i<entites.length; i++ ) 
    52       this.addEntity( entites[i], i ); 
    53  
    54     editor.hidePanel( editor._CharacterMap ); 
    55   } 
    5621} 
    5722 
     
    7641CharacterMap._isActive = false; 
    7742 
    78 CharacterMap.prototype.buttonPress = function( editor ) 
    79 { 
    80   var cfg = editor.config; 
    81   if ( cfg.CharacterMap.mode == 'panel' ) 
    82   { 
    83     if ( this._isActive ) 
    84     { 
    85       this._isActive = false; 
    86       editor.hidePanel( editor._CharacterMap ); 
    87     } 
    88     else 
    89     { 
    90       this._isActive = true; 
    91       editor.showPanel( editor._CharacterMap ); 
    92     } 
    93   } 
    94   else 
    95   { 
    96     editor._popupDialog( "plugin://CharacterMap/select_character", function( entity ) 
    97     { 
    98       if ( !entity ) return false; 
    99       if ( Xinha.is_ie ) editor.focusEditor(); 
    100       editor.insertHTML( entity ); 
    101     }, null); 
    102   } 
    103 }; 
    10443 
    10544CharacterMap.prototype.addEntity = function ( entite, pos ) 
     
    12059    return false; 
    12160  }; 
    122   editor._CharacterMap.appendChild( a ); 
     61  this.dialog.main.appendChild( a ); 
    12362  a = null; 
    12463}; 
     64 
     65CharacterMap.prototype.onGenerateOnce = function() 
     66{ 
     67        this._prepareDialog(); 
     68}; 
     69 
     70CharacterMap.prototype._prepareDialog = function() 
     71{ 
     72        var self = this; 
     73        var editor = this.editor; 
     74 
     75        var html = '<h1><l10n>Insert special character</l10n></h1>'; 
     76 
     77        // Now we have everything we need, so we can build the dialog. 
     78        this.dialog = new Xinha.Dialog(editor, html, 'CharacterMap',{width:300},{modal:false}); 
     79        Xinha._addClass( this.dialog.rootElem, 'CharacterMap' ); 
     80 
     81        if (editor.config.CharacterMap.mode == 'panel') this.dialog.attachToPanel('right'); 
     82         
     83        var entites = 
     84        [ 
     85        '&Yuml;', '&scaron;', '&#064;', '&quot;', '&iexcl;', '&cent;', '&pound;', '&curren;', '&yen;', '&brvbar;', 
     86        '&sect;', '&uml;', '&copy;', '&ordf;', '&laquo;', '&not;', '&macr;', '&deg;', '&plusmn;', '&sup2;', 
     87        '&sup3;', '&acute;', '&micro;', '&para;', '&middot;', '&cedil;', '&sup1;', '&ordm;', '&raquo;', '&frac14;', 
     88        '&frac12;', '&frac34;', '&iquest;', '&times;', '&Oslash;', '&divide;', '&oslash;', '&fnof;', '&circ;', 
     89        '&tilde;', '&ndash;', '&mdash;', '&lsquo;', '&rsquo;', '&sbquo;', '&ldquo;', '&rdquo;', '&bdquo;', 
     90        '&dagger;', '&Dagger;', '&bull;', '&hellip;', '&permil;', '&lsaquo;', '&rsaquo;', '&euro;', '&trade;', 
     91        '&Agrave;', '&Aacute;', '&Acirc;', '&Atilde;', '&Auml;', '&Aring;', '&AElig;', '&Ccedil;', '&Egrave;', 
     92        '&Eacute;', '&Ecirc;', '&Euml;', '&Igrave;', '&Iacute;', '&Icirc;', '&Iuml;', '&ETH;', '&Ntilde;', 
     93        '&Ograve;', '&Oacute;', '&Ocirc;', '&Otilde;', '&Ouml;', '&reg;', '&times;', '&Ugrave;', '&Uacute;', 
     94        '&Ucirc;', '&Uuml;', '&Yacute;', '&THORN;', '&szlig;', '&agrave;', '&aacute;', '&acirc;', '&atilde;', 
     95        '&auml;', '&aring;', '&aelig;', '&ccedil;', '&egrave;', '&eacute;', '&ecirc;', '&euml;', '&igrave;', 
     96        '&iacute;', '&icirc;', '&iuml;', '&eth;', '&ntilde;', '&ograve;', '&oacute;', '&ocirc;', '&otilde;', 
     97        '&ouml;', '&divide;', '&oslash;', '&ugrave;', '&uacute;', '&ucirc;', '&uuml;', '&yacute;', '&thorn;', 
     98        '&yuml;', '&OElig;', '&oelig;', '&Scaron;' 
     99        ]; 
     100 
     101        for ( var i=0; i<entites.length; i++ ) 
     102        { 
     103          this.addEntity( entites[i], i ); 
     104        } 
     105         
     106        this.ready = true; 
     107        //this.hide(); 
     108}; 
     109 
     110CharacterMap.prototype.show = function() 
     111{ 
     112  if(!this.ready) // if the user is too fast clicking the, we have to make them wait 
     113        { 
     114                var self = this; 
     115                window.setTimeout(function() {self.show();},100); 
     116                return; 
     117        } 
     118        this.dialog.toggle(); 
     119}; 
     120CharacterMap.prototype.hide = function() 
     121{ 
     122        this.dialog.hide(); 
     123}; 
     124 
Note: See TracChangeset for help on using the changeset viewer.