/*\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
return this.getValue() != this.getInitValue();\r
},\r
\r
- reset : function()\r
+ reset : function( noChangeEvent )\r
{\r
- this.setValue( this.getInitValue() );\r
+ this.setValue( this.getInitValue(), noChangeEvent );\r
},\r
\r
setInitValue : function()\r
if ( elementDefinition[ 'default' ] )\r
attributes.checked = 'checked';\r
\r
- if (typeof myDefinition.controlStyle != 'undefined')\r
+ if ( typeof myDefinition.controlStyle != 'undefined' )\r
myDefinition.style = myDefinition.controlStyle;\r
\r
_.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );\r
cleanInnerDefinition( inputDefinition );\r
cleanInnerDefinition( labelDefinition );\r
\r
- if (typeof inputDefinition.controlStyle != 'undefined')\r
+ if ( typeof inputDefinition.controlStyle != 'undefined' )\r
inputDefinition.style = inputDefinition.controlStyle;\r
\r
children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );\r
CKEDITOR.tools.htmlEncode( item[0] ) );\r
}\r
\r
- if (typeof myDefinition.controlStyle != 'undefined')\r
+ if ( typeof myDefinition.controlStyle != 'undefined' )\r
myDefinition.style = myDefinition.controlStyle;\r
\r
_.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );\r
{\r
this._.disabled = false;\r
var element = this.getElement();\r
- element && element.removeClass( 'disabled' );\r
+ element && element.removeClass( 'cke_disabled' );\r
},\r
\r
/**\r
disable : function()\r
{\r
this._.disabled = true;\r
- this.getElement().addClass( 'disabled' );\r
+ this.getElement().addClass( 'cke_disabled' );\r
},\r
\r
isVisible : function()\r
setValue : function( value )\r
{\r
!value && ( value = '' );\r
- return CKEDITOR.ui.dialog.uiElement.prototype.setValue.call( this, value );\r
+ return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply( this, arguments );\r
},\r
\r
keyboardFocusable : true\r
* Sets the state of the checkbox.\r
* @example\r
* @param {Boolean} true to tick the checkbox, false to untick it.\r
+ * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.\r
*/\r
- setValue : function( checked )\r
+ setValue : function( checked, noChangeEvent )\r
{\r
this.getInputElement().$.checked = checked;\r
- this.fire( 'change', { value : checked } );\r
+ !noChangeEvent && this.fire( 'change', { value : checked } );\r
},\r
\r
/**\r
* Checks one of the radio buttons in this button group.\r
* @example\r
* @param {String} value The value of the button to be chcked.\r
+ * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.\r
*/\r
- setValue : function( value )\r
+ setValue : function( value, noChangeEvent )\r
{\r
var children = this._.children,\r
item;\r
for ( var i = 0 ; ( i < children.length ) && ( item = children[i] ) ; i++ )\r
item.getElement().$.checked = ( item.getValue() == value );\r
- this.fire( 'change', { value : value } );\r
+ !noChangeEvent && this.fire( 'change', { value : value } );\r
},\r
\r
/**\r
*/\r
reset : function()\r
{\r
- var frameElement = CKEDITOR.document.getById( this._.frameId ),\r
+ var _ = this._,\r
+ frameElement = CKEDITOR.document.getById( _.frameId ),\r
frameDocument = frameElement.getFrameDocument(),\r
- elementDefinition = this._.definition,\r
- buttons = this._.buttons,\r
+ elementDefinition = _.definition,\r
+ buttons = _.buttons,\r
callNumber = this.formLoadedNumber,\r
unloadNumber = this.formUnloadNumber,\r
- langDir = this._.dialog._.editor.lang.dir,\r
- langCode = this._.dialog._.editor.langCode;\r
+ langDir = _.dialog._.editor.lang.dir,\r
+ langCode = _.dialog._.editor.langCode;\r
\r
// The callback function for the iframe, but we must call tools.addFunction only once\r
// so we store the function number in this.formLoadedNumber\r
- if (!callNumber)\r
+ if ( !callNumber )\r
{\r
callNumber = this.formLoadedNumber = CKEDITOR.tools.addFunction(\r
function()\r
\r
getValue : function()\r
{\r
- return this.getInputElement().$.value;\r
+ return this.getInputElement().$.value || '';\r
},\r
\r
/***\r
CKEDITOR.dialog.addUIElement( 'html', commonBuilder );\r
CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder );\r
})();\r
+\r
+/**\r
+ * Fired when the value of the uiElement is changed\r
+ * @name CKEDITOR.ui.dialog.uiElement#change\r
+ * @event\r
+ */\r
+\r
+/**\r
+ * Fired when the inner frame created by the element is ready.\r
+ * Each time the button is used or the dialog is loaded a new\r
+ * form might be created.\r
+ * @name CKEDITOR.ui.dialog.fileButton#formLoaded\r
+ * @event\r
+ */\r