/* * $Id: DropdownMenu.java,v 1.26.2.1 2007/01/12 19:32:09 idegaweb Exp $ * * Copyright (C) 2001 Idega hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. * */ package com.idega.presentation.ui; import java.util.Collection; import java.util.Iterator; import com.idega.data.IDOEntity; import com.idega.data.IDOLegacyEntity; /** * @author <a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a> * @version 1.2 */ public class DropdownMenu extends GenericSelect { private final static String untitled = "untitled"; public DropdownMenu() { this(untitled); } public DropdownMenu(String name) { super(name); } public DropdownMenu(Collection entityList) { this(entityList,untitled); } public DropdownMenu(Collection entityList, String Name) { this(Name); addMenuElements(entityList); } public DropdownMenu(IDOLegacyEntity[] entity) { super(); if (entity != null) { if (entity.length > 0) { setName(entity[0].getEntityName()); for (int i = 0; i < entity.length; i++) { addMenuElement(entity[i].getID(), entity[i].getName()); } } else { setName(untitled); } } else { setName(untitled); } } public DropdownMenu(IDOLegacyEntity[] entity, String Name) { this(entity); setName(Name); } public void addMenuElementFirst(String value, String displayString) { addFirstOption(new SelectOption(displayString, value)); } public void addMenuElement(String value, String displayString) { addOption(new SelectOption(displayString, value)); } public void addMenuElement(int value, String displayString) { addOption(new SelectOption(displayString, value)); } public void addMenuElement(char value, String displayString) { addOption(new SelectOption(displayString, value)); } public void addMenuElement(String value) { addOption(new SelectOption(value, value)); } public void addDisabledMenuElement(String value, String displayString) { addDisabledOption(new SelectOption(displayString,value)); } public void setMenuElementFirst(String value, String displayString) { addFirstOption(new SelectOption(displayString, value)); } public void setMenuElement(String value, String displayString) { addOption(new SelectOption(displayString, value)); } public void setMenuElement(int value, String displayString) { addOption(new SelectOption(displayString, value)); } public void setMenuElement(String value) { addOption(new SelectOption(value, value)); } public void setDisabledMenuElement(String value, String displayString) { addDisabledOption(new SelectOption(displayString,value)); } public void setMenuElementDisplayString(String value, String displayString) { setOptionName(value, displayString); } /** * Add menu elements from an Collection of IDOLegacyEntity Objects */ public void addMenuElements(Collection entityList) { if (entityList != null) { IDOEntity entity = null; Iterator iter = entityList.iterator(); while (iter.hasNext()) { entity = (IDOEntity) iter.next(); addMenuElement(entity.getPrimaryKey().toString(), entity.toString()); } if (getName().equals(untitled) && entity != null) { setName(entity.getEntityDefinition().getUniqueEntityName()); } } } /** * Sets the element by value elementValue as selected if it is found in this menu **/ public void setSelectedElement(String value) { setSelectedOption(value); } /** * Sets the element by value elementValue as selected if it is found in this menu **/ public void setSelectedElement(int elementValue) { setSelectedElement(Integer.toString(elementValue)); } /** * Sets the element by value elementValue as selected if it is found in this menu **/ public void setSelectedElement(char elementValue) { setSelectedElement(String.valueOf(elementValue)); } /** * Gets the elementValue of the selected menuelement if any. If none is selected it returns an empty String. **/ public String getSelectedElementValue() { return getSelectedValue(); } public SelectOption getMenuElement(String elementValue) { return getOption(elementValue); } public void setAttributeToElement(String ElementValue, String AttributeName, String AttributeValue) { getMenuElement(ElementValue).setMarkupAttribute(AttributeName, AttributeValue); } }