Package test.comp.html

Source Code of test.comp.html.TestComplexHTMLTableStructure

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

package test.comp.html;

import java.io.Serializable;
import org.itsnat.comp.table.ItsNatTable;
import org.itsnat.comp.table.ItsNatTableHeader;
import org.itsnat.comp.table.ItsNatTableStructure;
import org.itsnat.core.domutil.ItsNatTreeWalker;
import org.w3c.dom.Element;
import org.w3c.dom.html.HTMLTableCellElement;
import org.w3c.dom.html.HTMLTableElement;
import org.w3c.dom.html.HTMLTableRowElement;
import org.w3c.dom.html.HTMLTableSectionElement;

/**
*
* @author jmarranz
*/
public class TestComplexHTMLTableStructure implements ItsNatTableStructure,Serializable
{

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

    public Element getHeadElement(ItsNatTable table,Element tableElem)
    {
        if (tableElem == null) tableElem = table.getElement();
        HTMLTableElement htmlTableElem = (HTMLTableElement)tableElem;
        return htmlTableElem.getTHead(); // Si no tiene <thead> devolver� null
    }

    public Element getBodyElement(ItsNatTable table,Element tableElem)
    {
        if (tableElem == null) tableElem = table.getElement();
        return (HTMLTableSectionElement)ItsNatTreeWalker.getFirstChildElementWithTagName(tableElem,"tbody");
    }

    public Element getHeaderColumnContentElement(ItsNatTableHeader tableHeader, int index,Element parentElem)
    {
        if (index > 0)
        {
            parentElem.setAttribute("style","display:none");
        }
        return parentElem;
    }

        /*
        <table border="1px" cellspacing="1px">
            <tbody>
                <tr>
                    <td><!-- Contiene una fila entera -->
                        <table border="1px">
                            <tbody>
                                <tr><!-- Padre de la fila -->
                                    <td> <!-- Columna/celda -->
                                        <table border="1px">
                                            <tbody>
                                                <tr>
                                                    <td><b>Item 1,1</b></td> <!-- el <td> es el padre del contenido de la celda -->
                                                </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                    <td>
                                        ... Item 1,2
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>
            </tbody>
        </table>
         */
    public Element getRowContentElement(ItsNatTable table, int row,Element rowElem)
    {
        HTMLTableRowElement rowTableElem = (HTMLTableRowElement)rowElem;
        HTMLTableCellElement cellElem = (HTMLTableCellElement)ItsNatTreeWalker.getFirstChildElement(rowTableElem);
        HTMLTableElement tableElem = (HTMLTableElement)ItsNatTreeWalker.getFirstChildElement(cellElem);
        HTMLTableSectionElement tbodyElem = (HTMLTableSectionElement)ItsNatTreeWalker.getFirstChildElement(tableElem);
        rowElem = (HTMLTableRowElement)ItsNatTreeWalker.getFirstChildElement(tbodyElem);
        return rowElem;
    }

    public Element getCellContentElement(ItsNatTable table, int row, int col,Element cellElem)
    {
        HTMLTableCellElement cellTableElem = (HTMLTableCellElement)cellElem;
        HTMLTableElement tableElem = (HTMLTableElement)ItsNatTreeWalker.getFirstChildElement(cellTableElem);
        HTMLTableSectionElement tbodyElem = (HTMLTableSectionElement)ItsNatTreeWalker.getFirstChildElement(tableElem);
        HTMLTableRowElement rowElem = (HTMLTableRowElement)ItsNatTreeWalker.getFirstChildElement(tbodyElem);
        cellElem = (HTMLTableCellElement)ItsNatTreeWalker.getFirstChildElement(rowElem);
        return cellElem;
    }

}
TOP

Related Classes of test.comp.html.TestComplexHTMLTableStructure

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.