package lookandfeel;

import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.*;
import javax.swing.plaf.metal.*;

/**
 * A theme for the Java Look-And-Feel that is in JMU
 * colors.
 */
public class JMUTheme extends DefaultMetalTheme
{
    private ColorUIResource  gold       = new ColorUIResource(194,161, 77);
    private ColorUIResource  darkGold   = new ColorUIResource(143,118, 50);  
    private ColorUIResource  lightGold  = new ColorUIResource(214,192,135);  
    private ColorUIResource  paleGold   = new ColorUIResource(252,246,228);
    private ColorUIResource  purple     = new ColorUIResource( 69,  0,132);
    private ColorUIResource  palePurple = new ColorUIResource(214,168,255);




    /**
     * The color to use for white areas 
     * (e.g., the background of a JTextArea)
     */
    public ColorUIResource getWhite()
    {
	return paleGold;
    }


    /**
     * The color to use for things like the border of tool tips
     */
    protected ColorUIResource getPrimary1() 
    { 
	return purple; 
    }

    /**
     * The color to use for things like the border of text highlighting
     */
    protected ColorUIResource getPrimary2() 
    { 
	return purple; 
    }

    /**
     * The color to use for things like text highlighting and the background
     * of tool tips
     */
    protected ColorUIResource getPrimary3() 
    { 
	return palePurple; 
    }
    
    /**
     * The color to use for things like the light line in etched borders
     */
    protected ColorUIResource getSecondary1() 
    { 
	return lightGold; 
    }

    /**
     * The color to use for things like buttons (when pressed)
     */
    protected ColorUIResource getSecondary2() 
    { 
	return darkGold; 
    }

    /**
     * The color to use for things like component backgrounds
     */
    protected ColorUIResource getSecondary3() 
    { 
	return gold; 
    }


    /**
     * The font to use for conrol text
     */
    public FontUIResource getControlTextFont()
    {
	return new FontUIResource("Serif", Font.BOLD, 14);
    }

    /**
     * The font to use for menu text
     */
    public FontUIResource getMenuTextFont()
    {
	return new FontUIResource("Serif", Font.BOLD, 14);
    }

    /**
     * The font to use for sub text
     */
    public FontUIResource getSubTextFont()
    {
	return new FontUIResource("Serif", Font.PLAIN, 12);
    }

    /**
     * The font to use for system text (e.g., in tool tips)
     */
    public FontUIResource getSystemTextFont()
    {
	return new FontUIResource("Sans Serif", Font.PLAIN, 10);
    }

    /**
     * The font to use for user text (e.g., in text components)
     */
    public FontUIResource getUserTextFont()
    {
	return new FontUIResource("Serif", Font.PLAIN, 14);
    }

    /**
     * The font to use for window title text
     */
    public FontUIResource getWindowTitleTextFont()
    {
	return new FontUIResource("Serif", Font.PLAIN, 16);
    }
}
