/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
var attrName = this.att,\r
value = this.getValue();\r
\r
- // Broadcast Lang Dir change\r
- if ( attrName == 'dir' )\r
- {\r
- var dir = element.getAttribute( attrName );\r
- if ( dir != value && element.getParent() )\r
- this._.dialog._.editor.fire( 'dirChanged', { node : element, dir : value || element.getDirection( 1 ) } );\r
- }\r
-\r
if ( value )\r
element.setAttribute( attrName, value );\r
else\r
label : lang.styles,\r
'default' : '',\r
\r
+ validate : CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ),\r
+ onChange : function(){},\r
+\r
getStyle : function( name, defaultValue )\r
{\r
- var match = this.getValue().match( new RegExp( name + '\\s*:\s*([^;]*)', 'i') );\r
+ var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') );\r
return match ? match[ 1 ] : defaultValue;\r
},\r
\r
{\r
var styles = this.getValue();\r
\r
- // Remove the current value.\r
- if ( styles )\r
- {\r
- styles = styles\r
- .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' )\r
- .replace( /^[;\s]+/, '' )\r
- .replace( /\s+$/, '' );\r
- }\r
-\r
- if ( value )\r
- {\r
- styles && !(/;\s*$/).test( styles ) && ( styles += '; ' );\r
- styles += name + ': ' + value;\r
- }\r
+ var tmp = editor.document.createElement( 'span' );\r
+ tmp.setAttribute( 'style', styles );\r
+ tmp.setStyle( name, value );\r
+ styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) );\r
\r
this.setValue( styles, 1 );\r
-\r
},\r
\r
setup : setupAdvParams,\r