001 package echopoint.style.echo;
002
003 import echopoint.style.AbstractStyle;
004 import static echopoint.style.echo.ResourceImages.InputFieldBackground;
005 import static echopoint.style.echo.ResourceImages.InputFieldBackgroundHightlight;
006 import static echopoint.style.echo.ResourceImages.InputFieldBackgroundPressed;
007 import static echopoint.util.ColorKit.makeColor;
008 import nextapp.echo.app.Border;
009 import nextapp.echo.app.Extent;
010 import nextapp.echo.app.FillImage;
011 import nextapp.echo.app.Insets;
012 import static nextapp.echo.app.button.AbstractButton.*;
013
014 /**
015 * The default style to associate with button components.
016 *
017 * @author Rakesh Vidyadharan 2009-05-24
018 * @version $Id: AbstractButtonStyle.java 208 2009-05-25 02:40:35Z sptrakesh $
019 */
020 public class AbstractButtonStyle extends AbstractStyle
021 {
022 private static final long serialVersionUID = 1l;
023
024 /**
025 * The border colour to use for the button.
026 *
027 * {@value}
028 */
029 public static final String BORDER = "#709bcd";
030
031 /**
032 * The rollover border colour to apply to the button.
033 *
034 * {@value}
035 */
036 public static final String ROLLOVER_BORDER = "#bcd6f4";
037
038 /**
039 * The foreground colour to use when the button is disabled.
040 *
041 * {@value}
042 */
043 public static final String DISABLED_FOREGROUND = "#93bed5";
044
045 /** {@inheritDoc} */
046 @Override
047 protected void init()
048 {
049 super.init();
050
051 set( PROPERTY_BACKGROUND_IMAGE, new FillImage( InputFieldBackground,
052 new Extent( 0 ), new Extent( 50, Extent.PERCENT ),
053 FillImage.REPEAT ) );
054
055 set( PROPERTY_BORDER,
056 new Border( 1, makeColor( BORDER ), Border.STYLE_OUTSET ) );
057 set( PROPERTY_DISABLED_FOREGROUND, makeColor( DISABLED_FOREGROUND ) );
058 set( PROPERTY_INSETS, new Insets( 1, 4 ) );
059
060 set( PROPERTY_PRESSED_BACKGROUND_IMAGE, new FillImage(
061 InputFieldBackgroundPressed, new Extent( 0 ),
062 new Extent( 50, Extent.PERCENT ), FillImage.REPEAT ) );
063
064 set( PROPERTY_PRESSED_BORDER,
065 new Border( 1, makeColor( BORDER ), Border.STYLE_INSET ) );
066 set( PROPERTY_PRESSED_ENABLED, true );
067
068 set( PROPERTY_ROLLOVER_BACKGROUND_IMAGE, new FillImage(
069 InputFieldBackgroundHightlight, new Extent( 0 ),
070 new Extent( 50, Extent.PERCENT ), FillImage.REPEAT ) );
071
072 set( PROPERTY_ROLLOVER_BORDER,
073 new Border( 1, makeColor( ROLLOVER_BORDER ), Border.STYLE_OUTSET ) );
074 set( PROPERTY_ROLLOVER_ENABLED, true );
075 }
076 }