package com.idega.graphics.generator; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: idega software * @author Eirikur S. Hrafnsson eiki@idega.is * @version 1.0 */ import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Image; import java.awt.geom.AffineTransform; public class Tab extends Button { public static String BUTTON_UP = "_TAB_UP"; public static String BUTTON_OVER = "_TAB_OVER"; public static String BUTTON_DOWN = "_TAB_DOWN"; protected boolean drawBorder = false; protected boolean firstRun = true; protected int height = 15; private AffineTransform flipTransform = new AffineTransform((double)1,(double)0,(double)0,(double)-1,(double)0,(double)this.height); private boolean flip = false; public Tab() { super(); } public Tab(String text) { super(text); } public Tab(String text, Font font) { super(text,font); } public Tab(String text, int width, int height) { super(text,width,height); } public Tab(String text, int width, int height, Color fillColor) { super(text,width,height,fillColor); } public Tab(String text, Color fillColor) { super(text,fillColor); } public static void main(String[] args) { Tab test = new Tab("Tester"); //Button test = new Button("Tester",30,40,Color.orange); //test.setHighlightColor(Color.blue.brighter()); test.generate(); System.exit(0); } public void generate(String filePath){ super.height = this.height; super.generate(filePath); } public void makeButton(Graphics2D g, String text, Image image, String filename, String effect){ /*if( flip ){ g.transform(flipTransform); if( flip ) textYPos = height-2; }*/ if(!this.flip){ this.textYPos = this.height-1; //defaultOverColor==white //defaultHightlightColor = light light gray //defaultFillColor==light gray //defaultUnderColor= gray //defaultBorderColor= dark gray g.setColor(this.backgroundColor);// delete this when transparencies are supported g.fillRect(0,0,this.width,this.height); if(effect==BUTTON_OVER) { g.setColor(this.highlightColor); } else if( effect==BUTTON_DOWN ){ g.setColor(this.highlightColor); } else { g.setColor(this.fillColor); } g.drawRect(2,1,this.width-4,this.height); g.fillRect(2,1,this.width-4,this.height); g.fillRect(1,2,1,this.height-2); g.setColor(this.overColor); g.fillRect(0,2,1,this.height-2); g.fillRect(1,1,1,1); g.fillRect(2,0,this.width-4,1); g.setColor(this.underColor); g.fillRect(this.width-2,2,1,this.height-2); g.setColor(this.borderColor); g.fillRect(this.width-2,1,1,1); g.fillRect(this.width-1,2,1,this.height-2); } else{ g.setColor(this.overColor);// delete this when transparencies are supported g.fillRect(0,0,this.width,this.height); if(effect==BUTTON_OVER) { g.setColor(this.highlightColor); } else if( effect==BUTTON_DOWN ){ g.setColor(this.highlightColor); } else { g.setColor(this.fillColor); } g.fillRect(1,0,this.width-this.doubleBorder,this.height-this.doubleBorder); g.setColor(this.overColor); g.drawLine(0,0,0,this.height-this.doubleBorder-2); g.drawLine(1,this.height-this.doubleBorder-1,2,this.height-this.doubleBorder-1); g.setColor(this.underColor); g.drawLine(2,this.height-this.doubleBorder-1,this.width-this.doubleBorder-1,this.height-this.doubleBorder-1); g.drawLine(this.width-2,this.height-this.doubleBorder-2,this.width-2,0); g.setColor(this.borderColor); g.drawLine(2,this.height-this.doubleBorder,this.width-this.doubleBorder-1,this.height-this.doubleBorder); g.drawLine(this.width-1,this.height-this.doubleBorder-2,this.width-1,0); g.drawLine(this.width-2,this.height-this.doubleBorder-1,this.width-2,this.height-this.doubleBorder-1); } if( effect==BUTTON_DOWN ){ //textYPos++; g.setColor(this.fontColor); } else if( effect==BUTTON_OVER ){ g.setColor(Color.blue); } else { g.setColor(this.fontColor); } //if( flip ) g.transform(flipTransform); g.drawString(text,this.textXPos,this.textYPos-3); encode(image,filename+this.flip,effect); } public String getStaticButtonDownString(){ return Tab.BUTTON_DOWN; } public String getStaticButtonUpString(){ return Tab.BUTTON_UP; } public String getStaticButtonOverString(){ return Tab.BUTTON_OVER; } public void flip(boolean flip){ this.flip = flip; } public void setBackgroundColor(Color color){ this.backgroundColor=color; } }