00001
00022
00023
00024
#include "dom/html_misc.h"
00025
#include "dom/html_table.h"
00026
#include "dom/dom_exception.h"
00027
00028
#include "html/html_miscimpl.h"
00029
#include "html/html_tableimpl.h"
00030
#include "misc/htmlhashes.h"
00031
00032
using namespace DOM;
00033
00034 HTMLTableCaptionElement::HTMLTableCaptionElement() :
HTMLElement()
00035 {
00036 }
00037
00038 HTMLTableCaptionElement::HTMLTableCaptionElement(
const HTMLTableCaptionElement &other) :
HTMLElement(other)
00039 {
00040 }
00041
00042 HTMLTableCaptionElement::HTMLTableCaptionElement(HTMLTableCaptionElementImpl *impl) :
HTMLElement(impl)
00043 {
00044 }
00045
00046
HTMLTableCaptionElement &HTMLTableCaptionElement::operator = (
const Node &other)
00047 {
00048 assignOther( other, ID_CAPTION );
00049
return *
this;
00050 }
00051
00052
HTMLTableCaptionElement &HTMLTableCaptionElement::operator = (
const HTMLTableCaptionElement &other)
00053 {
00054 HTMLElement::operator = (other);
00055
return *
this;
00056 }
00057
00058 HTMLTableCaptionElement::~HTMLTableCaptionElement()
00059 {
00060 }
00061
00062 DOMString HTMLTableCaptionElement::align()
const
00063
{
00064
if(!impl)
return DOMString();
00065
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00066 }
00067
00068 void HTMLTableCaptionElement::setAlign(
const DOMString &value )
00069 {
00070
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00071 }
00072
00073
00074
00075 HTMLTableCellElement::HTMLTableCellElement() :
HTMLElement()
00076 {
00077 }
00078
00079 HTMLTableCellElement::HTMLTableCellElement(
const HTMLTableCellElement &other) :
HTMLElement(other)
00080 {
00081 }
00082
00083 HTMLTableCellElement::HTMLTableCellElement(HTMLTableCellElementImpl *impl) :
HTMLElement(impl)
00084 {
00085 }
00086
00087
HTMLTableCellElement &HTMLTableCellElement::operator = (
const Node &other)
00088 {
00089
if( other.
elementId() != ID_TD &&
00090 other.
elementId() != ID_TH )
00091 {
00092
if ( impl ) impl->deref();
00093 impl = 0;
00094 }
else {
00095 Node::operator = (other);
00096 }
00097
return *
this;
00098 }
00099
00100
HTMLTableCellElement &HTMLTableCellElement::operator = (
const HTMLTableCellElement &other)
00101 {
00102 HTMLElement::operator = (other);
00103
return *
this;
00104 }
00105
00106 HTMLTableCellElement::~HTMLTableCellElement()
00107 {
00108 }
00109
00110 long HTMLTableCellElement::cellIndex()
const
00111
{
00112
if(!impl)
return 0;
00113
return ((HTMLTableCellElementImpl *)impl)->cellIndex();
00114 }
00115
00116 void HTMLTableCellElement::setCellIndex(
long )
00117 {
00118
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR);
00119 }
00120
00121 DOMString HTMLTableCellElement::abbr()
const
00122
{
00123
if(!impl)
return DOMString();
00124
return ((ElementImpl *)impl)->getAttribute(ATTR_ABBR);
00125 }
00126
00127 void HTMLTableCellElement::setAbbr(
const DOMString &value )
00128 {
00129
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ABBR, value);
00130 }
00131
00132 DOMString HTMLTableCellElement::align()
const
00133
{
00134
if(!impl)
return DOMString();
00135
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00136 }
00137
00138 void HTMLTableCellElement::setAlign(
const DOMString &value )
00139 {
00140
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00141 }
00142
00143 DOMString HTMLTableCellElement::axis()
const
00144
{
00145
if(!impl)
return DOMString();
00146
return ((ElementImpl *)impl)->getAttribute(ATTR_AXIS);
00147 }
00148
00149 void HTMLTableCellElement::setAxis(
const DOMString &value )
00150 {
00151
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_AXIS, value);
00152 }
00153
00154 DOMString HTMLTableCellElement::bgColor()
const
00155
{
00156
if(!impl)
return DOMString();
00157
return ((ElementImpl *)impl)->getAttribute(ATTR_BGCOLOR);
00158 }
00159
00160 void HTMLTableCellElement::setBgColor(
const DOMString &value )
00161 {
00162
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_BGCOLOR, value);
00163 }
00164
00165 DOMString HTMLTableCellElement::ch()
const
00166
{
00167
if(!impl)
return DOMString();
00168
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAR);
00169 }
00170
00171 void HTMLTableCellElement::setCh(
const DOMString &value )
00172 {
00173
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAR, value);
00174 }
00175
00176 DOMString HTMLTableCellElement::chOff()
const
00177
{
00178
if(!impl)
return DOMString();
00179
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAROFF);
00180 }
00181
00182 void HTMLTableCellElement::setChOff(
const DOMString &value )
00183 {
00184
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAROFF, value);
00185 }
00186
00187 long HTMLTableCellElement::colSpan()
const
00188
{
00189
if(!impl)
return 0;
00190
return ((ElementImpl *)impl)->getAttribute(ATTR_COLSPAN).toInt();
00191 }
00192
00193 void HTMLTableCellElement::setColSpan(
long _colSpan )
00194 {
00195
if(impl) {
00196
DOMString value(QString::number(_colSpan));
00197 ((ElementImpl *)impl)->setAttribute(ATTR_COLSPAN,value);
00198 }
00199 }
00200
00201 DOMString HTMLTableCellElement::headers()
const
00202
{
00203
if(!impl)
return DOMString();
00204
return ((ElementImpl *)impl)->getAttribute(ATTR_HEADERS);
00205 }
00206
00207 void HTMLTableCellElement::setHeaders(
const DOMString &value )
00208 {
00209
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_HEADERS, value);
00210 }
00211
00212 DOMString HTMLTableCellElement::height()
const
00213
{
00214
if(!impl)
return DOMString();
00215
return ((ElementImpl *)impl)->getAttribute(ATTR_HEIGHT);
00216 }
00217
00218 void HTMLTableCellElement::setHeight(
const DOMString &value )
00219 {
00220
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_HEIGHT, value);
00221 }
00222
00223 bool HTMLTableCellElement::noWrap()
const
00224
{
00225
if(!impl)
return false;
00226
return !((ElementImpl *)impl)->getAttribute(ATTR_NOWRAP).isNull();
00227 }
00228
00229 void HTMLTableCellElement::setNoWrap(
bool _noWrap )
00230 {
00231
if(impl)
00232 ((ElementImpl *)impl)->setAttribute(ATTR_NOWRAP, _noWrap ?
"" : 0);
00233 }
00234
00235 long HTMLTableCellElement::rowSpan()
const
00236
{
00237
if(!impl)
return 0;
00238
return ((ElementImpl *)impl)->getAttribute(ATTR_ROWSPAN).toInt();
00239 }
00240
00241 void HTMLTableCellElement::setRowSpan(
long _rowSpan )
00242 {
00243
if(impl) {
00244
DOMString value(QString::number(_rowSpan));
00245 ((ElementImpl *)impl)->setAttribute(ATTR_ROWSPAN,value);
00246 }
00247 }
00248
00249 DOMString HTMLTableCellElement::scope()
const
00250
{
00251
if(!impl)
return DOMString();
00252
return ((ElementImpl *)impl)->getAttribute(ATTR_SCOPE);
00253 }
00254
00255 void HTMLTableCellElement::setScope(
const DOMString &value )
00256 {
00257
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_SCOPE, value);
00258 }
00259
00260 DOMString HTMLTableCellElement::vAlign()
const
00261
{
00262
if(!impl)
return DOMString();
00263
return ((ElementImpl *)impl)->getAttribute(ATTR_VALIGN);
00264 }
00265
00266 void HTMLTableCellElement::setVAlign(
const DOMString &value )
00267 {
00268
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_VALIGN, value);
00269 }
00270
00271 DOMString HTMLTableCellElement::width()
const
00272
{
00273
if(!impl)
return DOMString();
00274
return ((ElementImpl *)impl)->getAttribute(ATTR_WIDTH);
00275 }
00276
00277 void HTMLTableCellElement::setWidth(
const DOMString &value )
00278 {
00279
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_WIDTH, value);
00280 }
00281
00282
00283
00284 HTMLTableColElement::HTMLTableColElement() :
HTMLElement()
00285 {
00286 }
00287
00288 HTMLTableColElement::HTMLTableColElement(
const HTMLTableColElement &other) :
HTMLElement(other)
00289 {
00290 }
00291
00292 HTMLTableColElement::HTMLTableColElement(HTMLTableColElementImpl *impl) :
HTMLElement(impl)
00293 {
00294 }
00295
00296
HTMLTableColElement &HTMLTableColElement::operator = (
const Node &other)
00297 {
00298
if( other.
elementId() != ID_COL &&
00299 other.
elementId() != ID_COLGROUP )
00300 {
00301
if ( impl ) impl->deref();
00302 impl = 0;
00303 }
else {
00304 Node::operator = (other);
00305 }
00306
return *
this;
00307 }
00308
00309
HTMLTableColElement &HTMLTableColElement::operator = (
const HTMLTableColElement &other)
00310 {
00311 HTMLElement::operator = (other);
00312
return *
this;
00313 }
00314
00315 HTMLTableColElement::~HTMLTableColElement()
00316 {
00317 }
00318
00319 DOMString HTMLTableColElement::align()
const
00320
{
00321
if(!impl)
return DOMString();
00322
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00323 }
00324
00325 void HTMLTableColElement::setAlign(
const DOMString &value )
00326 {
00327
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00328 }
00329
00330 DOMString HTMLTableColElement::ch()
const
00331
{
00332
if(!impl)
return DOMString();
00333
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAR);
00334 }
00335
00336 void HTMLTableColElement::setCh(
const DOMString &value )
00337 {
00338
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAR, value);
00339 }
00340
00341 DOMString HTMLTableColElement::chOff()
const
00342
{
00343
if(!impl)
return DOMString();
00344
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAROFF);
00345 }
00346
00347 void HTMLTableColElement::setChOff(
const DOMString &value )
00348 {
00349
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAROFF, value);
00350 }
00351
00352 long HTMLTableColElement::span()
const
00353
{
00354
if(!impl)
return 0;
00355
return ((ElementImpl *)impl)->getAttribute(ATTR_SPAN).toInt();
00356 }
00357
00358 void HTMLTableColElement::setSpan(
long _span )
00359 {
00360
if(impl) {
00361
DOMString value(QString::number(_span));
00362 ((ElementImpl *)impl)->setAttribute(ATTR_SPAN,value);
00363 }
00364 }
00365
00366 DOMString HTMLTableColElement::vAlign()
const
00367
{
00368
if(!impl)
return DOMString();
00369
return ((ElementImpl *)impl)->getAttribute(ATTR_VALIGN);
00370 }
00371
00372 void HTMLTableColElement::setVAlign(
const DOMString &value )
00373 {
00374
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_VALIGN, value);
00375 }
00376
00377 DOMString HTMLTableColElement::width()
const
00378
{
00379
if(!impl)
return DOMString();
00380
return ((ElementImpl *)impl)->getAttribute(ATTR_WIDTH);
00381 }
00382
00383 void HTMLTableColElement::setWidth(
const DOMString &value )
00384 {
00385
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_WIDTH, value);
00386 }
00387
00388
00389
00390 HTMLTableElement::HTMLTableElement() :
HTMLElement()
00391 {
00392 }
00393
00394 HTMLTableElement::HTMLTableElement(
const HTMLTableElement &other) :
HTMLElement(other)
00395 {
00396 }
00397
00398 HTMLTableElement::HTMLTableElement(HTMLTableElementImpl *impl) :
HTMLElement(impl)
00399 {
00400 }
00401
00402
HTMLTableElement &HTMLTableElement::operator = (
const Node &other)
00403 {
00404 assignOther( other, ID_TABLE );
00405
return *
this;
00406 }
00407
00408
HTMLTableElement &HTMLTableElement::operator = (
const HTMLTableElement &other)
00409 {
00410 HTMLElement::operator = (other);
00411
return *
this;
00412 }
00413
00414 HTMLTableElement::~HTMLTableElement()
00415 {
00416 }
00417
00418 HTMLTableCaptionElement HTMLTableElement::caption()
const
00419
{
00420
if(!impl)
return 0;
00421
return ((HTMLTableElementImpl *)impl)->caption();
00422 }
00423
00424 void HTMLTableElement::setCaption(
const HTMLTableCaptionElement &_caption )
00425 {
00426
if(impl)
00427 ((HTMLTableElementImpl *)impl)
00428 ->setCaption( ((HTMLTableCaptionElementImpl *)_caption.
impl) );
00429 }
00430
00431 HTMLTableSectionElement HTMLTableElement::tHead()
const
00432
{
00433
if(!impl)
return 0;
00434
return ((HTMLTableElementImpl *)impl)->tHead();
00435 }
00436
00437 void HTMLTableElement::setTHead(
const HTMLTableSectionElement &_tHead )
00438 {
00439
00440
if(impl)
00441 ((HTMLTableElementImpl *)impl)
00442 ->setTHead( ((HTMLTableSectionElementImpl *)_tHead.
impl) );
00443 }
00444
00445 HTMLTableSectionElement HTMLTableElement::tFoot()
const
00446
{
00447
if(!impl)
return 0;
00448
return ((HTMLTableElementImpl *)impl)->tFoot();
00449 }
00450
00451 void HTMLTableElement::setTFoot(
const HTMLTableSectionElement &_tFoot )
00452 {
00453
00454
if(impl)
00455 ((HTMLTableElementImpl *)impl)
00456 ->setTFoot( ((HTMLTableSectionElementImpl *)_tFoot.
impl) );
00457 }
00458
00459 HTMLCollection HTMLTableElement::rows()
const
00460
{
00461
if(!impl)
return HTMLCollection();
00462
return HTMLCollection(impl, HTMLCollectionImpl::TABLE_ROWS);
00463 }
00464
00465 HTMLCollection HTMLTableElement::tBodies()
const
00466
{
00467
if(!impl)
return HTMLCollection();
00468
return HTMLCollection(impl, HTMLCollectionImpl::TABLE_TBODIES);
00469 }
00470
00471 DOMString HTMLTableElement::align()
const
00472
{
00473
if(!impl)
return DOMString();
00474
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00475 }
00476
00477 void HTMLTableElement::setAlign(
const DOMString &value )
00478 {
00479
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00480 }
00481
00482 DOMString HTMLTableElement::bgColor()
const
00483
{
00484
if(!impl)
return DOMString();
00485
return ((ElementImpl *)impl)->getAttribute(ATTR_BGCOLOR);
00486 }
00487
00488 void HTMLTableElement::setBgColor(
const DOMString &value )
00489 {
00490
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_BGCOLOR, value);
00491 }
00492
00493 DOMString HTMLTableElement::border()
const
00494
{
00495
if(!impl)
return DOMString();
00496
return ((ElementImpl *)impl)->getAttribute(ATTR_BORDER);
00497 }
00498
00499 void HTMLTableElement::setBorder(
const DOMString &value )
00500 {
00501
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_BORDER, value);
00502 }
00503
00504 DOMString HTMLTableElement::cellPadding()
const
00505
{
00506
if(!impl)
return DOMString();
00507
return ((ElementImpl *)impl)->getAttribute(ATTR_CELLPADDING);
00508 }
00509
00510 void HTMLTableElement::setCellPadding(
const DOMString &value )
00511 {
00512
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CELLPADDING, value);
00513 }
00514
00515 DOMString HTMLTableElement::cellSpacing()
const
00516
{
00517
if(!impl)
return DOMString();
00518
return ((ElementImpl *)impl)->getAttribute(ATTR_CELLSPACING);
00519 }
00520
00521 void HTMLTableElement::setCellSpacing(
const DOMString &value )
00522 {
00523
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CELLSPACING, value);
00524 }
00525
00526 DOMString HTMLTableElement::frame()
const
00527
{
00528
if(!impl)
return DOMString();
00529
return ((ElementImpl *)impl)->getAttribute(ATTR_FRAME);
00530 }
00531
00532 void HTMLTableElement::setFrame(
const DOMString &value )
00533 {
00534
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_FRAME, value);
00535 }
00536
00537 DOMString HTMLTableElement::rules()
const
00538
{
00539
if(!impl)
return DOMString();
00540
return ((ElementImpl *)impl)->getAttribute(ATTR_RULES);
00541 }
00542
00543 void HTMLTableElement::setRules(
const DOMString &value )
00544 {
00545
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_RULES, value);
00546 }
00547
00548 DOMString HTMLTableElement::summary()
const
00549
{
00550
if(!impl)
return DOMString();
00551
return ((ElementImpl *)impl)->getAttribute(ATTR_SUMMARY);
00552 }
00553
00554 void HTMLTableElement::setSummary(
const DOMString &value )
00555 {
00556
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_SUMMARY, value);
00557 }
00558
00559 DOMString HTMLTableElement::width()
const
00560
{
00561
if(!impl)
return DOMString();
00562
return ((ElementImpl *)impl)->getAttribute(ATTR_WIDTH);
00563 }
00564
00565 void HTMLTableElement::setWidth(
const DOMString &value )
00566 {
00567
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_WIDTH, value);
00568 }
00569
00570 HTMLElement HTMLTableElement::createTHead( )
00571 {
00572
if(!impl)
return 0;
00573
return ((HTMLTableElementImpl *)impl)->createTHead( );
00574 }
00575
00576 void HTMLTableElement::deleteTHead( )
00577 {
00578
if(impl)
00579 ((HTMLTableElementImpl *)impl)->deleteTHead( );
00580 }
00581
00582 HTMLElement HTMLTableElement::createTFoot( )
00583 {
00584
if(!impl)
return 0;
00585
return ((HTMLTableElementImpl *)impl)->createTFoot( );
00586 }
00587
00588 void HTMLTableElement::deleteTFoot( )
00589 {
00590
if(impl)
00591 ((HTMLTableElementImpl *)impl)->deleteTFoot( );
00592 }
00593
00594 HTMLElement HTMLTableElement::createCaption( )
00595 {
00596
if(!impl)
return 0;
00597
return ((HTMLTableElementImpl *)impl)->createCaption( );
00598 }
00599
00600 void HTMLTableElement::deleteCaption( )
00601 {
00602
if(impl)
00603 ((HTMLTableElementImpl *)impl)->deleteCaption( );
00604 }
00605
00606 HTMLElement HTMLTableElement::insertRow(
long index )
00607 {
00608
if(!impl)
return 0;
00609
int exceptioncode = 0;
00610 HTMLElementImpl* ret = ((HTMLTableElementImpl *)impl)->insertRow( index, exceptioncode );
00611
if (exceptioncode)
00612
throw DOMException(exceptioncode);
00613
return ret;
00614 }
00615
00616 void HTMLTableElement::deleteRow(
long index )
00617 {
00618
int exceptioncode = 0;
00619
if(impl)
00620 ((HTMLTableElementImpl *)impl)->deleteRow( index, exceptioncode );
00621
if (exceptioncode)
00622
throw DOMException(exceptioncode);
00623 }
00624
00625
00626
00627 HTMLTableRowElement::HTMLTableRowElement() :
HTMLElement()
00628 {
00629 }
00630
00631 HTMLTableRowElement::HTMLTableRowElement(
const HTMLTableRowElement &other) :
HTMLElement(other)
00632 {
00633 }
00634
00635 HTMLTableRowElement::HTMLTableRowElement(HTMLTableRowElementImpl *impl) :
HTMLElement(impl)
00636 {
00637 }
00638
00639
HTMLTableRowElement &HTMLTableRowElement::operator = (
const Node &other)
00640 {
00641 assignOther( other, ID_TR );
00642
return *
this;
00643 }
00644
00645
HTMLTableRowElement &HTMLTableRowElement::operator = (
const HTMLTableRowElement &other)
00646 {
00647 HTMLElement::operator = (other);
00648
return *
this;
00649 }
00650
00651 HTMLTableRowElement::~HTMLTableRowElement()
00652 {
00653 }
00654
00655 long HTMLTableRowElement::rowIndex()
const
00656
{
00657
if(!impl)
return 0;
00658
return ((HTMLTableRowElementImpl *)impl)->rowIndex();
00659 }
00660
00661 void HTMLTableRowElement::setRowIndex(
long )
00662 {
00663
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR);
00664 }
00665
00666 long HTMLTableRowElement::sectionRowIndex()
const
00667
{
00668
if(!impl)
return 0;
00669
return ((HTMLTableRowElementImpl *)impl)->sectionRowIndex();
00670 }
00671
00672 void HTMLTableRowElement::setSectionRowIndex(
long )
00673 {
00674
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR);
00675 }
00676
00677 HTMLCollection HTMLTableRowElement::cells()
const
00678
{
00679
if(!impl)
return HTMLCollection();
00680
return HTMLCollection(impl, HTMLCollectionImpl::TR_CELLS);
00681 }
00682
00683 void HTMLTableRowElement::setCells(
const HTMLCollection & )
00684 {
00685
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR);
00686 }
00687
00688 DOMString HTMLTableRowElement::align()
const
00689
{
00690
if(!impl)
return DOMString();
00691
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00692 }
00693
00694 void HTMLTableRowElement::setAlign(
const DOMString &value )
00695 {
00696
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00697 }
00698
00699 DOMString HTMLTableRowElement::bgColor()
const
00700
{
00701
if(!impl)
return DOMString();
00702
return ((ElementImpl *)impl)->getAttribute(ATTR_BGCOLOR);
00703 }
00704
00705 void HTMLTableRowElement::setBgColor(
const DOMString &value )
00706 {
00707
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_BGCOLOR, value);
00708 }
00709
00710 DOMString HTMLTableRowElement::ch()
const
00711
{
00712
if(!impl)
return DOMString();
00713
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAR);
00714 }
00715
00716 void HTMLTableRowElement::setCh(
const DOMString &value )
00717 {
00718
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAR, value);
00719 }
00720
00721 DOMString HTMLTableRowElement::chOff()
const
00722
{
00723
if(!impl)
return DOMString();
00724
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAROFF);
00725 }
00726
00727 void HTMLTableRowElement::setChOff(
const DOMString &value )
00728 {
00729
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAROFF, value);
00730 }
00731
00732 DOMString HTMLTableRowElement::vAlign()
const
00733
{
00734
if(!impl)
return DOMString();
00735
return ((ElementImpl *)impl)->getAttribute(ATTR_VALIGN);
00736 }
00737
00738 void HTMLTableRowElement::setVAlign(
const DOMString &value )
00739 {
00740
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_VALIGN, value);
00741 }
00742
00743 HTMLElement HTMLTableRowElement::insertCell(
long index )
00744 {
00745
if(!impl)
return 0;
00746
int exceptioncode = 0;
00747 HTMLElementImpl* ret = ((HTMLTableRowElementImpl *)impl)->insertCell( index, exceptioncode );
00748
if (exceptioncode)
00749
throw DOMException(exceptioncode);
00750
return ret;
00751 }
00752
00753 void HTMLTableRowElement::deleteCell(
long index )
00754 {
00755
int exceptioncode = 0;
00756
if(impl)
00757 ((HTMLTableRowElementImpl *)impl)->deleteCell( index, exceptioncode );
00758
if (exceptioncode)
00759
throw DOMException(exceptioncode);
00760 }
00761
00762
00763
00764 HTMLTableSectionElement::HTMLTableSectionElement() :
HTMLElement()
00765 {
00766 }
00767
00768 HTMLTableSectionElement::HTMLTableSectionElement(
const HTMLTableSectionElement &other) :
HTMLElement(other)
00769 {
00770 }
00771
00772 HTMLTableSectionElement::HTMLTableSectionElement(HTMLTableSectionElementImpl *impl) :
HTMLElement(impl)
00773 {
00774 }
00775
00776
HTMLTableSectionElement &HTMLTableSectionElement::operator = (
const Node &other)
00777 {
00778
if(other.
elementId() != ID_TBODY &&
00779 other.
elementId() != ID_THEAD &&
00780 other.
elementId() != ID_TFOOT )
00781 {
00782
if ( impl ) impl->deref();
00783 impl = 0;
00784 }
else {
00785 Node::operator = (other);
00786 }
00787
return *
this;
00788 }
00789
00790
HTMLTableSectionElement &HTMLTableSectionElement::operator = (
const HTMLTableSectionElement &other)
00791 {
00792 HTMLElement::operator = (other);
00793
return *
this;
00794 }
00795
00796 HTMLTableSectionElement::~HTMLTableSectionElement()
00797 {
00798 }
00799
00800 DOMString HTMLTableSectionElement::align()
const
00801
{
00802
if(!impl)
return DOMString();
00803
return ((ElementImpl *)impl)->getAttribute(ATTR_ALIGN);
00804 }
00805
00806 void HTMLTableSectionElement::setAlign(
const DOMString &value )
00807 {
00808
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_ALIGN, value);
00809 }
00810
00811 DOMString HTMLTableSectionElement::ch()
const
00812
{
00813
if(!impl)
return DOMString();
00814
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAR);
00815 }
00816
00817 void HTMLTableSectionElement::setCh(
const DOMString &value )
00818 {
00819
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAR, value);
00820 }
00821
00822 DOMString HTMLTableSectionElement::chOff()
const
00823
{
00824
if(!impl)
return DOMString();
00825
return ((ElementImpl *)impl)->getAttribute(ATTR_CHAROFF);
00826 }
00827
00828 void HTMLTableSectionElement::setChOff(
const DOMString &value )
00829 {
00830
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_CHAROFF, value);
00831 }
00832
00833 DOMString HTMLTableSectionElement::vAlign()
const
00834
{
00835
if(!impl)
return DOMString();
00836
return ((ElementImpl *)impl)->getAttribute(ATTR_VALIGN);
00837 }
00838
00839 void HTMLTableSectionElement::setVAlign(
const DOMString &value )
00840 {
00841
if(impl) ((ElementImpl *)impl)->setAttribute(ATTR_VALIGN, value);
00842 }
00843
00844 HTMLCollection HTMLTableSectionElement::rows()
const
00845
{
00846
if(!impl)
return HTMLCollection();
00847
return HTMLCollection(impl, HTMLCollectionImpl::TABLE_ROWS);
00848 }
00849
00850 HTMLElement HTMLTableSectionElement::insertRow(
long index )
00851 {
00852
if(!impl)
return 0;
00853
int exceptioncode = 0;
00854 HTMLElementImpl* ret = ((HTMLTableSectionElementImpl *)impl)->insertRow( index, exceptioncode );
00855
if (exceptioncode)
00856
throw DOMException(exceptioncode);
00857
return ret;
00858 }
00859
00860 void HTMLTableSectionElement::deleteRow(
long index )
00861 {
00862
int exceptioncode = 0;
00863
if(impl)
00864 ((HTMLTableSectionElementImpl *)impl)->deleteRow( index, exceptioncode );
00865
if (exceptioncode)
00866
throw DOMException(exceptioncode);
00867 }
00868