From d1972a79f5444d3f8e747583b525a4bfa709d0f7 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Sat, 18 Jul 2015 04:51:51 +0000 Subject: [PATCH] #58130 Interface defintions for two more CF types git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691676 13f79535-47bb-0310-9956-ffa450edef68 --- .../ss/usermodel/ColorScaleFormatting.java | 66 +++++++++++++++++ .../poi/ss/usermodel/DataBarFormatting.java | 72 +++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 src/java/org/apache/poi/ss/usermodel/ColorScaleFormatting.java create mode 100644 src/java/org/apache/poi/ss/usermodel/DataBarFormatting.java diff --git a/src/java/org/apache/poi/ss/usermodel/ColorScaleFormatting.java b/src/java/org/apache/poi/ss/usermodel/ColorScaleFormatting.java new file mode 100644 index 0000000000..4d6f58b580 --- /dev/null +++ b/src/java/org/apache/poi/ss/usermodel/ColorScaleFormatting.java @@ -0,0 +1,66 @@ +/* + * ==================================================================== + * 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.ss.usermodel; + +import org.apache.poi.hssf.record.cf.Threshold; + +/** + * High level representation for the Color Scale / Colour Scale / + * Color Gradient Formatting component of Conditional Formatting settings + */ +public interface ColorScaleFormatting { + /** + * How many control points should be used to map + * the colours? Normally 2 or 3 + */ + int getNumControlPoints(); + /** + * Sets the number of control points to use to map + * the colours. Should normally be 2 or 3. + *

After updating, you need to ensure that the + * {@link Threshold} count and Color count match + */ + void setNumControlPoints(int num); + + /** + * Gets the list of colours that are interpolated + * between. + */ + Color[] getColors(); + /** + * Sets the list of colours that are interpolated + * between. The number must match {@link #getNumControlPoints()} + */ + void setColors(Color[] colors); + + /** + * Gets the list of thresholds + */ + ConditionalFormattingThreshold[] getThresholds(); + /** + * Sets the of thresholds. The number must match + * {@link #getNumControlPoints()} + */ + void setThresholds(ConditionalFormattingThreshold[] thresholds); + /** + * Creates a new, empty Threshold + */ + ConditionalFormattingThreshold createThreshold(); +} diff --git a/src/java/org/apache/poi/ss/usermodel/DataBarFormatting.java b/src/java/org/apache/poi/ss/usermodel/DataBarFormatting.java new file mode 100644 index 0000000000..df9a0fef71 --- /dev/null +++ b/src/java/org/apache/poi/ss/usermodel/DataBarFormatting.java @@ -0,0 +1,72 @@ +/* + * ==================================================================== + * 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.ss.usermodel; + +/** + * High level representation for the DataBar Formatting + * component of Conditional Formatting settings + */ +public interface DataBarFormatting { + /** + * Is the bar drawn from Left-to-Right, or from + * Right-to-Left + */ + boolean isLeftToRight(); + /** + * Control if the bar is drawn from Left-to-Right, + * or from Right-to-Left + */ + void setLeftToRight(boolean ltr); + + /** + * Should Icon + Value be displayed, or only the Icon? + */ + boolean isIconOnly(); + /** + * Control if only the Icon is shown, or Icon + Value + */ + void setIconOnly(boolean only); + + /** + * How much of the cell width, in %, should be given to + * the min value? + */ + int getWidthMin(); + void setWidthMin(int width); + + /** + * How much of the cell width, in %, should be given to + * the max value? + */ + int getWidthMax(); + void setWidthMax(int width); + + Color getColor(); + void setColor(Color color); + + /** + * The threshold that defines "everything from here down is minimum" + */ + ConditionalFormattingThreshold getMinThreshold(); + /** + * The threshold that defines "everything from here up is maximum" + */ + ConditionalFormattingThreshold getMaxThreshold(); +}