Prepare HSSFBorderFormatting for #58138

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691075 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-07-14 20:36:10 +00:00
parent 36c3b8d688
commit c806cede90
2 changed files with 52 additions and 81 deletions

View File

@ -19,193 +19,164 @@ package org.apache.poi.hssf.usermodel;
import org.apache.poi.hssf.record.CFRuleBase; import org.apache.poi.hssf.record.CFRuleBase;
import org.apache.poi.hssf.record.cf.BorderFormatting; import org.apache.poi.hssf.record.cf.BorderFormatting;
import org.apache.poi.hssf.util.HSSFColor;
/** /**
* High level representation for Border Formatting component * High level representation for Border Formatting component
* of Conditional Formatting settings * of Conditional Formatting settings
*/ */
public final class HSSFBorderFormatting implements org.apache.poi.ss.usermodel.BorderFormatting public final class HSSFBorderFormatting implements org.apache.poi.ss.usermodel.BorderFormatting {
{ private final HSSFWorkbook workbook;
private final CFRuleBase cfRuleRecord; private final CFRuleBase cfRuleRecord;
private final BorderFormatting borderFormatting; private final BorderFormatting borderFormatting;
protected HSSFBorderFormatting(CFRuleBase cfRuleRecord) protected HSSFBorderFormatting(CFRuleBase cfRuleRecord, HSSFWorkbook workbook) {
{ this.workbook = workbook;
this.cfRuleRecord = cfRuleRecord; this.cfRuleRecord = cfRuleRecord;
this.borderFormatting = cfRuleRecord.getBorderFormatting(); this.borderFormatting = cfRuleRecord.getBorderFormatting();
} }
protected BorderFormatting getBorderFormattingBlock() protected BorderFormatting getBorderFormattingBlock() {
{
return borderFormatting; return borderFormatting;
} }
public short getBorderBottom() public short getBorderBottom() {
{
return (short)borderFormatting.getBorderBottom(); return (short)borderFormatting.getBorderBottom();
} }
public short getBorderDiagonal() public short getBorderDiagonal() {
{
return (short)borderFormatting.getBorderDiagonal(); return (short)borderFormatting.getBorderDiagonal();
} }
public short getBorderLeft() public short getBorderLeft() {
{
return (short)borderFormatting.getBorderLeft(); return (short)borderFormatting.getBorderLeft();
} }
public short getBorderRight() public short getBorderRight() {
{
return (short)borderFormatting.getBorderRight(); return (short)borderFormatting.getBorderRight();
} }
public short getBorderTop() public short getBorderTop() {
{
return (short)borderFormatting.getBorderTop(); return (short)borderFormatting.getBorderTop();
} }
public short getBottomBorderColor() public short getBottomBorderColor() {
{
return (short)borderFormatting.getBottomBorderColor(); return (short)borderFormatting.getBottomBorderColor();
} }
public HSSFColor getBottomBorderColorColor() {
return workbook.getCustomPalette().getColor(
borderFormatting.getBottomBorderColor()
);
}
public short getDiagonalBorderColor() public short getDiagonalBorderColor() {
{
return (short)borderFormatting.getDiagonalBorderColor(); return (short)borderFormatting.getDiagonalBorderColor();
} }
public short getLeftBorderColor() public short getLeftBorderColor() {
{
return (short)borderFormatting.getLeftBorderColor(); return (short)borderFormatting.getLeftBorderColor();
} }
public short getRightBorderColor() public short getRightBorderColor() {
{
return (short)borderFormatting.getRightBorderColor(); return (short)borderFormatting.getRightBorderColor();
} }
public short getTopBorderColor() public short getTopBorderColor() {
{
return (short)borderFormatting.getTopBorderColor(); return (short)borderFormatting.getTopBorderColor();
} }
public boolean isBackwardDiagonalOn() public boolean isBackwardDiagonalOn() {
{
return borderFormatting.isBackwardDiagonalOn(); return borderFormatting.isBackwardDiagonalOn();
} }
public boolean isForwardDiagonalOn() public boolean isForwardDiagonalOn() {
{
return borderFormatting.isForwardDiagonalOn(); return borderFormatting.isForwardDiagonalOn();
} }
public void setBackwardDiagonalOn(boolean on) public void setBackwardDiagonalOn(boolean on) {
{
borderFormatting.setBackwardDiagonalOn(on); borderFormatting.setBackwardDiagonalOn(on);
if( on ) if( on ) {
{
cfRuleRecord.setTopLeftBottomRightBorderModified(on); cfRuleRecord.setTopLeftBottomRightBorderModified(on);
} }
} }
public void setBorderBottom(short border) public void setBorderBottom(short border) {
{
borderFormatting.setBorderBottom(border); borderFormatting.setBorderBottom(border);
if( border != 0) if( border != 0) {
{
cfRuleRecord.setBottomBorderModified(true); cfRuleRecord.setBottomBorderModified(true);
} else {
cfRuleRecord.setBottomBorderModified(false);
} }
} }
public void setBorderDiagonal(short border) public void setBorderDiagonal(short border) {
{
borderFormatting.setBorderDiagonal(border); borderFormatting.setBorderDiagonal(border);
if( border != 0) if( border != 0) {
{
cfRuleRecord.setBottomLeftTopRightBorderModified(true); cfRuleRecord.setBottomLeftTopRightBorderModified(true);
cfRuleRecord.setTopLeftBottomRightBorderModified(true); cfRuleRecord.setTopLeftBottomRightBorderModified(true);
} }
} }
public void setBorderLeft(short border) public void setBorderLeft(short border) {
{
borderFormatting.setBorderLeft(border); borderFormatting.setBorderLeft(border);
if( border != 0) if( border != 0) {
{
cfRuleRecord.setLeftBorderModified(true); cfRuleRecord.setLeftBorderModified(true);
} }
} }
public void setBorderRight(short border) public void setBorderRight(short border) {
{
borderFormatting.setBorderRight(border); borderFormatting.setBorderRight(border);
if( border != 0) if( border != 0) {
{
cfRuleRecord.setRightBorderModified(true); cfRuleRecord.setRightBorderModified(true);
} }
} }
public void setBorderTop(short border) public void setBorderTop(short border) {
{
borderFormatting.setBorderTop(border); borderFormatting.setBorderTop(border);
if( border != 0) if( border != 0) {
{
cfRuleRecord.setTopBorderModified(true); cfRuleRecord.setTopBorderModified(true);
} }
} }
public void setBottomBorderColor(short color) public void setBottomBorderColor(short color) {
{
borderFormatting.setBottomBorderColor(color); borderFormatting.setBottomBorderColor(color);
if( color != 0) if( color != 0) {
{
cfRuleRecord.setBottomBorderModified(true); cfRuleRecord.setBottomBorderModified(true);
} }
} }
public void setDiagonalBorderColor(short color) public void setDiagonalBorderColor(short color) {
{
borderFormatting.setDiagonalBorderColor(color); borderFormatting.setDiagonalBorderColor(color);
if( color != 0) if( color != 0) {
{
cfRuleRecord.setBottomLeftTopRightBorderModified(true); cfRuleRecord.setBottomLeftTopRightBorderModified(true);
cfRuleRecord.setTopLeftBottomRightBorderModified(true); cfRuleRecord.setTopLeftBottomRightBorderModified(true);
} }
} }
public void setForwardDiagonalOn(boolean on) public void setForwardDiagonalOn(boolean on) {
{
borderFormatting.setForwardDiagonalOn(on); borderFormatting.setForwardDiagonalOn(on);
if( on ) if( on ) {
{
cfRuleRecord.setBottomLeftTopRightBorderModified(on); cfRuleRecord.setBottomLeftTopRightBorderModified(on);
} }
} }
public void setLeftBorderColor(short color) public void setLeftBorderColor(short color) {
{
borderFormatting.setLeftBorderColor(color); borderFormatting.setLeftBorderColor(color);
if( color != 0) if( color != 0) {
{
cfRuleRecord.setLeftBorderModified(true); cfRuleRecord.setLeftBorderModified(true);
} }
} }
public void setRightBorderColor(short color) public void setRightBorderColor(short color) {
{
borderFormatting.setRightBorderColor(color); borderFormatting.setRightBorderColor(color);
if( color != 0) if( color != 0) {
{
cfRuleRecord.setRightBorderModified(true); cfRuleRecord.setRightBorderModified(true);
} }
} }
public void setTopBorderColor(short color) public void setTopBorderColor(short color) {
{
borderFormatting.setTopBorderColor(color); borderFormatting.setTopBorderColor(color);
if( color != 0) if( color != 0) {
{
cfRuleRecord.setTopBorderModified(true); cfRuleRecord.setTopBorderModified(true);
} }
} }

View File

@ -99,13 +99,13 @@ public final class HSSFConditionalFormattingRule implements ConditionalFormattin
if ( borderFormatting != null) if ( borderFormatting != null)
{ {
cfRuleRecord.setBorderFormatting(borderFormatting); cfRuleRecord.setBorderFormatting(borderFormatting);
return new HSSFBorderFormatting(cfRuleRecord); return new HSSFBorderFormatting(cfRuleRecord, workbook);
} }
else if( create ) else if( create )
{ {
borderFormatting = new BorderFormatting(); borderFormatting = new BorderFormatting();
cfRuleRecord.setBorderFormatting(borderFormatting); cfRuleRecord.setBorderFormatting(borderFormatting);
return new HSSFBorderFormatting(cfRuleRecord); return new HSSFBorderFormatting(cfRuleRecord, workbook);
} }
else else
{ {