Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 7028)
+++ /CKEditor/trunk/CHANGES.html	(revision 7029)
@@ -49,4 +49,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/7959">#7959</a> : The cursor will now blink in the first cell after a table is inserted.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7885">#7885</a> : New <code>editor::removeMenuItem</code> API for removing plugin context menu items introduced.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7991">#7991</a> : Introduce the <a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.labeledElement#controlStyle">controlStyle</a> and <a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.labeledElement#inputStyle">inputStyle</a> definitions to allow fine-graded controlling of dialog element styles.</li>
 	</ul>
 	<p>
Index: /CKEditor/trunk/_source/plugins/dialog/dialogDefinition.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialog/dialogDefinition.js	(revision 7028)
+++ /CKEditor/trunk/_source/plugins/dialog/dialogDefinition.js	(revision 7029)
@@ -501,4 +501,101 @@
  */
 
+// ----- labeled element ------
+
+/**
+ * The definition of labeled user interface element (textarea, textInput etc).
+ * <div class="notapi">This class is not really part of the API. It just illustrates the properties
+ * that developers can use to define and create dialog UI elements.</div>
+ * @name CKEDITOR.dialog.definition.labeledElement
+ * @extends CKEDITOR.dialog.definition.uiElement
+ * @constructor
+ * @see CKEDITOR.ui.dialog.labeledElement
+ * @example
+ * // There is no constructor for this class, the user just has to define an
+ * // object with the appropriate properties.
+ */
+
+/**
+ * The label of the UI element.
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.label
+ * @type String
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label '
+ * }
+ */
+
+/**
+ * (Optional) Specify the layout of the label. Set to 'horizontal' for horizontal layout.
+ * The default layout is vertical.
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelLayout
+ * @type String
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label ',
+ * 	<strong>	labelLayout : 'horizontal',</strong>
+ * }
+ */
+
+/**
+ * (Optional) Applies only to horizontal layouts: a two elements array of lengths to specify the widths of the
+* 	label and the content element. See also {@link CKEDITOR.dialog.definition.labeledElement#labelLayout}.
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.widths
+ * @type Array
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label ',
+ * 		labelLayout : 'horizontal',
+ * 	<strong>	widths : [100, 200],</strong>
+ * }
+ */
+
+/**
+ *  Specify the inline style of the uiElement label.
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelStyle
+ * @type String
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label ',
+ * 	<strong>	labelStyle : 'color: red',</strong>
+ * }
+ */
+
+
+/**
+ *  Specify the inline style of the input element.
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.inputStyle
+ * @type String
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label ',
+ * 	<strong>	inputStyle : 'text-align:center',</strong>
+ * }
+ */
+
+/**
+ *  Specify the inline style of the input element container .
+ * @name CKEDITOR.dialog.definition.labeledElement.prototype.controlStyle
+ * @type String
+ * @field
+ * @example
+ * {
+ * 		type : 'text',
+ * 		label : 'My Label ',
+ * 	<strong>	controlStyle : 'width:3em',</strong>
+ * }
+ */
+
+
 // ----- button ------
 
@@ -614,5 +711,5 @@
  * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
  * @name CKEDITOR.dialog.definition.file
- * @extends CKEDITOR.dialog.definition.uiElement
+ * @extends CKEDITOR.dialog.definition.labeledElement
  * @constructor
  * @example
@@ -645,12 +742,4 @@
  * @field
  * @type Function
- * @example
- */
-
-/**
- * The label of the UI element.
- * @name CKEDITOR.dialog.definition.file.prototype.label
- * @type String
- * @field
  * @example
  */
@@ -829,5 +918,5 @@
  * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
  * @name CKEDITOR.dialog.definition.radio
- * @extends CKEDITOR.dialog.definition.uiElement
+ * @extends CKEDITOR.dialog.definition.labeledElement
  * @constructor
  * @example
@@ -874,12 +963,4 @@
  */
 
-/**
- * The label of the UI element.
- * @name CKEDITOR.dialog.definition.radio.prototype.label
- * @type String
- * @field
- * @example
- */
-
 // ----- selectElement ------
 
@@ -893,5 +974,5 @@
  * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
  * @name CKEDITOR.dialog.definition.select
- * @extends CKEDITOR.dialog.definition.uiElement
+ * @extends CKEDITOR.dialog.definition.labeledElement
  * @constructor
  * @example
@@ -954,12 +1035,4 @@
  */
 
-/**
- * The label of the UI element.
- * @name CKEDITOR.dialog.definition.select.prototype.label
- * @type String
- * @field
- * @example
- */
-
 // ----- textInput -----
 
@@ -973,5 +1046,5 @@
  * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
  * @name CKEDITOR.dialog.definition.textInput
- * @extends CKEDITOR.dialog.definition.uiElement
+ * @extends CKEDITOR.dialog.definition.labeledElement
  * @constructor
  * @example
@@ -1026,12 +1099,4 @@
  */
 
-/**
- * The label of the UI element.
- * @name CKEDITOR.dialog.definition.textInput.prototype.label
- * @type String
- * @field
- * @example
- */
-
 // ----- textarea ------
 
@@ -1045,5 +1110,5 @@
  * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
  * @name CKEDITOR.dialog.definition.textarea
- * @extends CKEDITOR.dialog.definition.uiElement
+ * @extends CKEDITOR.dialog.definition.labeledElement
  * @constructor
  * @example
@@ -1098,10 +1163,2 @@
  * @example
  */
-
-/**
- * The label of the UI element.
- * @name CKEDITOR.dialog.definition.textarea.prototype.label
- * @type String
- * @field
- * @example
- */
Index: /CKEditor/trunk/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialogui/plugin.js	(revision 7028)
+++ /CKEditor/trunk/_source/plugins/dialogui/plugin.js	(revision 7029)
@@ -159,8 +159,8 @@
 								' id="'+  _.labelId + '"',
 								' for="' + _.inputId + '"',
-								' style="' + elementDefinition.labelStyle + '">',
+								( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) +'>',
 								elementDefinition.label,
 								'</label>',
-								'<div class="cke_dialog_ui_labeled_content" role="presentation">',
+								'<div class="cke_dialog_ui_labeled_content"' + ( elementDefinition.controlStyle ? ' style="' + elementDefinition.controlStyle + '"' : '' ) + ' role="presentation">',
 								contentHtml.call( this, dialog, elementDefinition ),
 								'</div>' );
@@ -178,5 +178,5 @@
 										' id="' + _.labelId + '"' +
 										' for="' + _.inputId + '"' +
-										' style="' + elementDefinition.labelStyle + '">' +
+										( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) +'>' +
 										   CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
 										'</span>'
@@ -184,5 +184,5 @@
 								{
 									type : 'html',
-									html : '<span class="cke_dialog_ui_labeled_content">' +
+									html : '<span class="cke_dialog_ui_labeled_content"' + ( elementDefinition.controlStyle ? ' style="' + elementDefinition.controlStyle + '"' : '' ) + '>' +
 										contentHtml.call( this, dialog, elementDefinition ) +
 										'</span>'
@@ -238,6 +238,6 @@
 					attributes.size = elementDefinition.size;
 
-				if ( elementDefinition.controlStyle )
-					attributes.style = elementDefinition.controlStyle;
+				if ( elementDefinition.inputStyle )
+					attributes.style = elementDefinition.inputStyle;
 
 				// If user presses Enter in a text box, it implies clicking OK for the dialog.
@@ -324,4 +324,8 @@
 				attributes.cols = elementDefinition.cols || 20;
 
+				if ( typeof elementDefinition.inputStyle != 'undefined' )
+					attributes.style = elementDefinition.inputStyle;
+
+
 				/** @ignore */
 				var innerHTML = function()
@@ -381,9 +385,9 @@
 						attributes.checked = 'checked';
 
-					if ( typeof myDefinition.controlStyle != 'undefined' )
-						myDefinition.style = myDefinition.controlStyle;
+					if ( typeof myDefinition.inputStyle != 'undefined' )
+						myDefinition.style = myDefinition.inputStyle;
 
 					_.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );
-					html.push( ' <label id="', labelId, '" for="', attributes.id, '">',
+					html.push( ' <label id="', labelId, '" for="', attributes.id, '"' + ( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) + '>',
 							CKEDITOR.tools.htmlEncode( elementDefinition.label ),
 							'</label>' );
@@ -463,6 +467,6 @@
 						cleanInnerDefinition( labelDefinition );
 
-						if ( typeof inputDefinition.controlStyle != 'undefined' )
-							inputDefinition.style = inputDefinition.controlStyle;
+						if ( typeof inputDefinition.inputStyle != 'undefined' )
+							inputDefinition.style = inputDefinition.inputStyle;
 
 						children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );
@@ -623,6 +627,6 @@
 					}
 
-					if ( typeof myDefinition.controlStyle != 'undefined' )
-						myDefinition.style = myDefinition.controlStyle;
+					if ( typeof myDefinition.inputStyle != 'undefined' )
+						myDefinition.style = myDefinition.inputStyle;
 
 					_.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );
Index: /CKEditor/trunk/_source/plugins/docprops/dialogs/docprops.js
===================================================================
--- /CKEditor/trunk/_source/plugins/docprops/dialogs/docprops.js	(revision 7028)
+++ /CKEditor/trunk/_source/plugins/docprops/dialogs/docprops.js	(revision 7029)
@@ -547,5 +547,5 @@
 										label : lang.marginTop,
 										style : 'width: 80px; text-align: center; margin: 0px auto',
-										controlStyle : 'text-align: center',
+										inputStyle : 'text-align: center',
 										setup : function( doc, html, head, body )
 										{
@@ -566,5 +566,5 @@
 												label : lang.marginLeft,
 												style : 'width: 80px; text-align: center; margin: 0px auto',
-												controlStyle : 'text-align: center',
+												inputStyle : 'text-align: center',
 												setup : function( doc, html, head, body )
 												{
@@ -582,5 +582,5 @@
 												label : lang.marginRight,
 												style : 'width: 80px; text-align: center; margin: 0px auto',
-												controlStyle : 'text-align: center',
+												inputStyle : 'text-align: center',
 												setup : function( doc, html, head, body )
 												{
@@ -591,5 +591,5 @@
 												{
 													this.getElement().getParent().setStyle( 'text-align', 'center' );
-												}
+											}
 											}
 										]
@@ -600,5 +600,5 @@
 										label : lang.marginBottom,
 										style : 'width: 80px; text-align: center; margin: 0px auto',
-										controlStyle : 'text-align: center',
+										inputStyle : 'text-align: center',
 										setup : function( doc, html, head, body )
 										{
@@ -609,5 +609,5 @@
 										{
 											this.getElement().getParent().setStyle( 'text-align', 'center' );
-										}
+									}
 									}
 								]
Index: /CKEditor/trunk/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 7028)
+++ /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 7029)
@@ -263,5 +263,5 @@
 											label : editor.lang.table.rows,
 											required : true,
-											style : 'width:5em',
+											controlStyle : 'width:5em',
 											validate : function()
 											{
@@ -289,5 +289,5 @@
 											label : editor.lang.table.columns,
 											required : true,
-											style : 'width:5em',
+											controlStyle : 'width:5em',
 											validate : function()
 											{
@@ -355,5 +355,5 @@
 											'default' : 1,
 											label : editor.lang.table.border,
-											style : 'width:3em',
+											controlStyle : 'width:3em',
 											validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidBorder ),
 											setup : function( selectedTable )
@@ -408,5 +408,5 @@
 													type : 'text',
 													id : 'txtWidth',
-													style : 'width:5em',
+													controlStyle : 'width:5em',
 													label : editor.lang.common.width,
 													'default' : 500,
@@ -435,5 +435,5 @@
 													type : 'text',
 													id : 'txtHeight',
-													style : 'width:5em',
+													controlStyle : 'width:5em',
 													label : editor.lang.common.height,
 													'default' : '',
@@ -462,5 +462,5 @@
 											type : 'text',
 											id : 'txtCellSpace',
-											style : 'width:3em',
+											controlStyle : 'width:3em',
 											label : editor.lang.table.cellSpace,
 											'default' : 1,
@@ -481,5 +481,5 @@
 											type : 'text',
 											id : 'txtCellPad',
-											style : 'width:3em',
+											controlStyle : 'width:3em',
 											label : editor.lang.table.cellPad,
 											'default' : 1,
