]> source.dussan.org Git - poi.git/commitdiff
Support unsetting the XSSF CF pattern colours
authorNick Burch <nick@apache.org>
Tue, 14 Jul 2015 21:10:14 +0000 (21:10 +0000)
committerNick Burch <nick@apache.org>
Tue, 14 Jul 2015 21:10:14 +0000 (21:10 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691081 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java

index 75989f3e79622fef45fccff6a3430c8936ba982a..3ca68f2bae2b57950aacafadee847b7a7bc8e367 100644 (file)
@@ -64,30 +64,40 @@ public class XSSFPatternFormatting implements PatternFormatting {
 \r
     public void setFillBackgroundColor(Color bg) {\r
         XSSFColor xcolor = XSSFColor.toXSSFColor(bg);\r
-        setFillBackgroundColor(xcolor.getCTColor());\r
+        if (xcolor == null) setFillBackgroundColor((CTColor)null);\r
+        else setFillBackgroundColor(xcolor.getCTColor());\r
     }\r
     public void setFillBackgroundColor(short bg) {\r
         CTColor bgColor = CTColor.Factory.newInstance();\r
         bgColor.setIndexed(bg);\r
         setFillBackgroundColor(bgColor);\r
     }\r
-    public void setFillBackgroundColor(CTColor color) {\r
+    private void setFillBackgroundColor(CTColor color) {\r
         CTPatternFill ptrn = _fill.isSetPatternFill() ? _fill.getPatternFill() : _fill.addNewPatternFill();\r
-        ptrn.setBgColor(color);\r
+        if (color == null) {\r
+            ptrn.unsetBgColor();\r
+        } else {\r
+            ptrn.setBgColor(color);\r
+        }\r
     }\r
     \r
     public void setFillForegroundColor(Color fg) {\r
         XSSFColor xcolor = XSSFColor.toXSSFColor(fg);\r
-        setFillForegroundColor(xcolor.getCTColor());\r
+        if (xcolor == null) setFillForegroundColor((CTColor)null);\r
+        else setFillForegroundColor(xcolor.getCTColor());\r
     }\r
     public void setFillForegroundColor(short fg) {\r
         CTColor fgColor = CTColor.Factory.newInstance();\r
         fgColor.setIndexed(fg);\r
         setFillForegroundColor(fgColor);\r
     }\r
-    public void setFillForegroundColor(CTColor color) {\r
+    private void setFillForegroundColor(CTColor color) {\r
         CTPatternFill ptrn = _fill.isSetPatternFill() ? _fill.getPatternFill() : _fill.addNewPatternFill();\r
-        ptrn.setFgColor(color);\r
+        if (color == null) {\r
+            ptrn.unsetFgColor();\r
+        } else {\r
+            ptrn.setFgColor(color);\r
+        }\r
     }\r
 \r
     public void setFillPattern(short fp){\r