/****************************************************************************** * Product: Adempiere ERP & CRM Smart Business Solution * * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * * under the terms version 2 of the GNU General Public License as published * * by the Free Software Foundation. This program is distributed in the hope * * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * * with this program; if not, write to the Free Software Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * * For the text or an alternative of this public license, you may reach us * * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * * or via info@compiere.org or http://www.compiere.org/license.html * *****************************************************************************/ package org.apache.ecs.xhtml; import org.apache.ecs.Element; import org.apache.ecs.FocusEvents; import org.apache.ecs.FormEvents; import org.apache.ecs.KeyEvents; import org.apache.ecs.MouseEvents; import org.apache.ecs.MultiPartElement; import org.apache.ecs.Printable; /** * This class creates a <option> tag. The option tag defaults to not * having a closing </option> because it is optional in the spec. This can * be overridden by setNeedClosingTag(true) * * @version $Id: option.java,v 1.2 2006/07/30 00:54:02 jjanke Exp $ * @author Stephan Nagy * @author Jon S. Stevens * @author Bojan Smojver */ public class option extends MultiPartElement implements Printable, FocusEvents, FormEvents, MouseEvents, KeyEvents { /** * */ private static final long serialVersionUID = -5820197859460370783L; /** * Private initialization routine. */ { setElementType ("option"); setCase (LOWERCASE); setAttributeQuote (true); } /** * Basic constructor. Use the set* methods to set the values of the * attributes. */ public option () { } /** * Basic constructor. Use the set* methods to set the values of the * attributes. * * @param value * sets the attribute value="" */ public option (String value) { setValue (value); } /** * Basic constructor. Use the set* methods to set the values of the * attributes. * * @param label * sets the attribute label="" * @param value * sets the attribute value="" */ public option (String label, String value) { setLabel (label); setValue (value); } /** * Basic constructor. Use the set* methods to set the values of the * attributes. * * @param label * sets the attribute label="" * @param value * sets the attribute value="" */ public option (String label, int value) { setLabel (label); setValue (value); } /** * Basic constructor. Use the set* methods to set the values of the * attributes. * * @param label * sets the attribute label="" * @param value * sets the attribute value="" */ public option (String label, double value) { setLabel (label); setValue (value); } /** * Sets the label="" attribute * * @param label * the label="" attribute */ public option setLabel (String label) { addAttribute ("label", label); return this; } /** * Sets the value="" attribute * * @param value * the value="" attribute */ public option setValue (String value) { addAttribute ("value", value); return this; } /** * Sets the value="" attribute * * @param value * the value="" attribute */ public option setValue (int value) { addAttribute ("value", Integer.toString (value)); return this; } /** * Sets the value="" attribute * * @param value * the value="" attribute */ public option setValue (double value) { addAttribute ("value", Double.toString (value)); return this; } /** * Sets the selected value * * @param selected * true or false */ public option setSelected (boolean selected) { if (selected == true) addAttribute ("selected", "selected"); else removeAttribute ("selected"); return (this); } /** * Sets the disabled value * * @param disabled * true or false */ public option setDisabled (boolean disabled) { if (disabled == true) addAttribute ("disabled", "disabled"); else removeAttribute ("disabled"); return (this); } /** * Sets the lang="" and xml:lang="" attributes * * @param lang * the lang="" and xml:lang="" attributes */ public Element setLang (String lang) { addAttribute ("lang", lang); addAttribute ("xml:lang", lang); return this; } /** * Adds an Element to the element. * * @param hashcode * name of element for hash table * @param element * Adds an Element to the element. */ public option addElement (String hashcode, Element element) { addElementToRegistry (hashcode, element); return (this); } /** * Adds an Element to the element. * * @param hashcode * name of element for hash table * @param element * Adds an Element to the element. */ public option addElement (String hashcode, String element) { addElementToRegistry (hashcode, element); return (this); } /** * Adds an Element to the element. * * @param element * Adds an Element to the element. */ public option addElement (Element element) { addElementToRegistry (element); return (this); } /** * Adds an Element to the element. * * @param element * Adds an Element to the element. */ public option addElement (String element) { addElementToRegistry (element); return (this); } /** * Creates a group of options. * * @param element * a group of options. */ public option[] addElement (String[] element) { option[] option = new option[element.length]; for (int x = 0; x < element.length; x++) { option[x] = new option ().addElement (element[x]); } return (option); } /** * Removes an Element from the element. * * @param hashcode * the name of the element to be removed. */ public option removeElement (String hashcode) { removeElementFromRegistry (hashcode); return (this); } /** * The onfocus event occurs when an element receives focus either by the * pointing device or by tabbing navigation. This attribute may be used with * the following elements: label, input, select, textarea, and button. * * @param script * script */ public void setOnFocus (String script) { addAttribute ("onfocus", script); } /** * The onblur event occurs when an element loses focus either by the * pointing device or by tabbing navigation. It may be used with the same * elements as onfocus. * * @param script * script */ public void setOnBlur (String script) { addAttribute ("onblur", script); } /** * The onsubmit event occurs when a form is submitted. It only applies to * the FORM element. * * @param script * script */ public void setOnSubmit (String script) { addAttribute ("onsubmit", script); } /** * The onreset event occurs when a form is reset. It only applies to the * FORM element. * * @param script * script */ public void setOnReset (String script) { addAttribute ("onreset", script); } /** * The onselect event occurs when a user selects some text in a text field. * This attribute may be used with the INPUT and TEXTAREA elements. * * @param script * script */ public void setOnSelect (String script) { addAttribute ("onselect", script); } /** * The onchange event occurs when a control loses the input focus and its * value has been modified since gaining focus. This attribute applies to * the following elements: input, select, and textarea. * * @param script * script */ public void setOnChange (String script) { addAttribute ("onchange", script); } /** * The onclick event occurs when the pointing device button is clicked over * an element. This attribute may be used with most elements. * * @param script * script */ public void setOnClick (String script) { addAttribute ("onclick", script); } /** * The ondblclick event occurs when the pointing device button is double * clicked over an element. This attribute may be used with most elements. * * @param script * script */ public void setOnDblClick (String script) { addAttribute ("ondblclick", script); } /** * The onmousedown event occurs when the pointing device button is pressed * over an element. This attribute may be used with most elements. * * @param script * script */ public void setOnMouseDown (String script) { addAttribute ("onmousedown", script); } /** * The onmouseup event occurs when the pointing device button is released * over an element. This attribute may be used with most elements. * * @param script * script */ public void setOnMouseUp (String script) { addAttribute ("onmouseup", script); } /** * The onmouseover event occurs when the pointing device is moved onto an * element. This attribute may be used with most elements. * * @param script * script */ public void setOnMouseOver (String script) { addAttribute ("onmouseover", script); } /** * The onmousemove event occurs when the pointing device is moved while it * is over an element. This attribute may be used with most elements. * * @param script * script */ public void setOnMouseMove (String script) { addAttribute ("onmousemove", script); } /** * The onmouseout event occurs when the pointing device is moved away from * an element. This attribute may be used with most elements. * * @param script * script */ public void setOnMouseOut (String script) { addAttribute ("onmouseout", script); } /** * The onkeypress event occurs when a key is pressed and released over an * element. This attribute may be used with most elements. * * @param script * script */ public void setOnKeyPress (String script) { addAttribute ("onkeypress", script); } /** * The onkeydown event occurs when a key is pressed down over an element. * This attribute may be used with most elements. * * @param script * script */ public void setOnKeyDown (String script) { addAttribute ("onkeydown", script); } /** * The onkeyup event occurs when a key is released over an element. This * attribute may be used with most elements. * * @param script * script */ public void setOnKeyUp (String script) { addAttribute ("onkeyup", script); } }