From 6b32c8f1f856be3d6b133a57e903451e6c36b031 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Tue, 14 Jul 2015 23:44:33 +0000 Subject: [PATCH] Start on high-level HSSF representation of Icon CF #58130 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691111 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hssf/record/CFRule12Record.java | 7 +++ .../record/cf/IconMultiStateFormatting.java | 2 +- .../HSSFIconMultiStateFormatting.java | 56 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/java/org/apache/poi/hssf/usermodel/HSSFIconMultiStateFormatting.java diff --git a/src/java/org/apache/poi/hssf/record/CFRule12Record.java b/src/java/org/apache/poi/hssf/record/CFRule12Record.java index 3ace01263e..2c684e3c17 100644 --- a/src/java/org/apache/poi/hssf/record/CFRule12Record.java +++ b/src/java/org/apache/poi/hssf/record/CFRule12Record.java @@ -166,6 +166,13 @@ public final class CFRule12Record extends CFRuleBase implements FutureRecord { multistate = new IconMultiStateFormatting(in); } } + + public boolean containsMultiStateBlock() { + return (multistate != null); + } + public IconMultiStateFormatting getMultiStateFormatting() { + return multistate; + } /** * get the stack of the scale expression as a list diff --git a/src/java/org/apache/poi/hssf/record/cf/IconMultiStateFormatting.java b/src/java/org/apache/poi/hssf/record/cf/IconMultiStateFormatting.java index 8cd177adc0..33390a6f08 100644 --- a/src/java/org/apache/poi/hssf/record/cf/IconMultiStateFormatting.java +++ b/src/java/org/apache/poi/hssf/record/cf/IconMultiStateFormatting.java @@ -82,7 +82,7 @@ public final class IconMultiStateFormatting implements Cloneable { private boolean getOptionFlag(BitField field) { int value = field.getValue(options); - return value==0? true : false ; + return value==0 ? false : true; } private void setOptionFlag(boolean option, BitField field) { options = field.setByteBoolean(options, option); diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFIconMultiStateFormatting.java b/src/java/org/apache/poi/hssf/usermodel/HSSFIconMultiStateFormatting.java new file mode 100644 index 0000000000..18733e17ad --- /dev/null +++ b/src/java/org/apache/poi/hssf/usermodel/HSSFIconMultiStateFormatting.java @@ -0,0 +1,56 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.hssf.usermodel; + +import org.apache.poi.hssf.record.CFRule12Record; +import org.apache.poi.hssf.record.cf.IconMultiStateFormatting; + +/** + * High level representation for Icon / Multi-State Formatting + * component of Conditional Formatting settings + */ +public final class HSSFIconMultiStateFormatting implements org.apache.poi.ss.usermodel.IconMultiStateFormatting { + private final CFRule12Record cfRule12Record; + private final IconMultiStateFormatting iconFormatting; + + protected HSSFIconMultiStateFormatting(CFRule12Record cfRule12Record) { + this.cfRule12Record = cfRule12Record; + this.iconFormatting = this.cfRule12Record.getMultiStateFormatting(); + } + + public IconSet getIconSet() { + return iconFormatting.getIconSet(); + } + public void setIconSet(IconSet set) { + iconFormatting.setIconSet(set); + } + + public boolean isIconOnly() { + return iconFormatting.isIconOnly(); + } + public void setIconOnly(boolean only) { + iconFormatting.setIconOnly(only); + } + + public boolean isReversed() { + return iconFormatting.isReversed(); + } + public void setReversed(boolean reversed) { + iconFormatting.setReversed(reversed); + } +}