Bug 568893 - Update Apache POI to 4.1.1
Change-Id: Ifa9d1246b53f8dd5653f547c2ec4ef681c67ae5a
Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com>
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/ILayerExporter.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/ILayerExporter.java
index 3e01d31..c7e2fd2 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/ILayerExporter.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/ILayerExporter.java
@@ -153,4 +153,20 @@ void exportRowEnd(OutputStream outputStream, int rowPosition)
void exportCell(OutputStream outputStream, Object exportDisplayValue,
ILayerCell cell, IConfigRegistry configRegistry) throws IOException;
+ /**
+ * Configure whether multiple table instances should be exported on the same
+ * sheet. Only relevant for export formats that support multiple sheets like
+ * Excel.
+ *
+ * @param sameSheet
+ * <code>true</code> if multiple NatTable instances should be
+ * exported on the same sheet, <code>false</code> if every
+ * instance should be exported on separate sheets. Default is
+ * <code>false</code>.
+ *
+ * @since 2.0
+ */
+ default void setExportOnSameSheet(boolean sameSheet) {
+ }
+
}
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/NatExporter.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/NatExporter.java
index 1a53125..1e7ff5f 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/NatExporter.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/export/NatExporter.java
@@ -335,6 +335,10 @@ public void exportMultipleNatTables(
try {
exporter.exportBegin(outputStream);
+ // ensure that the exporter also respects the
+ // exportOnSameSheet parameter
+ exporter.setExportOnSameSheet(exportOnSameSheet);
+
if (exportOnSameSheet) {
exporter.exportLayerBegin(outputStream, sheetName);
}
diff --git a/org.eclipse.nebula.widgets.nattable.examples/META-INF/MANIFEST.MF b/org.eclipse.nebula.widgets.nattable.examples/META-INF/MANIFEST.MF
index 4c5c409..2e06f41 100644
--- a/org.eclipse.nebula.widgets.nattable.examples/META-INF/MANIFEST.MF
+++ b/org.eclipse.nebula.widgets.nattable.examples/META-INF/MANIFEST.MF
@@ -7,12 +7,14 @@
Require-Bundle: ca.odell.glazedlists,
org.eclipse.swt,
org.eclipse.jface,
- org.eclipse.nebula.widgets.richtext,
org.eclipse.nebula.widgets.nattable.core,
org.eclipse.nebula.widgets.nattable.dataset,
org.eclipse.nebula.widgets.nattable.extension.glazedlists,
org.eclipse.nebula.widgets.nattable.extension.nebula,
- org.eclipse.nebula.widgets.nattable.extension.poi
+ org.eclipse.nebula.widgets.nattable.extension.poi,
+ org.eclipse.nebula.widgets.richtext,
+ org.apache.commons.math3,
+ org.apache.commons.collections4
Bundle-Vendor: Eclipse Nebula NatTable
Export-Package: org.eclipse.nebula.widgets.nattable.examples,
org.eclipse.nebula.widgets.nattable.examples.runner
diff --git a/org.eclipse.nebula.widgets.nattable.examples/build-examples.xml b/org.eclipse.nebula.widgets.nattable.examples/build-examples.xml
index 9238b28..07ac5c4 100644
--- a/org.eclipse.nebula.widgets.nattable.examples/build-examples.xml
+++ b/org.eclipse.nebula.widgets.nattable.examples/build-examples.xml
@@ -24,16 +24,25 @@
src="lib/org.eclipse.nebula.cwt_1.1.0.201912241810.jar"/>
<zipfileset
excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
- src="lib/org.eclipse.nebula.widgets.cdatetime_1.4.0.201912241810.jar"/>
+ src="lib/org.eclipse.nebula.widgets.cdatetime_1.5.0.202011020719.jar"/>
<zipfileset
excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
- src="lib/org.eclipse.nebula.widgets.richtext_1.3.0.201912241810.jar"/>
+ src="lib/org.eclipse.nebula.widgets.richtext_1.4.0.202011020719.jar"/>
<zipfileset
excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
src="lib/ca.odell.glazedlists_1.11.0.v20190926-1838.jar"/>
<zipfileset
excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
- src="lib/org.apache.poi_3.9.0.v201303080712.jar"/>
+ src="lib/org.apache.poi_4.1.1.v20200604-1524.jar"/>
+ <zipfileset
+ excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
+ src="lib/org.apache.commons.codec_1.14.0.v20200818-1422.jar"/>
+ <zipfileset
+ excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
+ src="lib/org.apache.commons.collections4_4.4.0.v20200420-1700.jar"/>
+ <zipfileset
+ excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
+ src="lib/org.apache.commons.math3_3.6.1.v20200817-1830.jar"/>
<zipfileset
excludes="about_files/*,META-INF/*.SF,META-INF/*.inf,META-INF/*.RSA,*"
src="lib/org.apache.commons.logging_1.1.1.v201101211721.jar"/>
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.codec_1.14.0.v20200818-1422.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.codec_1.14.0.v20200818-1422.jar
new file mode 100644
index 0000000..e093bd2
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.codec_1.14.0.v20200818-1422.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.collections4_4.4.0.v20200420-1700.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.collections4_4.4.0.v20200420-1700.jar
new file mode 100644
index 0000000..4b5ac57
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.collections4_4.4.0.v20200420-1700.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.math3_3.6.1.v20200817-1830.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.math3_3.6.1.v20200817-1830.jar
new file mode 100644
index 0000000..1ccee15
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.commons.math3_3.6.1.v20200817-1830.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_3.9.0.v201303080712.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_3.9.0.v201303080712.jar
deleted file mode 100644
index 9f1de31..0000000
--- a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_3.9.0.v201303080712.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_4.1.1.v20200604-1524.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_4.1.1.v20200604-1524.jar
new file mode 100644
index 0000000..6cfff37
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.apache.poi_4.1.1.v20200604-1524.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.4.0.201912241810.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.4.0.201912241810.jar
deleted file mode 100644
index df3e1af..0000000
--- a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.4.0.201912241810.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.5.0.202011020719.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.5.0.202011020719.jar
new file mode 100644
index 0000000..b124931
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.cdatetime_1.5.0.202011020719.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.3.0.201912241810.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.3.0.201912241810.jar
deleted file mode 100644
index 413b895..0000000
--- a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.3.0.201912241810.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.4.0.202011020719.jar b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.4.0.202011020719.jar
new file mode 100644
index 0000000..c61b81c
--- /dev/null
+++ b/org.eclipse.nebula.widgets.nattable.examples/lib/org.eclipse.nebula.widgets.richtext_1.4.0.202011020719.jar
Binary files differ
diff --git a/org.eclipse.nebula.widgets.nattable.examples/src/org/eclipse/nebula/widgets/nattable/examples/_700_AdditionalFunctions/_774_MultiExportExample.java b/org.eclipse.nebula.widgets.nattable.examples/src/org/eclipse/nebula/widgets/nattable/examples/_700_AdditionalFunctions/_774_MultiExportExample.java
index 9c1ba12..bcdcfee 100644
--- a/org.eclipse.nebula.widgets.nattable.examples/src/org/eclipse/nebula/widgets/nattable/examples/_700_AdditionalFunctions/_774_MultiExportExample.java
+++ b/org.eclipse.nebula.widgets.nattable.examples/src/org/eclipse/nebula/widgets/nattable/examples/_700_AdditionalFunctions/_774_MultiExportExample.java
@@ -15,6 +15,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -281,7 +282,7 @@ public void widgetSelected(SelectionEvent e) {
ExportConfigAttributes.EXPORTER,
DisplayMode.NORMAL);
- Map<String, NatTable> export = new HashMap<>();
+ Map<String, NatTable> export = new LinkedHashMap<>();
export.put("Persons", natTable);
export.put("Numbers", numberNatTable);
new NatExporter(Display.getCurrent().getActiveShell())
diff --git a/org.eclipse.nebula.widgets.nattable.extension.poi.feature/feature.xml b/org.eclipse.nebula.widgets.nattable.extension.poi.feature/feature.xml
index 1a239ce..b6805c9 100644
--- a/org.eclipse.nebula.widgets.nattable.extension.poi.feature/feature.xml
+++ b/org.eclipse.nebula.widgets.nattable.extension.poi.feature/feature.xml
@@ -37,4 +37,18 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.apache.commons.math3"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.commons.collections4"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/org.eclipse.nebula.widgets.nattable.extension.poi.source.feature/feature.xml b/org.eclipse.nebula.widgets.nattable.extension.poi.source.feature/feature.xml
index cd48deb..3c8eda8 100644
--- a/org.eclipse.nebula.widgets.nattable.extension.poi.source.feature/feature.xml
+++ b/org.eclipse.nebula.widgets.nattable.extension.poi.source.feature/feature.xml
@@ -33,4 +33,18 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.apache.commons.math3.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.commons.collections4.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/org.eclipse.nebula.widgets.nattable.extension.poi/META-INF/MANIFEST.MF b/org.eclipse.nebula.widgets.nattable.extension.poi/META-INF/MANIFEST.MF
index 412f9b3..6a2aa2c 100644
--- a/org.eclipse.nebula.widgets.nattable.extension.poi/META-INF/MANIFEST.MF
+++ b/org.eclipse.nebula.widgets.nattable.extension.poi/META-INF/MANIFEST.MF
@@ -5,7 +5,11 @@
Bundle-Version: 2.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.nebula.widgets.nattable.extension.poi;version="2.0.0"
-Import-Package: org.eclipse.nebula.widgets.nattable.config;version="[2.0.0,3.0.0)",
+Import-Package: org.apache.poi.hssf.usermodel;version="[4.1.1,5.0.0)",
+ org.apache.poi.ss.usermodel;version="[4.1.1,5.0.0)",
+ org.apache.poi.ss.util;version="[4.1.1,5.0.0)",
+ org.apache.poi.util;version="[4.1.1,5.0.0)",
+ org.eclipse.nebula.widgets.nattable.config;version="[2.0.0,3.0.0)",
org.eclipse.nebula.widgets.nattable.export;version="[2.0.0,3.0.0)",
org.eclipse.nebula.widgets.nattable.formula;version="[2.0.0,3.0.0)",
org.eclipse.nebula.widgets.nattable.layer;version="[2.0.0,3.0.0)",
@@ -18,5 +22,4 @@
org.eclipse.swt.widgets,
org.slf4j;version="1.7.2"
Bundle-Vendor: Eclipse Nebula NatTable
-Require-Bundle: org.apache.poi;bundle-version="3.9.0"
Automatic-Module-Name: org.eclipse.nebula.widgets.nattable.extension.poi
diff --git a/org.eclipse.nebula.widgets.nattable.extension.poi/src/org/eclipse/nebula/widgets/nattable/extension/poi/PoiExcelExporter.java b/org.eclipse.nebula.widgets.nattable.extension.poi/src/org/eclipse/nebula/widgets/nattable/extension/poi/PoiExcelExporter.java
index f5cb834..2419818 100644
--- a/org.eclipse.nebula.widgets.nattable.extension.poi/src/org/eclipse/nebula/widgets/nattable/extension/poi/PoiExcelExporter.java
+++ b/org.eclipse.nebula.widgets.nattable.extension.poi/src/org/eclipse/nebula/widgets/nattable/extension/poi/PoiExcelExporter.java
@@ -25,15 +25,19 @@
import java.util.Map;
import java.util.Set;
+import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.IOUtils;
@@ -87,7 +91,7 @@ public abstract class PoiExcelExporter implements ILayerExporter {
protected NumberFormat nf = NumberFormat.getInstance();
protected CreationHelper helper;
- protected Drawing drawing;
+ protected Drawing<?> drawing;
protected boolean exportOnSameSheet = false;
protected int currentRow = 0;
@@ -341,7 +345,7 @@ private CellStyle getExcelCellStyle(
if (this.applyBackgroundColor) {
// Note: xl fill foreground = background
setFillForegroundColor(xlCellStyle, bg);
- xlCellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
+ xlCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
}
Font xlFont = this.xlWorkbook.createFont();
@@ -357,32 +361,32 @@ private CellStyle getExcelCellStyle(
xlCellStyle.setWrapText(wrap);
if (border) {
- xlCellStyle.setBorderTop(CellStyle.BORDER_THIN);
- xlCellStyle.setBorderRight(CellStyle.BORDER_THIN);
- xlCellStyle.setBorderBottom(CellStyle.BORDER_THIN);
- xlCellStyle.setBorderLeft(CellStyle.BORDER_THIN);
+ xlCellStyle.setBorderTop(BorderStyle.THIN);
+ xlCellStyle.setBorderRight(BorderStyle.THIN);
+ xlCellStyle.setBorderBottom(BorderStyle.THIN);
+ xlCellStyle.setBorderLeft(BorderStyle.THIN);
}
switch (hAlign) {
case SWT.CENTER:
- xlCellStyle.setAlignment(CellStyle.ALIGN_CENTER);
+ xlCellStyle.setAlignment(HorizontalAlignment.CENTER);
break;
case SWT.LEFT:
- xlCellStyle.setAlignment(CellStyle.ALIGN_LEFT);
+ xlCellStyle.setAlignment(HorizontalAlignment.LEFT);
break;
case SWT.RIGHT:
- xlCellStyle.setAlignment(CellStyle.ALIGN_RIGHT);
+ xlCellStyle.setAlignment(HorizontalAlignment.RIGHT);
break;
}
switch (vAlign) {
case SWT.TOP:
- xlCellStyle.setVerticalAlignment(CellStyle.VERTICAL_TOP);
+ xlCellStyle.setVerticalAlignment(VerticalAlignment.TOP);
break;
case SWT.CENTER:
- xlCellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
+ xlCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
break;
case SWT.BOTTOM:
- xlCellStyle.setVerticalAlignment(CellStyle.VERTICAL_BOTTOM);
+ xlCellStyle.setVerticalAlignment(VerticalAlignment.BOTTOM);
break;
}
@@ -645,6 +649,7 @@ protected void exportImage(InputStream is, Cell xlCell) {
*
* @since 1.5
*/
+ @Override
public void setExportOnSameSheet(boolean sameSheet) {
this.exportOnSameSheet = sameSheet;
}
diff --git a/target-platform/target-platform.target b/target-platform/target-platform.target
index bae2ac6..31eb30a 100644
--- a/target-platform/target-platform.target
+++ b/target-platform/target-platform.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="NatTable Target Definition" sequenceNumber="1599822540">
+<target name="NatTable Target Definition" sequenceNumber="1605535427">
<locations>
<location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.equinox.executable.feature.group" version="3.8.500.v20190907-0428"/>
@@ -16,17 +16,19 @@
</location>
<location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="ca.odell.glazedlists" version="1.11.0.v20190926-1838"/>
+ <unit id="org.apache.commons.collections4" version="4.4.0.v20200420-1700"/>
<unit id="org.apache.commons.codec" version="1.14.0.v20200818-1422"/>
- <unit id="org.apache.poi" version="3.9.0.v201405241750"/>
+ <unit id="org.apache.commons.math3" version="3.6.1.v20200817-1830"/>
+ <unit id="org.apache.poi" version="4.1.1.v20200604-1524"/>
<unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/>
<unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
- <unit id="org.eclipse.nebula.cwt.feature.feature.group" version="1.1.0.201912241810"/>
- <unit id="org.eclipse.nebula.widgets.cdatetime.feature.feature.group" version="1.4.0.201912241810"/>
- <unit id="org.eclipse.nebula.widgets.richtext.feature.feature.group" version="1.3.0.201912241810"/>
- <repository location="https://download.eclipse.org/nebula/releases/2.3.0"/>
+ <unit id="org.eclipse.nebula.cwt.feature.feature.group" version="1.1.0.202011020719"/>
+ <unit id="org.eclipse.nebula.widgets.cdatetime.feature.feature.group" version="1.5.0.202011020719"/>
+ <unit id="org.eclipse.nebula.widgets.richtext.feature.feature.group" version="1.4.0.202011020719"/>
+ <repository location="https://download.eclipse.org/nebula/releases/2.4.3/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="true" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.collections.feature.feature.group" version="10.4.0.v20200820-2049"/>
diff --git a/target-platform/target-platform.tpd b/target-platform/target-platform.tpd
index 41c0ea4..ff0ede1 100644
--- a/target-platform/target-platform.tpd
+++ b/target-platform/target-platform.tpd
@@ -15,13 +15,15 @@
location "https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository" {
ca.odell.glazedlists [1.11.0,1.11.1)
+ org.apache.commons.collections4 [4.4.0,4.5.0)
org.apache.commons.codec [1.14.0,1.15.0)
- org.apache.poi [3.9.0,3.9.1)
+ org.apache.commons.math3 [3.6.1,3.7.0)
+ org.apache.poi [4.1.1,4.2.0)
org.slf4j.api [1.7.30,1.8.0)
org.slf4j.binding.simple [1.7.30,1.8.0)
}
-location "https://download.eclipse.org/nebula/releases/2.3.0" {
+location "https://download.eclipse.org/nebula/releases/2.4.3/" {
org.eclipse.nebula.cwt.feature.feature.group
org.eclipse.nebula.widgets.cdatetime.feature.feature.group
org.eclipse.nebula.widgets.richtext.feature.feature.group