/*
 * Created on Feb 28, 2005
 */
package org.flexdock.plaf.icons;

import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.plaf.UIResource;

/**
 * @author Christopher Butler
 */
public class IconResource implements UIResource {
    private Icon icon;
    private Icon iconDisabled;
    private Icon iconHover;
    private Icon iconActive;
    private Icon iconActiveDisabled;
    private Icon iconActiveHover;
    private Icon iconPressed;

    private Icon iconSelected;
    private Icon iconSelectedDisabled;
    private Icon iconSelectedHover;
    private Icon iconSelectedActive;
    private Icon iconSelectedActiveHover;
    private Icon iconSelectedActiveDisabled;
    private Icon iconSelectedPressed;


    private Action action;

    private String tooltip;
    private String tooltipSelected;

    /**
     * @return Returns the icon.
     */
    public Icon getIcon() {
        return icon;
    }
    /**
     * @param icon The icon to set.
     */
    public void setIcon(Icon icon) {
        this.icon = icon;
    }
    /**
     * @return Returns the iconActive.
     */
    public Icon getIconActive() {
        return iconActive;
    }
    /**
     * @param iconActive The iconActive to set.
     */
    public void setIconActive(Icon iconActive) {
        this.iconActive = iconActive;
    }
    /**
     * @return Returns the iconActiveHover.
     */
    public Icon getIconActiveHover() {
        return iconActiveHover;
    }
    /**
     * @param iconActiveHover The iconActiveHover to set.
     */
    public void setIconActiveHover(Icon iconActiveHover) {
        this.iconActiveHover = iconActiveHover;
    }
    /**
     * @return Returns the iconHover.
     */
    public Icon getIconHover() {
        return iconHover;
    }
    /**
     * @param iconHover The iconHover to set.
     */
    public void setIconHover(Icon iconHover) {
        this.iconHover = iconHover;
    }
    /**
     * @return Returns the iconPressed.
     */
    public Icon getIconPressed() {
        return iconPressed;
    }
    /**
     * @param iconPressed The iconPressed to set.
     */
    public void setIconPressed(Icon iconPressed) {
        this.iconPressed = iconPressed;
    }

    public Icon getIconSelected() {
        return iconSelected;
    }
    public void setIconSelected(Icon iconSelected) {
        this.iconSelected = iconSelected;
    }
    public Icon getIconSelectedActive() {
        return iconSelectedActive;
    }
    public void setIconSelectedActive(Icon iconSelectedActive) {
        this.iconSelectedActive = iconSelectedActive;
    }
    public Icon getIconSelectedActiveHover() {
        return iconSelectedActiveHover;
    }
    public void setIconSelectedActiveHover(Icon iconSelectedActiveHover) {
        this.iconSelectedActiveHover = iconSelectedActiveHover;
    }
    public Icon getIconSelectedHover() {
        return iconSelectedHover;
    }
    public void setIconSelectedHover(Icon iconSelectedHover) {
        this.iconSelectedHover = iconSelectedHover;
    }
    public Icon getIconSelectedPressed() {
        return iconSelectedPressed;
    }
    public void setIconSelectedPressed(Icon iconSelectedPressed) {
        this.iconSelectedPressed = iconSelectedPressed;
    }
    public String getTooltip() {
        return tooltip;
    }
    public void setTooltip(String tooltip) {
        this.tooltip = tooltip;
    }
    public String getTooltipSelected() {
        return tooltipSelected;
    }
    public void setTooltipSelected(String tooltipSelected) {
        this.tooltipSelected = tooltipSelected;
    }

    public Action getAction() {
        return action;
    }
    public void setAction(Action action) {
        this.action = action;
    }
    /**
     * @return Returns the iconDisabled.
     */
    public Icon getIconDisabled() {
        return iconDisabled;
    }
    /**
     * @param iconDisabled The iconDisabled to set.
     */
    public void setIconDisabled(Icon iconDisabled) {
        this.iconDisabled = iconDisabled;
    }

    /**
     * @return Returns the iconActiveDisabled.
     */
    public Icon getIconActiveDisabled() {
        return iconActiveDisabled;
    }
    /**
     * @param iconActiveDisabled The iconActiveDisabled to set.
     */
    public void setIconActiveDisabled(Icon iconActiveDisabled) {
        this.iconActiveDisabled = iconActiveDisabled;
    }
    /**
     * @return Returns the iconSelectedActiveDisabled.
     */
    public Icon getIconSelectedActiveDisabled() {
        return iconSelectedActiveDisabled;
    }
    /**
     * @param iconSelectedActiveDisabled The iconSelectedActiveDisabled to set.
     */
    public void setIconSelectedActiveDisabled(Icon iconSelectedActiveDisabled) {
        this.iconSelectedActiveDisabled = iconSelectedActiveDisabled;
    }
    /**
     * @return Returns the iconSelectedDisabled.
     */
    public Icon getIconSelectedDisabled() {
        return iconSelectedDisabled;
    }
    /**
     * @param iconSelectedDisabled The iconSelectedDisabled to set.
     */
    public void setIconSelectedDisabled(Icon iconSelectedDisabled) {
        this.iconSelectedDisabled = iconSelectedDisabled;
    }
}
