JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.1.1
[ckeditor.git] / _source / plugins / menu / plugin.js
index 93ac77f..ed91d1c 100644 (file)
@@ -8,43 +8,38 @@ CKEDITOR.plugins.add( 'menu',
        beforeInit : function( editor )\r
        {\r
                var groups = editor.config.menu_groups.split( ',' ),\r
-                       groupsOrder = {};\r
+                       groupsOrder = editor._.menuGroups = {},\r
+                       menuItems = editor._.menuItems = {};\r
 \r
                for ( var i = 0 ; i < groups.length ; i++ )\r
                        groupsOrder[ groups[ i ] ] = i + 1;\r
 \r
-               editor._.menuGroups = groupsOrder;\r
-               editor._.menuItems = {};\r
-       },\r
-\r
-       requires : [ 'floatpanel' ]\r
-});\r
+               editor.addMenuGroup = function( name, order )\r
+                       {\r
+                               groupsOrder[ name ] = order || 100;\r
+                       };\r
 \r
-CKEDITOR.tools.extend( CKEDITOR.editor.prototype,\r
-{\r
-       addMenuGroup : function( name, order )\r
-       {\r
-               this._.menuGroups[ name ] = order || 100;\r
-       },\r
+               editor.addMenuItem = function( name, definition )\r
+                       {\r
+                               if ( groupsOrder[ definition.group ] )\r
+                                       menuItems[ name ] = new CKEDITOR.menuItem( this, name, definition );\r
+                       };\r
 \r
-       addMenuItem : function( name, definition )\r
-       {\r
-               if ( this._.menuGroups[ definition.group ] )\r
-                       this._.menuItems[ name ] = new CKEDITOR.menuItem( this, name, definition );\r
-       },\r
+               editor.addMenuItems = function( definitions )\r
+                       {\r
+                               for ( var itemName in definitions )\r
+                               {\r
+                                       this.addMenuItem( itemName, definitions[ itemName ] );\r
+                               }\r
+                       };\r
 \r
-       addMenuItems : function( definitions )\r
-       {\r
-               for ( var itemName in definitions )\r
-               {\r
-                       this.addMenuItem( itemName, definitions[ itemName ] );\r
-               }\r
+               editor.getMenuItem = function( name )\r
+                       {\r
+                               return menuItems[ name ];\r
+                       };\r
        },\r
 \r
-       getMenuItem : function( name )\r
-       {\r
-               return this._.menuItems[ name ];\r
-       }\r
+       requires : [ 'floatpanel' ]\r
 });\r
 \r
 (function()\r
@@ -343,7 +338,13 @@ CKEDITOR.menuItem = CKEDITOR.tools.createClass(
                        if ( this.getItems )\r
                        {\r
                                output.push(\r
-                                                       '<span class="cke_menuarrow"></span>' );\r
+                                                       '<span class="cke_menuarrow">',\r
+                                                               '<span>&#',\r
+                                                                       ( this.editor.lang.dir == 'rtl' ?\r
+                                                                               '9668' :        // BLACK LEFT-POINTING POINTER\r
+                                                                               '9658' ),       // BLACK RIGHT-POINTING POINTER\r
+                                                               ';</span>',\r
+                                                       '</span>' );\r
                        }\r
 \r
                        output.push(\r