| /* |
| * ==================================================================== |
| * 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.xssf.usermodel; |
| |
| import org.apache.poi.ss.usermodel.ConditionalFormattingThreshold; |
| import org.apache.poi.ss.usermodel.IconMultiStateFormatting; |
| import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCfvo; |
| import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIconSet; |
| import org.openxmlformats.schemas.spreadsheetml.x2006.main.STIconSetType; |
| |
| /** |
| * High level representation for Icon / Multi-State Formatting |
| * component of Conditional Formatting settings |
| */ |
| public class XSSFIconMultiStateFormatting implements IconMultiStateFormatting { |
| CTIconSet _iconset; |
| |
| /*package*/ XSSFIconMultiStateFormatting(CTIconSet iconset){ |
| _iconset = iconset; |
| } |
| |
| public IconSet getIconSet() { |
| String set = _iconset.getIconSet().toString(); |
| return IconSet.byName(set); |
| } |
| public void setIconSet(IconSet set) { |
| STIconSetType.Enum xIconSet = STIconSetType.Enum.forString(set.name); |
| _iconset.setIconSet(xIconSet); |
| } |
| |
| public boolean isIconOnly() { |
| if (_iconset.isSetShowValue()) |
| return !_iconset.getShowValue(); |
| return false; |
| } |
| public void setIconOnly(boolean only) { |
| _iconset.setShowValue(!only); |
| } |
| |
| public boolean isReversed() { |
| if (_iconset.isSetReverse()) |
| return _iconset.getReverse(); |
| return false; |
| } |
| public void setReversed(boolean reversed) { |
| _iconset.setReverse(reversed); |
| } |
| |
| public XSSFConditionalFormattingThreshold[] getThresholds() { |
| CTCfvo[] cfvos = _iconset.getCfvoArray(); |
| XSSFConditionalFormattingThreshold[] t = |
| new XSSFConditionalFormattingThreshold[cfvos.length]; |
| for (int i=0; i<cfvos.length; i++) { |
| t[i] = new XSSFConditionalFormattingThreshold(cfvos[i]); |
| } |
| return t; |
| } |
| public void setThresholds(ConditionalFormattingThreshold[] thresholds) { |
| CTCfvo[] cfvos = new CTCfvo[thresholds.length]; |
| for (int i=0; i<thresholds.length; i++) { |
| cfvos[i] = ((XSSFConditionalFormattingThreshold)thresholds[i]).getCTCfvo(); |
| } |
| _iconset.setCfvoArray(cfvos); |
| } |
| public XSSFConditionalFormattingThreshold createThreshold() { |
| return new XSSFConditionalFormattingThreshold(_iconset.addNewCfvo()); |
| } |
| } |