109 lines
4.0 KiB
Java
109 lines
4.0 KiB
Java
/*
|
|
* ====================================================================
|
|
* 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 Icon / Multi-State Formatting
|
|
* component of Conditional Formatting settings
|
|
*/
|
|
public interface IconMultiStateFormatting {
|
|
public enum IconSet {
|
|
/** Green Up / Yellow Side / Red Down arrows */
|
|
GYR_3_ARROW(0, 3, "3Arrows"),
|
|
/** Grey Up / Side / Down arrows */
|
|
GREY_3_ARROWS(1, 3, "3ArrowsGray"),
|
|
/** Green / Yellow / Red flags */
|
|
GYR_3_FLAGS(2, 3, "3Flags"),
|
|
/** Green / Yellow / Red traffic lights (no background) */
|
|
GYR_3_TRAFFIC_LIGHTS(3, 3, null),
|
|
/** Green Circle / Yellow Triangle / Red Diamond */
|
|
GYR_3_SHAPES(4, 3, "3Signs"),
|
|
/** Green / Yellow / Red traffic lights on a black square background */
|
|
GYR_3_TRAFFIC_LIGHTS_BOX(5, 3, "3TrafficLights2"),
|
|
/** Green Tick / Yellow ! / Red Cross on a circle background */
|
|
GYR_3_SYMBOLS_CIRCLE(6, 3, "3Symbols"),
|
|
/** Green Tick / Yellow ! / Red Cross (no background) */
|
|
GYR_3_SYMBOLS(7, 3, "3Symbols2"),
|
|
/** Green Up / Yellow NE / Yellow SE / Red Down arrows */
|
|
GYR_4_ARROWS(8, 4, "4Arrows"),
|
|
/** Grey Up / NE / SE / Down arrows */
|
|
GREY_4_ARROWS(9, 4, "4ArrowsGray"),
|
|
/** Red / Light Red / Grey / Black traffic lights */
|
|
RB_4_TRAFFIC_LIGHTS(0xA, 4, "4RedToBlack"),
|
|
RATINGS_4(0xB, 4, "4Rating"),
|
|
/** Green / Yellow / Red / Black traffic lights */
|
|
GYRB_4_TRAFFIC_LIGHTS(0xC, 4, "4TrafficLights"),
|
|
GYYYR_5_ARROWS(0xD, 5, "5Arrows"),
|
|
GREY_5_ARROWS(0xE, 5, "5ArrowsGray"),
|
|
RATINGS_5(0xF, 5, "5Rating"),
|
|
QUARTERS_5(0x10, 5, "5Quarters");
|
|
|
|
/** Numeric ID of the icon set */
|
|
public int id;
|
|
/** How many icons in the set */
|
|
public final int num;
|
|
/** Name (system) of the set */
|
|
public final String name;
|
|
|
|
public String toString() {
|
|
return id + " - " + getName();
|
|
}
|
|
private String getName() {
|
|
return (name==null?"default":name);
|
|
}
|
|
|
|
public static IconSet byId(int id) {
|
|
return values()[id];
|
|
}
|
|
|
|
private IconSet(int id, int num, String name) {
|
|
this.id = id; this.num = num; this.name = name;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get the Icon Set used
|
|
*/
|
|
IconSet getIconSet();
|
|
|
|
/**
|
|
* Changes the Icon Set used
|
|
*
|
|
* <p>If the new Icon Set has a different number of
|
|
* icons to the old one, you <em>must</em> update the
|
|
* thresholds before saving!</p>
|
|
*/
|
|
void setIconSet(IconSet set);
|
|
|
|
/**
|
|
* 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);
|
|
|
|
boolean isReversed();
|
|
void setReversed(boolean reversed);
|
|
|
|
// TODO States
|
|
}
|