package com.idega.presentation;
import com.idega.presentation.text.Link;
import com.idega.core.builder.business.BuilderService;
import com.idega.core.builder.data.ICPage;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author <br><a href="mailto:aron@idega.is">Aron Birkir</a><br>
* @version 1.0
*/
public class MenuLink extends Block {
Link menuLink1,menuLink2;
Image menuImage;
Image overImage;
Image stateImage;
String style;
int pageId = -1;
int spaceBefore = 4;
int spaceBetween = 4;
int imageWidth;
int width;
int height;
int imageHeight;
Table container;
public MenuLink() {
this.container = new Table(4,1);
this.menuLink2 = new Link();
this.menuLink1 = new Link();
}
public void setLocalizedText(String localeString,String text){
this.menuLink2.setLocalizedText(localeString,text);
}
public void setMenuImage(Image image){
this.menuImage = image;
}
public void setOnMouseOverImage(Image image){
this.overImage = image;
}
public void setStateImage(Image image){
this.stateImage = image;
}
public void setPage(ICPage page){
this.pageId = page.getID();
}
public void setStyle(String style){
this.style = style;
}
public void setImageWidth(int width){
this.imageWidth = width;
}
public void setHeight(int height){
this.height = height;
}
public void setWidth(int width){
this.width = width;
}
public void setSpaceBefore(int space){
this.spaceBefore = space;
}
public void setSpaceBetween(int space){
this.spaceBetween = space;
}
public void initContainer(){
this.container.setWidth(this.width);
this.container.setHeight(this.height);
this.container.setWidth(1,1,String.valueOf(this.spaceBefore));
this.container.setWidth(2,1,String.valueOf(this.imageWidth));
this.container.setWidth(3,1,String.valueOf(this.spaceBetween));
this.container.setCellpadding(0);
this.container.setCellspacing(0);
}
public void main(IWContext iwc)throws Exception{
initContainer();
BuilderService bs = getBuilderService(iwc);
int sessId=bs.getCurrentPageId(iwc);
if(this.stateImage!=null && this.pageId == sessId){
this.menuLink1.setImage(this.stateImage);
}
else if(this.menuImage !=null){
this.menuLink1.setImage(this.menuImage);
if(this.overImage !=null){
this.menuLink1.setOnMouseOverImage(this.overImage);
this.menuLink2.setOnMouseOverImage(this.menuImage,this.overImage);
}
}
if(this.pageId > 0){
this.menuLink1.setPage(this.pageId);
this.menuLink2.setPage(this.pageId);
}
if(this.style != null) {
this.menuLink2.setFontStyle(this.style);
}
this.container.add(this.menuLink1,2,1);
this.container.add(this.menuLink2,4,1);
add(this.container);
}
public Object clone() {
MenuLink obj = null;
try {
obj = (MenuLink)super.clone();
obj.container = (Table)this.container.clone();
obj.menuLink1 = (Link) this.menuLink1.clone();
obj.menuLink2 = (Link) this.menuLink2.clone();
}
catch(Exception ex) {
ex.printStackTrace(System.err);
}
return obj;
}
}