1 57 package org.enhydra.apache.html.dom; 58 59 60 import org.enhydra.apache.xerces.dom.ElementImpl; 61 import org.w3c.dom.Node ; 62 import org.w3c.dom.html.HTMLCollection; 63 import org.w3c.dom.html.HTMLElement; 64 import org.w3c.dom.html.HTMLTableRowElement; 65 import org.w3c.dom.html.HTMLTableSectionElement; 66 67 68 74 public class HTMLTableSectionElementImpl 75 extends HTMLElementImpl 76 implements HTMLTableSectionElement 77 { 78 79 80 public String getAlign() 81 { 82 return capitalize( getAttribute( "align" ) ); 83 } 84 85 86 public void setAlign( String align ) 87 { 88 setAttribute( "align", align ); 89 } 90 91 92 public String getCh() 93 { 94 String ch; 95 96 ch = getAttribute( "char" ); 98 if ( ch != null && ch.length() > 1 ) 99 ch = ch.substring( 0, 1 ); 100 return ch; 101 } 102 103 104 public void setCh( String ch ) 105 { 106 if ( ch != null && ch.length() > 1 ) 108 ch = ch.substring( 0, 1 ); 109 setAttribute( "char", ch ); 110 } 111 112 113 public String getChOff() 114 { 115 return getAttribute( "charoff" ); 116 } 117 118 119 public void setChOff( String chOff ) 120 { 121 setAttribute( "charoff", chOff ); 122 } 123 124 125 public String getVAlign() 126 { 127 return capitalize( getAttribute( "valign" ) ); 128 } 129 130 131 public void setVAlign( String vAlign ) 132 { 133 setAttribute( "valign", vAlign ); 134 } 135 136 137 public HTMLCollection getRows() 138 { 139 if ( _rows == null ) 140 _rows = new HTMLCollectionImpl( this, HTMLCollectionImpl.ROW ); 141 return _rows; 142 } 143 144 145 public HTMLElement insertRow( int index ) 146 { 147 HTMLTableRowElementImpl newRow; 148 149 newRow = new HTMLTableRowElementImpl( (HTMLDocumentImpl) getOwnerDocument(), "TR" ); 150 newRow.insertCell( 0 ); 151 if ( insertRowX( index, newRow ) >= 0 ) 152 appendChild( newRow ); 153 return newRow; 154 } 155 156 157 int insertRowX( int index, HTMLTableRowElementImpl newRow ) 158 { 159 Node child; 160 161 child = getFirstChild(); 162 while ( child != null ) 163 { 164 if ( child instanceof HTMLTableRowElement ) 165 { 166 if ( index == 0 ) 167 { 168 insertBefore( newRow, child ); 169 return -1; 170 } 171 --index; 172 } 173 child = child.getNextSibling(); 174 } 175 return index; 176 } 177 178 179 public void deleteRow( int index ) 180 { 181 deleteRowX( index ); 182 } 183 184 185 int deleteRowX( int index ) 186 { 187 Node child; 188 189 child = getFirstChild(); 190 while ( child != null ) 191 { 192 if ( child instanceof HTMLTableRowElement ) 193 { 194 if ( index == 0 ) 195 { 196 removeChild ( child ); 197 return -1; 198 } 199 --index; 200 } 201 child = child.getNextSibling(); 202 } 203 return index; 204 } 205 206 210 public Node cloneNode( boolean deep ) { 211 HTMLTableSectionElementImpl clonedNode = (HTMLTableSectionElementImpl)super.cloneNode( deep ); 212 clonedNode._rows = null; 213 return clonedNode; 214 } 215 216 221 public HTMLTableSectionElementImpl( HTMLDocumentImpl owner, String name ) 222 { 223 super( owner, name ); 224 } 225 226 227 private HTMLCollectionImpl _rows; 228 229 230 } 231 232 | Popular Tags |