at.tuwien.ifs.somtoolbox.visualization
Class Palette

java.lang.Object
  extended by at.tuwien.ifs.somtoolbox.visualization.Palette
All Implemented Interfaces:
java.lang.Comparable<Palette>

public class Palette
extends java.lang.Object
implements java.lang.Comparable<Palette>

This class represents a palette for the visualization.

Version:
$Id: Palette.java 4128 2011-02-08 11:02:06Z mayer $
Author:
Rudolf Mayer, Jakob Frank

Field Summary
private  java.awt.Color[] colors
           
private  java.lang.String description
           
private  ColorGradient gradient
           
private  boolean hidden
           
private  java.lang.String name
           
private  int numberOfGradientColours
           
private  java.lang.String paletteGroup
           
private  boolean reversed
           
private  java.lang.String shortName
           
 
Constructor Summary
Palette()
           
Palette(java.lang.String name, java.lang.String shortName, ColorGradient gradient, int numberOfGradientColours)
          Same as Palette(String, String, String, ColorGradient, int), using the name as description field
Palette(java.lang.String name, java.lang.String shortName, java.lang.String description, java.awt.Color[] colors)
           
Palette(java.lang.String name, java.lang.String shortName, java.lang.String description, ColorGradient gradient, int numberOfGradientColours)
           
 
Method Summary
 int compareTo(Palette other)
          Compares palette objects by name.
 void deleteColor(int pos)
           
 java.lang.String getCacheKey()
           
 java.awt.Color getColor(int index)
           
 java.awt.Color getColorConstrained(int index)
           
 java.awt.Color[] getColors()
           
 java.lang.String getDescription()
           
 ColorGradient getGradient()
           
 java.lang.String getLongDescription()
           
 java.lang.String getName()
           
 int getNumberOfColours()
           
 int getNumberOfGradientColours()
           
 org.jdom.Element getPaletteAsXML()
           
 java.lang.String getPaletteGroup()
           
 java.lang.String getShortName()
           
 void insertColor(int pos, java.awt.Color c)
           
 boolean isHidden()
          Returns true if the palette should not be shown in the Palettes menu.
 boolean isReversed()
           
private static Palette loadPaletteFromXML_v1x0(org.jdom.Element root)
           
private static Palette loadPaletteFromXML(org.jdom.Document doc)
           
static Palette loadPaletteFromXML(java.io.File file)
           
static Palette loadPaletteFromXML(java.io.InputStream in)
           
static Palette loadPaletteFromXML(java.util.jar.JarFile jarFile, java.lang.String name)
           
 double maxColourIndex()
           
 void reverse()
           
 java.awt.Color[] reverseColors()
           
 void savePaletteAsJavaCode(java.io.File file)
          Save the Palette as Javacode to the given file.
 void savePaletteToMatlab(java.io.File file)
          Save the Palette as Matlab code to the given file.
 void savePaletteToXML(java.io.File file)
           
 void setColor(int index, java.awt.Color c)
           
 void setDescription(java.lang.String description)
           
 void setGradient(ColorGradient gradient)
           
private  void setGradient(ColorGradient gradient, int numberOfGradientColours)
           
 void setHidden(boolean hidden)
           
 void setName(java.lang.String name)
           
 void setNumberOfGradientColours(int numberOfGradientColours)
          Sets the number of gradient colours to be used, and generates the palette colours (colors) new.
 void setPaletteGroup(java.lang.String paletteGroup)
           
 void setShortName(java.lang.String shortName)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

private java.lang.String name

description

private java.lang.String description

paletteGroup

private java.lang.String paletteGroup

colors

private java.awt.Color[] colors

gradient

private ColorGradient gradient

numberOfGradientColours

private int numberOfGradientColours

shortName

private java.lang.String shortName

hidden

private boolean hidden

reversed

private boolean reversed
Constructor Detail

Palette

public Palette()

Palette

public Palette(java.lang.String name,
               java.lang.String shortName,
               java.lang.String description,
               ColorGradient gradient,
               int numberOfGradientColours)

Palette

public Palette(java.lang.String name,
               java.lang.String shortName,
               ColorGradient gradient,
               int numberOfGradientColours)
Same as Palette(String, String, String, ColorGradient, int), using the name as description field


Palette

public Palette(java.lang.String name,
               java.lang.String shortName,
               java.lang.String description,
               java.awt.Color[] colors)
Method Detail

getPaletteGroup

public java.lang.String getPaletteGroup()

setPaletteGroup

public void setPaletteGroup(java.lang.String paletteGroup)

deleteColor

public void deleteColor(int pos)

insertColor

public void insertColor(int pos,
                        java.awt.Color c)

getColors

public java.awt.Color[] getColors()

getColor

public java.awt.Color getColor(int index)

getColorConstrained

public java.awt.Color getColorConstrained(int index)

getDescription

public java.lang.String getDescription()

getName

public java.lang.String getName()

getShortName

public java.lang.String getShortName()

compareTo

public int compareTo(Palette other)
Compares palette objects by name.

Specified by:
compareTo in interface java.lang.Comparable<Palette>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getCacheKey

public java.lang.String getCacheKey()

getLongDescription

public java.lang.String getLongDescription()

getNumberOfGradientColours

public int getNumberOfGradientColours()

getGradient

public ColorGradient getGradient()

setColor

public void setColor(int index,
                     java.awt.Color c)

setGradient

public void setGradient(ColorGradient gradient)

setGradient

private void setGradient(ColorGradient gradient,
                         int numberOfGradientColours)

setNumberOfGradientColours

public void setNumberOfGradientColours(int numberOfGradientColours)
Sets the number of gradient colours to be used, and generates the palette colours (colors) new.


loadPaletteFromXML

public static Palette loadPaletteFromXML(java.io.InputStream in)
                                  throws org.jdom.JDOMException,
                                         java.io.IOException
Throws:
org.jdom.JDOMException
java.io.IOException

loadPaletteFromXML

public static Palette loadPaletteFromXML(java.io.File file)
                                  throws SOMToolboxException
Throws:
SOMToolboxException

loadPaletteFromXML

public static Palette loadPaletteFromXML(java.util.jar.JarFile jarFile,
                                         java.lang.String name)
                                  throws SOMToolboxException
Throws:
SOMToolboxException

loadPaletteFromXML

private static Palette loadPaletteFromXML(org.jdom.Document doc)
                                   throws org.jdom.JDOMException
Throws:
org.jdom.JDOMException

loadPaletteFromXML_v1x0

private static Palette loadPaletteFromXML_v1x0(org.jdom.Element root)

savePaletteToMatlab

public void savePaletteToMatlab(java.io.File file)
Save the Palette as Matlab code to the given file.

Parameters:
file - The file to save to or null to write to System.out

savePaletteAsJavaCode

public void savePaletteAsJavaCode(java.io.File file)
Save the Palette as Javacode to the given file.

Parameters:
file - The file to save to or null to write to System.out

savePaletteToXML

public void savePaletteToXML(java.io.File file)

getPaletteAsXML

public org.jdom.Element getPaletteAsXML()
Returns:
The root element <palette>...</palette>

setDescription

public void setDescription(java.lang.String description)

setName

public void setName(java.lang.String name)

setShortName

public void setShortName(java.lang.String shortName)

reverse

public void reverse()

isReversed

public boolean isReversed()

reverseColors

public java.awt.Color[] reverseColors()

getNumberOfColours

public int getNumberOfColours()

maxColourIndex

public double maxColourIndex()

isHidden

public boolean isHidden()
Returns true if the palette should not be shown in the Palettes menu.

Returns:
true iff the palette is secret.

setHidden

public void setHidden(boolean hidden)