Package test.comp.free

Source Code of test.comp.free.PersonListCellRenderer

/*
* PersonListCellRenderer.java
*
* Created on 2 de marzo de 2007, 17:08
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package test.comp.free;

import java.io.Serializable;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import org.itsnat.comp.ItsNatComponentManager;
import org.itsnat.comp.list.ItsNatList;
import org.itsnat.comp.list.ItsNatListCellRenderer;
import org.itsnat.comp.list.ItsNatFreeListMultSel;
import org.itsnat.comp.text.ItsNatHTMLInputText;
import org.itsnat.core.ItsNatDocument;
import org.itsnat.core.ItsNatVariableResolver;
import org.w3c.dom.Element;
import test.comp.*;


/**
*
* @author jmarranz
*/
public class PersonListCellRenderer implements ItsNatListCellRenderer,Serializable
{

    /** Creates a new instance of PersonListCellRenderer */
    public PersonListCellRenderer()
    {
    }

    public void renderListCell(ItsNatList list, int index, Object value, boolean isSelected, boolean cellHasFocus,Element cellElem,boolean isNew)
    {
        if (!isNew) return;

        // S�lo es llamado una vez al a�adir la persona

        ItsNatFreeListMultSel comp = (ItsNatFreeListMultSel)list;
        ItsNatDocument itsNatDoc = comp.getItsNatDocument();
        ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver(true);
        resolver.setLocalVariable("firstNameId","firstName_" + index);
        resolver.setLocalVariable("lastNameId","lastName_" + index);
        resolver.resolve(cellElem);

        ItsNatComponentManager componentMgr = comp.getItsNatComponentManager();
        if (!itsNatDoc.getItsNatDocumentTemplate().isAutoBuildComponents())
            componentMgr.buildItsNatComponents(cellElem);

        final ItsNatHTMLInputText firstNameComp = (ItsNatHTMLInputText)componentMgr.findItsNatComponentById("firstName_" + index);
        final ItsNatHTMLInputText lastNameComp = (ItsNatHTMLInputText)componentMgr.findItsNatComponentById("lastName_" + index);

        final Person person = (Person)value;

        firstNameComp.setText(person.getFirstName());

        DocumentListener firstNameListener = new DocumentListenerSerializable()
        {
            public void insertUpdate(DocumentEvent e)
            {
                update();
            }

            public void removeUpdate(DocumentEvent e)
            {
                update();
            }

            public void changedUpdate(DocumentEvent e)
            {
                update();
            }

            public void update()
            {
                person.setFirstName(firstNameComp.getText());
            }

        };

        firstNameComp.getDocument().addDocumentListener(firstNameListener);



        lastNameComp.setText(person.getLastName());

        DocumentListener lastNameListener = new DocumentListenerSerializable()
        {
            public void insertUpdate(DocumentEvent e)
            {
                update();
            }

            public void removeUpdate(DocumentEvent e)
            {
                update();
            }

            public void changedUpdate(DocumentEvent e)
            {
                update();
            }

            public void update()
            {
                person.setLastName(lastNameComp.getText());
            }

        };

        lastNameComp.getDocument().addDocumentListener(lastNameListener);
    }

    public void unrenderListCell(ItsNatList list,int index,Element cellContentElem)
    {
        ItsNatDocument itsNatDoc = list.getItsNatDocument();
        if (!itsNatDoc.getItsNatDocumentTemplate().isAutoBuildComponents())
        {
            // En modo auto build se destruyen autom�ticamente
            ItsNatComponentManager componentMgr = list.getItsNatComponentManager();
            componentMgr.removeItsNatComponents(cellContentElem,true);
        }

    }
}
TOP

Related Classes of test.comp.free.PersonListCellRenderer

TOP
Copyright © 2018 www.massapi.com. 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.