// idega 2000 - laddi
package com.idega.presentation.ui;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.idegaweb.service.HelpWindow;
import com.idega.presentation.IWContext;
import com.idega.presentation.text.Link;
public class HelpButton extends Link {
private final static String IW_BUNDLE_IDENTIFIER="com.idega.core";
public static final String PARAMETERSTRING_HEADLINE = "headline";
public static final String PARAMETERSTRING_TEXT = "text";
public static final String PARAMETERSTRING_URL = "imageUrl";
private String text = null;
private String headline = null;
private String url = null;
protected IWResourceBundle iwrb;
public HelpButton() {
super();
}
public HelpButton(String text) {
super();
this.text=text;
}
public HelpButton(String headline, String text) {
super();
this.headline=headline;
this.text=text;
}
public HelpButton(String headline, String text, String imageURL) {
super();
this.headline=headline;
this.text=text;
this.url=imageURL;
}
public void main(IWContext iwc) {
this.iwrb = getResourceBundle(iwc);
if(this.iwrb != null) {
this.setPresentationObject(this.iwrb.getImage("/help/help.gif",this.text));
}
String hVal = getHeadline();
this.addParameter(PARAMETERSTRING_HEADLINE,(hVal == null)?"":hVal);
String tVal = getText();
this.addParameter(PARAMETERSTRING_TEXT,(tVal == null)?"":tVal);
String iVal = getImageUrl();
this.addParameter(PARAMETERSTRING_URL,(iVal == null)?"":iVal);
this.setWindowToOpen(HelpWindow.class);
}
// public String getBundleIdentifier(){
// return IW_BUNDLE_IDENTIFIER;
// }
public String getHeadline() {
if(this.headline != null){
return this.headline;
}
ValueBinding vb = getValueBinding("headline");
return (String)((vb != null)?vb.getValue(getFacesContext()):null);
}
public void setHeadline(String headline) {
this.headline = headline;
}
public String getText() {
if(this.text != null){
return this.text;
}
ValueBinding vb = getValueBinding("text");
return (String)((vb != null)?vb.getValue(getFacesContext()):null);
}
public void setText(String text) {
this.text = text;
}
public String getImageUrl() {
if(this.url != null){
return this.url;
}
ValueBinding vb = getValueBinding("imageUrl");
return (String)((vb != null)?vb.getValue(getFacesContext()):null);
}
public void setImageUrl(String url) {
this.url = url;
}
public void restoreState(FacesContext context, Object state) {
Object values[] = (Object[])state;
super.restoreState(context, values[0]);
this.text = (String) values[1];
this.headline = (String) values[2];
this.url = (String)values[3];
}
/* (non-Javadoc)
* @see javax.faces.component.StateHolder#saveState(javax.faces.context.FacesContext)
*/
public Object saveState(FacesContext context) {
Object values[] = new Object[4];
values[0] = super.saveState(context);
values[1] = this.text;
values[2] = this.headline;
values[3] = this.url;
return values;
}
}