Author: nick
Date: Tue Jul 14 18:32:35 2015
New Revision: 1691047
URL: http://svn.apache.org/r1691047
Log:
Provide format-agnostic conditional formatting patter colour getters and setters
Modified:
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java
poi/trunk/src/java/org/apache/poi/ss/usermodel/PatternFormatting.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java
Modified:
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java?rev=1691047&r1=1691046&r2=1691047&view=diff
==============================================================================
---
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java
(original)
+++
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFConditionalFormattingRule.java
Tue Jul 14 18:32:35 2015
@@ -135,13 +135,13 @@ public final class HSSFConditionalFormat
if ( patternFormatting != null)
{
cfRuleRecord.setPatternFormatting(patternFormatting);
- return new HSSFPatternFormatting(cfRuleRecord);
+ return new HSSFPatternFormatting(cfRuleRecord,
workbook);
}
else if( create )
{
patternFormatting = new PatternFormatting();
cfRuleRecord.setPatternFormatting(patternFormatting);
- return new HSSFPatternFormatting(cfRuleRecord);
+ return new HSSFPatternFormatting(cfRuleRecord,
workbook);
}
else
{
Modified:
poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java?rev=1691047&r1=1691046&r2=1691047&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java
(original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java
Tue Jul 14 18:32:35 2015
@@ -19,17 +19,21 @@ package org.apache.poi.hssf.usermodel;
import org.apache.poi.hssf.record.CFRuleBase;
import org.apache.poi.hssf.record.cf.PatternFormatting;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.Color;
/**
* High level representation for Conditional Formatting settings
*/
public class HSSFPatternFormatting implements
org.apache.poi.ss.usermodel.PatternFormatting
{
+ private final HSSFWorkbook workbook;
private final CFRuleBase cfRuleRecord;
private final PatternFormatting patternFormatting;
- protected HSSFPatternFormatting(CFRuleBase cfRuleRecord)
+ protected HSSFPatternFormatting(CFRuleBase cfRuleRecord, HSSFWorkbook
workbook)
{
+ this.workbook = workbook;
this.cfRuleRecord = cfRuleRecord;
this.patternFormatting = cfRuleRecord.getPatternFormatting();
}
@@ -39,7 +43,15 @@ public class HSSFPatternFormatting imple
return patternFormatting;
}
- /**
+ public HSSFColor getFillBackgroundColorColor() {
+ return workbook.getCustomPalette().getColor(getFillBackgroundColor());
+ }
+
+ public HSSFColor getFillForegroundColorColor() {
+ return workbook.getCustomPalette().getColor(getFillForegroundColor());
+ }
+
+ /**
* @see
org.apache.poi.hssf.record.cf.PatternFormatting#getFillBackgroundColor()
*/
public short getFillBackgroundColor()
@@ -63,7 +75,31 @@ public class HSSFPatternFormatting imple
return (short)patternFormatting.getFillPattern();
}
- /**
+ public void setFillBackgroundColor(Color bg) {
+ if (bg != null && !(bg instanceof HSSFColor)) {
+ throw new IllegalArgumentException("Only HSSFColor objects are
supported");
+ }
+ HSSFColor hcolor = (HSSFColor)bg;
+ if (hcolor == null) {
+ setFillBackgroundColor((short)0);
+ } else {
+ setFillBackgroundColor(hcolor.getIndex());
+ }
+ }
+
+ public void setFillForegroundColor(Color fg) {
+ if (fg != null && !(fg instanceof HSSFColor)) {
+ throw new IllegalArgumentException("Only HSSFColor objects are
supported");
+ }
+ HSSFColor hcolor = (HSSFColor)fg;
+ if (hcolor == null) {
+ setFillForegroundColor((short)0);
+ } else {
+ setFillForegroundColor(hcolor.getIndex());
+ }
+ }
+
+ /**
* @param bg
* @see
org.apache.poi.hssf.record.cf.PatternFormatting#setFillBackgroundColor(int)
*/
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/PatternFormatting.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/PatternFormatting.java?rev=1691047&r1=1691046&r2=1691047&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/PatternFormatting.java
(original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/PatternFormatting.java Tue
Jul 14 18:32:35 2015
@@ -63,14 +63,16 @@ public interface PatternFormatting {
public final static short LEAST_DOTS = 18 ;
short getFillBackgroundColor();
-
short getFillForegroundColor();
+ Color getFillBackgroundColorColor();
+ Color getFillForegroundColorColor();
short getFillPattern();
void setFillBackgroundColor(short bg);
-
void setFillForegroundColor(short fg);
+ void setFillBackgroundColor(Color bg);
+ void setFillForegroundColor(Color fg);
void setFillPattern(short fp);
}
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java?rev=1691047&r1=1691046&r2=1691047&view=diff
==============================================================================
---
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java
(original)
+++
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java
Tue Jul 14 18:32:35 2015
@@ -18,6 +18,7 @@
*/
package org.apache.poi.xssf.usermodel;
+import org.apache.poi.ss.usermodel.Color;
import org.apache.poi.ss.usermodel.PatternFormatting;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;
@@ -34,37 +35,65 @@ public class XSSFPatternFormatting imple
_fill = fill;
}
- public short getFillBackgroundColor(){
- if(!_fill.isSetPatternFill()) return 0;
-
- return (short)_fill.getPatternFill().getBgColor().getIndexed();
+ public XSSFColor getFillBackgroundColorColor() {
+ if(!_fill.isSetPatternFill()) return null;
+ return new XSSFColor(_fill.getPatternFill().getBgColor());
}
-
- public short getFillForegroundColor(){
+ public XSSFColor getFillForegroundColorColor() {
if(!_fill.isSetPatternFill() || !
_fill.getPatternFill().isSetFgColor())
- return 0;
-
- return (short)_fill.getPatternFill().getFgColor().getIndexed();
+ return null;
+ return new XSSFColor(_fill.getPatternFill().getFgColor());
}
- public short getFillPattern(){
+ public short getFillPattern() {
if(!_fill.isSetPatternFill() ||
!_fill.getPatternFill().isSetPatternType()) return NO_FILL;
return (short)(_fill.getPatternFill().getPatternType().intValue() - 1);
}
- public void setFillBackgroundColor(short bg){
- CTPatternFill ptrn = _fill.isSetPatternFill() ? _fill.getPatternFill()
: _fill.addNewPatternFill();
+ public short getFillBackgroundColor() {
+ XSSFColor color = getFillBackgroundColorColor();
+ if (color == null) return 0;
+ return color.getIndexed();
+ }
+ public short getFillForegroundColor() {
+ XSSFColor color = getFillForegroundColorColor();
+ if (color == null) return 0;
+ return color.getIndexed();
+ }
+
+ public void setFillBackgroundColor(Color bg) {
+ if (bg != null && !(bg instanceof XSSFColor)) {
+ throw new IllegalArgumentException("Only XSSFColor objects are
supported");
+ }
+ XSSFColor xcolor = (XSSFColor)bg;
+ setFillBackgroundColor(xcolor.getCTColor());
+ }
+ public void setFillBackgroundColor(short bg) {
CTColor bgColor = CTColor.Factory.newInstance();
bgColor.setIndexed(bg);
- ptrn.setBgColor(bgColor);
+ setFillBackgroundColor(bgColor);
}
-
- public void setFillForegroundColor(short fg){
+ public void setFillBackgroundColor(CTColor color) {
CTPatternFill ptrn = _fill.isSetPatternFill() ? _fill.getPatternFill()
: _fill.addNewPatternFill();
+ ptrn.setBgColor(color);
+ }
+
+ public void setFillForegroundColor(Color fg) {
+ if (fg != null && !(fg instanceof XSSFColor)) {
+ throw new IllegalArgumentException("Only XSSFColor objects are
supported");
+ }
+ XSSFColor xcolor = (XSSFColor)fg;
+ setFillForegroundColor(xcolor.getCTColor());
+ }
+ public void setFillForegroundColor(short fg) {
CTColor fgColor = CTColor.Factory.newInstance();
fgColor.setIndexed(fg);
- ptrn.setFgColor(fgColor);
+ setFillForegroundColor(fgColor);
+ }
+ public void setFillForegroundColor(CTColor color) {
+ CTPatternFill ptrn = _fill.isSetPatternFill() ? _fill.getPatternFill()
: _fill.addNewPatternFill();
+ ptrn.setFgColor(color);
}
public void setFillPattern(short fp){
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]