/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
{\r
// Creates an HTML structure that reproduces the editor class hierarchy.\r
var html =\r
- '<span class="cke_shared">' +\r
+ '<span class="cke_shared "' +\r
+ ' dir="'+ editor.lang.dir + '"' +\r
+ '>' +\r
'<span class="' + editor.skinClass + ' ' + editor.id + ' cke_editor_' + editor.name + '">' +\r
'<span class="' + CKEDITOR.env.cssClass + '">' +\r
'<span class="cke_wrapper cke_' + editor.lang.dir + '">' +\r
// Disable browser context menu for editor's chrome.\r
container.disableContextMenu();\r
\r
+ // Use a class to indicate that the current selection is in different direction than the UI.\r
+ editor.on( 'contentDirChanged', function( evt )\r
+ {\r
+ var func = ( editor.lang.dir != evt.data ? 'add' : 'remove' ) + 'Class';\r
+\r
+ container.getChild( 1 )[ func ]( 'cke_mixed_dir_content' );\r
+\r
+ // Put the mixed direction class on the respective element also for shared spaces.\r
+ var toolbarSpace = this.sharedSpaces && this.sharedSpaces[ this.config.toolbarLocation ];\r
+ toolbarSpace && toolbarSpace.getParent().getParent()[ func ]( 'cke_mixed_dir_content' );\r
+ });\r
+\r
editor.fireOnce( 'themeLoaded' );\r
editor.fireOnce( 'uiReady' );\r
},\r
\r
destroy : function( editor )\r
{\r
- var container = editor.container;\r
- container.clearCustomData();\r
- editor.element.clearCustomData();\r
+ var container = editor.container,\r
+ element = editor.element;\r
\r
if ( container )\r
+ {\r
+ container.clearCustomData();\r
container.remove();\r
+ }\r
\r
- if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )\r
- editor.element.show();\r
-\r
- delete editor.element;\r
+ if ( element )\r
+ {\r
+ element.clearCustomData();\r
+ editor.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE && element.show();\r
+ delete editor.element;\r
+ }\r
}\r
};\r
})() );\r
*/\r
CKEDITOR.editor.prototype.getResizable = function()\r
{\r
- return this.container.getChild( 1 );\r
+ return this.container;\r
};\r
\r
/**\r
/**\r
* Fired after the editor instance is resized through\r
* the {@link CKEDITOR.editor.prototype.resize} method.\r
- * @name CKEDITOR#resize\r
+ * @name CKEDITOR.editor#resize\r
* @event\r
*/\r