Index: /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js (revision 4968)
+++ /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js (revision 4969)
@@ -34,4 +34,21 @@
{
return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, elementDefinition, output );
+ }
+ },
+ containerBuilder =
+ {
+ build : function( dialog, elementDefinition, output )
+ {
+ var children = elementDefinition.children,
+ child,
+ childHtmlList = [],
+ childObjList = [];
+ for ( var i = 0 ; ( i < children.length && ( child = children[i] ) ) ; i++ )
+ {
+ var childHtml = [];
+ childHtmlList.push( childHtml );
+ childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) );
+ }
+ return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition );
}
},
@@ -780,5 +797,42 @@
htmlList.push( [ theirMatch[1], ' ', myMatch[1] || '', theirMatch[2] ].join( '' ) );
};
- })()
+ })(),
+
+ /**
+ * Form fieldset for grouping dialog UI elements.
+ * @constructor
+ * @extends CKEDITOR.ui.dialog.uiElement
+ * @param {CKEDITOR.dialog} dialog Parent dialog object.
+ * @param {Array} childObjList
+ * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this
+ * container.
+ * @param {Array} childHtmlList
+ * Array of HTML code that correspond to the HTML output of all the
+ * objects in childObjList.
+ * @param {Array} htmlList
+ * Array of HTML code that this element will output to.
+ * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
+ * The element definition. Accepted fields:
+ *
+ * - label (Optional) The legend of the this fieldset.
+ * - children (Required) An array of dialog field definitions which will be grouped inside this fieldset.
+ *
+ */
+ fieldset : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition )
+ {
+ var legendLabel = elementDefinition.label;
+ /** @ignore */
+ var innerHTML = function()
+ {
+ var html = [];
+ legendLabel && html.push( '' );
+ for ( var i = 0; i < childHtmlList.length; i++ )
+ html.push( childHtmlList[ i ] );
+ return html.join( '' );
+ };
+
+ this.fieldset = new CKEDITOR.ui.dialog.uiElement( dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML );
+ }
+
}, true );
@@ -1344,3 +1398,4 @@
CKEDITOR.dialog.addUIElement( 'fileButton', commonBuilder );
CKEDITOR.dialog.addUIElement( 'html', commonBuilder );
+ CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder );
})();
Index: /CKEditor/branches/features/aria/_source/plugins/flash/dialogs/flash.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/flash/dialogs/flash.js (revision 4968)
+++ /CKEditor/branches/features/aria/_source/plugins/flash/dialogs/flash.js (revision 4969)
@@ -581,43 +581,46 @@
},
{
- type : 'vbox',
- padding : 0,
- children :
- [
- {
- type : 'html',
- html : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars )
- },
- {
- type : 'checkbox',
- id : 'menu',
- label : editor.lang.flash.chkMenu,
- 'default' : true,
- setup : loadValue,
- commit : commitValue
- },
- {
- type : 'checkbox',
- id : 'play',
- label : editor.lang.flash.chkPlay,
- 'default' : true,
- setup : loadValue,
- commit : commitValue
- },
- {
- type : 'checkbox',
- id : 'loop',
- label : editor.lang.flash.chkLoop,
- 'default' : true,
- setup : loadValue,
- commit : commitValue
- },
- {
- type : 'checkbox',
- id : 'allowFullScreen',
- label : editor.lang.flash.chkFull,
- 'default' : true,
- setup : loadValue,
- commit : commitValue
+ type : 'fieldset',
+ label : CKEDITOR.tools.htmlEncode( editor.lang.flash.flashvars ),
+ children :
+ [
+ {
+ type : 'vbox',
+ padding : 0,
+ children :
+ [
+ {
+ type : 'checkbox',
+ id : 'menu',
+ label : editor.lang.flash.chkMenu,
+ 'default' : true,
+ setup : loadValue,
+ commit : commitValue
+ },
+ {
+ type : 'checkbox',
+ id : 'play',
+ label : editor.lang.flash.chkPlay,
+ 'default' : true,
+ setup : loadValue,
+ commit : commitValue
+ },
+ {
+ type : 'checkbox',
+ id : 'loop',
+ label : editor.lang.flash.chkLoop,
+ 'default' : true,
+ setup : loadValue,
+ commit : commitValue
+ },
+ {
+ type : 'checkbox',
+ id : 'allowFullScreen',
+ label : editor.lang.flash.chkFull,
+ 'default' : true,
+ setup : loadValue,
+ commit : commitValue
+ }
+ ]
}
]