}
private RtePlugin buildTablePlugin(RichTextEditor rteAnnotation) {
if (rteAnnotation.table().length > 0) {
Table tableAnnotation = rteAnnotation.table()[0];
List<String> features = new ArrayList<String>();
if (tableAnnotation.table()) {
features.add("table");
}
if (tableAnnotation.removetable()) {
features.add("removetable");
}
if (tableAnnotation.insertrow()) {
features.add("insertrow");
}
if (tableAnnotation.removerow()) {
features.add("removerow");
}
if (tableAnnotation.insertcolumn()) {
features.add("insertcolumn");
}
if (tableAnnotation.removecolumn()) {
features.add("removecolumn");
}
if (tableAnnotation.cellprops()) {
features.add("cellprops");
}
if (tableAnnotation.mergecells()) {
features.add("mergecells");
}
if (tableAnnotation.splitcell()) {
features.add("splitcell");
}
if (tableAnnotation.selectrow()) {
features.add("selectrow");
}
if (tableAnnotation.selectcolumns()) {
features.add("selectcolumns");
}
List<DialogElement> containedStyles = new ArrayList<DialogElement>();
List<DialogElement> tableStyles = null;
List<DialogElement> cellStyles = null;
if (tableAnnotation.tableStyles().length > 0) {
tableStyles = new ArrayList<DialogElement>();
for (int i = 0; i < tableAnnotation.tableStyles().length; i++) {
Style curTableStyle = tableAnnotation.tableStyles()[i];
String curFieldName = "tablestyle" + i;
RteStyleParameters styleParameters = new RteStyleParameters();
styleParameters.setFieldName(curFieldName);
styleParameters.setCssName(curTableStyle.cssName());
styleParameters.setText(curTableStyle.text());
tableStyles.add(new RteStyle(styleParameters));
}
WidgetCollectionParameters wcp = new WidgetCollectionParameters();
wcp.setContainedElements(tableStyles);
wcp.setFieldName("tableStyles");
containedStyles.add(new WidgetCollection(wcp));
}
if (tableAnnotation.cellStyles().length > 0) {
cellStyles = new ArrayList<DialogElement>();
for (int i = 0; i < tableAnnotation.cellStyles().length; i++) {
Style curCellStyle = tableAnnotation.cellStyles()[i];
String curFieldName = "cellstyle" + i;
RteStyleParameters styleParameters = new RteStyleParameters();
styleParameters.setFieldName(curFieldName);
styleParameters.setCssName(curCellStyle.cssName());