Package org.w3c.dom.html

Examples of org.w3c.dom.html.HTMLOptionElement


    public void preSetDefaultDataModel(Object dataModel)
    {
        HTMLSelectElement select = getItsNatHTMLSelect().getHTMLSelectElement();
        // El uso de HTMLSelectElement.getOptions() es terriblemente ineficiente.
        // No toleramos <optgroup>
        HTMLOptionElement option = (HTMLOptionElement)ItsNatTreeWalker.getFirstChildElement(select);
        while(option != null)
        {
            String item = getOptionText(option);
            addDataModelItem(item,(ListModel)dataModel);
            option = (HTMLOptionElement)ItsNatTreeWalker.getNextSiblingElement(option);
View Full Code Here


            // No hacemos comp.setUIEnabled(false); porque si el cambio
            // de selecci�n via markup no es v�lido el selection model
            // corregir�, o bien el cambio de un option puede suponer cambios en otros option.
            // No hay problema de cambios c�clicos porque se evita lanzar un mutation event
            // si el nuevo valor del atributo es el mismo ya presente.
            HTMLOptionElement option = (HTMLOptionElement)mutEvent.getTarget();
            int index = option.getIndex();
            int changeType = mutEvent.getAttrChange();
            switch(changeType)
            {
                case MutationEvent.ADDITION:
                case MutationEvent.MODIFICATION: // Caso raro
                    selectItem(index,true);
                    break;
                case MutationEvent.REMOVAL:
                    selectItem(index,false);
                    break;
            }
        }
        else if (type.equals("DOMNodeInserted") || type.equals("DOMNodeRemoved"))
        {
            // No he testeado el caso de insertar/remover datos via ListModel directamente (no a trav�s de markup)
            // yo creo que no funcionar�a bien porque no podemos detectar este caso, el resultado
            // es que al a�adir/remover el DOM por el funcionamiento normal
            // provocar�a un mutation event que pasar�a por aqu� a�adiendo/removiendo
            // de nuevo en el ListModel. No es preocupante, un componente en modo markup driven
            // debe modificarse desde el markup o por acci�n del usuario (selecci�n).

            //Element parent = (Element)mutEvent.getRelatedNode();
            Node node = (Node)mutEvent.getTarget();
            if (node instanceof HTMLOptionElement)
            {
                ListModel dataModel = comp.getListModel();
                HTMLOptionElement option = (HTMLOptionElement)node;
                int index = option.getIndex();
                boolean uiEnabled = comp.isUIEnabled();
                comp.setUIEnabled(false);
                try
                {
                    if (type.equals("DOMNodeInserted"))
View Full Code Here

        HTMLSelectElement select = comp.getHTMLSelectElement();

        // El uso de HTMLSelectElement.getOptions() es terriblemente ineficiente.
        // No toleramos <optgroup>
        int i = 0;
        HTMLOptionElement option = (HTMLOptionElement)ItsNatTreeWalker.getFirstChildElement(select);
        while(option != null)
        {
            boolean selected = option.getSelected();
            selectItem(i,selected);
            i++;
            option = (HTMLOptionElement)ItsNatTreeWalker.getNextSiblingElement(option);
        }
    }
View Full Code Here

        String type = evt.getType();
        if (type.equals("DOMCharacterDataModified"))
        {
            MutationEvent mutEvent = (MutationEvent)evt;
            CharacterData charDataNode = (CharacterData)mutEvent.getTarget();
            HTMLOptionElement option = (HTMLOptionElement)charDataNode.getParentNode();
            int index = option.getIndex();
            String value = charDataNode.getData();
            DefaultListModel dataModel = (DefaultListModel)comp.getListModel();
            if (!value.equals(dataModel.get(index)))
                dataModel.set(index, value);
        }
View Full Code Here

        // Primero ponemos a false todos los no seleccionados
        int len = getLength();
        for(int i = 0; i < len; i++)
        {
            if (index == i) continue;
            HTMLOptionElement option = getHTMLOptionElementAt(i);
            setSelectedState(option,false);
        }
        // Ahora seleccionamos el nuevo (evitamos as� que est�n seleccionados dos o m�s en cualquier momento)
        if (index < 0) return; // Ninguno seleccionado
        HTMLOptionElement option = getHTMLOptionElementAt(index);
        setSelectedState(option,true);

        /* Podr�amos usar:
        HTMLSelectElement selectElem = getHTMLSelectElement();
        selectElem.setSelectedIndex(index);
View Full Code Here

        // El uso de HTMLSelectElement.getOptions() es terriblemente ineficiente.
        // No toleramos <optgroup>
        int selectedOption = -1;
        int i = 0;
        HTMLOptionElement option = (HTMLOptionElement)ItsNatTreeWalker.getFirstChildElement(select);
        while(option != null)
        {
            if (option.getSelected())
            {
                selectedOption = i;
                break;
            }
            i++;
View Full Code Here

        {
            HTMLCollection col = selectElem.getOptions();
            String str = type + " ";
            for(int i = 0; i < col.getLength(); i++)
            {
                HTMLOptionElement option = (HTMLOptionElement)col.item(i);
                Text item = (Text)option.getFirstChild();
                boolean selected = option.getSelected();
                str += item.getData() + "(" + selected + ") ";
            }
            outText(str);
        }
        else if (currTarget == addItemElem)
        {
            Document doc = itsNatDoc.getDocument();
            HTMLCollection col = selectElem.getOptions();
            HTMLElement option;

            HTMLElement firstOpt = (HTMLElement)col.item(0); // puede ser null
            option = (HTMLElement)doc.createElement("option");
            option.appendChild(doc.createTextNode(Integer.toString(col.getLength())));
            selectElem.add(option, firstOpt);

            option = (HTMLElement)doc.createElement("option");
            option.appendChild(doc.createTextNode(Integer.toString(col.getLength())));
            selectElem.add(option,null);
        }
        else if (currTarget == removeItemElem)
        {
            if (selectElem.getLength() > 0)
View Full Code Here

    {
        // Se ha detectado el extra�o caso de selection model vac�o (anteriormente con algo)
        // pero que al a�adir un primer elemento (index = 0, length = 0) el caso es que genera
        // un evento con �ndices 0 y 1 existiendo un �nico elemento en teor�a (size es 1).

        HTMLOptionElement option = getHTMLOptionElementAt(index);
        if (option == null)
            return;

        if (option.getSelected() != selected) // Es porque genera un mutation event aunque no cambie (para evitarlo)
        {
            DOMUtilInternal.setBooleanAttribute(option,"selected",selected);
            // option.setSelected(selected); no est� definida en versiones de Xerces antiguas (ej. 2.6.2)
        }
    }
View Full Code Here

            // Invertimos la selecci�n
            HTMLCollection col = selectElem.getOptions();
            int len = col.getLength();
            for(int i = 0; i < len; i++)
            {
                HTMLOptionElement option = (HTMLOptionElement)col.item(i);
                boolean selected = option.getSelected();
                if (selected)
                {
                    option.removeAttribute("selected");
                    i++;
                    i = i % len;
                    option = (HTMLOptionElement)col.item(i);
                    option.setAttribute("selected","selected");
                    break;
                }
            }
        }
    }
View Full Code Here

    {
        super(parentComp);

        // Pasamos directamente el pattern para que no haya necesidad de poner un <option> pattern en el template
        Document doc = getItsNatDocumentImpl().getDocument();
        HTMLOptionElement newOption = (HTMLOptionElement)doc.createElementNS(NamespaceUtil.XHTML_NAMESPACE,"option");

        boolean master = parentComp.isMarkupDriven() ? false : true;

        ElementGroupManagerImpl factory = getItsNatDocumentImpl().getElementGroupManagerImpl();
        this.elementList = factory.createElementListInternal(master,getHTMLSelectElement(),newOption,false,null,true,null,null);
View Full Code Here

TOP

Related Classes of org.w3c.dom.html.HTMLOptionElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.