00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "dom.h"
00023
00024 #include <QtXml/QDomAttr>
00025 #include <QtCore/QDebug>
00026
00027 using namespace KJSEmbed;
00028
00029 const KJS::ClassInfo DomNodeBinding::info = { "QDomNode", &ValueBinding::info, 0, 0 };
00030 DomNodeBinding::DomNodeBinding( KJS::ExecState *exec, const QDomNode &value )
00031 : ValueBinding(exec, "QDomNode", value )
00032 {
00033 StaticBinding::publish( exec, this, DomNode::methods() );
00034 }
00035
00036 namespace DomNodeNS
00037 {
00038 START_VALUE_METHOD( nodeType, QDomNode )
00039 result = KJS::jsNumber((int)value.nodeType());
00040 END_VALUE_METHOD
00041
00042 START_VALUE_METHOD( nodeName, QDomNode )
00043 result = KJS::jsString( value.nodeName());
00044 END_VALUE_METHOD
00045
00046 START_VALUE_METHOD( nodeValue, QDomNode )
00047 result = KJS::jsString( value.nodeValue());
00048 END_VALUE_METHOD
00049
00050 START_VALUE_METHOD( appendChild, QDomNode )
00051 QDomNode newNode = KJSEmbed::extractValue<QDomNode>( exec, args, 0);
00052 QDomNode node = value.appendChild(newNode);
00053 result = KJSEmbed::createValue(exec, "QDomNode", node);
00054 END_VALUE_METHOD
00055
00056 START_VALUE_METHOD( attributes, QDomNode )
00057 QDomNamedNodeMap map = value.attributes();
00058 result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", map);
00059 END_VALUE_METHOD
00060
00061 START_VALUE_METHOD( childNodes, QDomNode )
00062 QDomNodeList nodes = value.childNodes();
00063 result = KJSEmbed::createValue(exec, "QDomNodeList", nodes);
00064 END_VALUE_METHOD
00065
00066 START_VALUE_METHOD( clear, QDomNode )
00067 value.clear();
00068 END_VALUE_METHOD
00069
00070 START_VALUE_METHOD( cloneNode, QDomNode )
00071 bool deep = KJSEmbed::extractBool( exec, args, 0, true);
00072 QDomNode node = value.cloneNode(deep);
00073 result = KJSEmbed::createValue(exec, "QDomNode", node);
00074 END_VALUE_METHOD
00075
00076 START_VALUE_METHOD( firstChild, QDomNode )
00077 QDomNode node = value.firstChild();
00078 result = KJSEmbed::createValue(exec, "QDomNode", node);
00079 END_VALUE_METHOD
00080
00081 START_VALUE_METHOD( firstChildElement, QDomNode )
00082 QString name = KJSEmbed::extractQString(exec, args, 0);
00083 QDomElement node = value.firstChildElement( name );
00084 result = KJSEmbed::createValue( exec, "QDomElement", node );
00085 END_VALUE_METHOD
00086
00087 START_VALUE_METHOD( hasAttributes, QDomNode )
00088 result = KJS::jsBoolean( value.hasAttributes() );
00089 END_VALUE_METHOD
00090
00091 START_VALUE_METHOD( hasChildNodes, QDomNode )
00092 result = KJS::jsBoolean( value.hasChildNodes() );
00093 END_VALUE_METHOD
00094
00095 START_VALUE_METHOD( insertBefore, QDomNode )
00096 QDomNode first = KJSEmbed::extractValue<QDomNode>(exec, args, 0);
00097 QDomNode second = KJSEmbed::extractValue<QDomNode>(exec, args, 1);
00098 QDomNode node = value.insertBefore( first, second );
00099 result = KJSEmbed::createValue(exec, "QDomNode", node );
00100 END_VALUE_METHOD
00101
00102 START_VALUE_METHOD( insertAfter, QDomNode )
00103 QDomNode first = KJSEmbed::extractValue<QDomNode>(exec, args, 0);
00104 QDomNode second = KJSEmbed::extractValue<QDomNode>(exec, args, 1);
00105 QDomNode node = value.insertAfter( first, second );
00106 result = KJSEmbed::createValue(exec, "QDomNode", node );
00107 END_VALUE_METHOD
00108
00109 START_VALUE_METHOD( isAttr, QDomNode )
00110 result = KJS::jsBoolean( value.isAttr() );
00111 END_VALUE_METHOD
00112
00113 START_VALUE_METHOD( isCDATASection, QDomNode )
00114 result = KJS::jsBoolean( value.isCDATASection() );
00115 END_VALUE_METHOD
00116
00117 START_VALUE_METHOD( isCharacterData, QDomNode )
00118 result = KJS::jsBoolean( value.isCharacterData() );
00119 END_VALUE_METHOD
00120
00121 START_VALUE_METHOD( isComment, QDomNode )
00122 result = KJS::jsBoolean( value.isComment() );
00123 END_VALUE_METHOD
00124
00125 START_VALUE_METHOD( isDocument, QDomNode )
00126 result = KJS::jsBoolean( value.isDocument() );
00127 END_VALUE_METHOD
00128
00129 START_VALUE_METHOD( isDocumentFragment, QDomNode )
00130 result = KJS::jsBoolean( value.isDocumentFragment() );
00131 END_VALUE_METHOD
00132
00133 START_VALUE_METHOD( isDocumentType, QDomNode )
00134 result = KJS::jsBoolean( value.isDocumentType() );
00135 END_VALUE_METHOD
00136
00137 START_VALUE_METHOD( isElement, QDomNode )
00138 result = KJS::jsBoolean( value.isElement() );
00139 END_VALUE_METHOD
00140
00141 START_VALUE_METHOD( isEntity, QDomNode )
00142 result = KJS::jsBoolean( value.isEntity() );
00143 END_VALUE_METHOD
00144
00145 START_VALUE_METHOD( isEntityReference, QDomNode )
00146 result = KJS::jsBoolean( value.isEntityReference() );
00147 END_VALUE_METHOD
00148
00149 START_VALUE_METHOD( isNotation, QDomNode )
00150 result = KJS::jsBoolean( value.isNotation() );
00151 END_VALUE_METHOD
00152
00153 START_VALUE_METHOD( isNull, QDomNode )
00154 result = KJS::jsBoolean( value.isNull() );
00155 END_VALUE_METHOD
00156
00157 START_VALUE_METHOD( isProcessingInstruction, QDomNode )
00158 result = KJS::jsBoolean( value.isProcessingInstruction() );
00159 END_VALUE_METHOD
00160
00161 START_VALUE_METHOD( isSupported, QDomNode )
00162 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00163 QString arg1 = KJSEmbed::extractQString(exec, args, 1);
00164 result = KJS::jsBoolean( value.isSupported( arg0, arg1 ) );
00165 END_VALUE_METHOD
00166
00167 START_VALUE_METHOD( isText, QDomNode )
00168 result = KJS::jsBoolean( value.isText() );
00169 END_VALUE_METHOD
00170
00171 START_VALUE_METHOD( lastChild, QDomNode )
00172 QDomNode node = value.lastChild();
00173 result = KJSEmbed::createValue(exec, "QDomNode", node );
00174 END_VALUE_METHOD
00175
00176 START_VALUE_METHOD( lastChildElement, QDomNode )
00177 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00178 QDomElement node = value.lastChildElement( arg0 );
00179 result = KJSEmbed::createValue(exec, "QDomElement", node );
00180 END_VALUE_METHOD
00181
00182 START_VALUE_METHOD( localName, QDomNode )
00183 result = KJS::jsString( value.localName() );
00184 END_VALUE_METHOD
00185
00186 START_VALUE_METHOD( namedItem, QDomNode )
00187 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00188 QDomNode node = value.namedItem( arg0 );
00189 result = KJSEmbed::createValue(exec, "QDomNode", node );
00190 END_VALUE_METHOD
00191
00192 START_VALUE_METHOD( namespaceURI, QDomNode )
00193 result = KJS::jsString( value.namespaceURI() );
00194 END_VALUE_METHOD
00195
00196 START_VALUE_METHOD( nextSibling, QDomNode )
00197 QDomNode node = value.nextSibling();
00198 result = KJSEmbed::createValue(exec, "QDomNode", node );
00199 END_VALUE_METHOD
00200
00201 START_VALUE_METHOD( nextSiblingElement, QDomNode )
00202 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00203 QDomElement node = value.nextSiblingElement( arg0 );
00204 result = KJSEmbed::createValue(exec, "QDomElement", node );
00205 END_VALUE_METHOD
00206
00207 START_VALUE_METHOD( normalize, QDomNode )
00208 value.normalize();
00209 END_VALUE_METHOD
00210
00211 START_VALUE_METHOD( ownerDocument, QDomNode )
00212 QDomDocument doc = value.ownerDocument();
00213 result = KJSEmbed::createValue( exec, "QDomDocument", doc);
00214 END_VALUE_METHOD
00215
00216 START_VALUE_METHOD( parentNode, QDomNode )
00217 QDomNode parent = value.parentNode();
00218 result = KJSEmbed::createValue(exec, "QDomNode", parent );
00219 END_VALUE_METHOD
00220
00221 START_VALUE_METHOD( prefix, QDomNode )
00222 result = KJS::jsString( value.prefix() );
00223 END_VALUE_METHOD
00224
00225 START_VALUE_METHOD( previousSibling, QDomNode )
00226 QDomNode node = value.previousSibling();
00227 result = KJSEmbed::createValue(exec, "QDomNode", node);
00228 END_VALUE_METHOD
00229
00230 START_VALUE_METHOD( previousSiblingElement, QDomNode )
00231 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00232 QDomNode node = value.previousSiblingElement( arg0 );
00233 result = KJSEmbed::createValue(exec, "QDomNode", node );
00234 END_VALUE_METHOD
00235
00236 START_VALUE_METHOD( removeChild, QDomNode )
00237 QDomNode arg0 = KJSEmbed::extractValue<QDomNode>(exec, args, 0);
00238 QDomNode node = value.removeChild( arg0 );
00239 result = KJSEmbed::createValue(exec, "QDomNode", node );
00240 END_VALUE_METHOD
00241
00242 START_VALUE_METHOD( replaceChild, QDomNode )
00243 QDomNode arg0 = KJSEmbed::extractValue<QDomNode>(exec, args, 0);
00244 QDomNode arg1 =KJSEmbed::extractValue<QDomNode>(exec, args, 1);
00245 QDomNode node = value.replaceChild(arg0,arg1);
00246 result = KJSEmbed::createValue(exec, "QDomNode", node );
00247 END_VALUE_METHOD
00248
00249 START_VALUE_METHOD( setPrefix, QDomNode )
00250 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00251 value.setPrefix(arg0);
00252 END_VALUE_METHOD
00253
00254 START_VALUE_METHOD( setNodeValue, QDomNode )
00255 QString arg0 = KJSEmbed::extractQString(exec, args, 0);
00256 value.setNodeValue(arg0);
00257 END_VALUE_METHOD
00258
00259 START_VALUE_METHOD( toAttr, QDomNode )
00260 QDomAttr attr = value.toAttr( );
00261 result = KJSEmbed::createValue(exec, "QDomAttr", attr );
00262 END_VALUE_METHOD
00263
00264 START_VALUE_METHOD( toElement, QDomNode )
00265 QDomElement elem = value.toElement( );
00266 result = KJSEmbed::createValue(exec, "QDomElement", elem );
00267 END_VALUE_METHOD
00268 }
00269
00270 START_METHOD_LUT( DomNode )
00271 {"appendChild", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::appendChild},
00272 {"attributes", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::attributes},
00273 {"childNodes", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::childNodes},
00274 {"clear", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::clear},
00275 {"cloneNode", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::cloneNode},
00276 {"firstChild", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::firstChild},
00277 {"firstChildElement", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::firstChildElement},
00278 {"hasAttributes", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::hasAttributes},
00279 {"hasChildNodes", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::hasChildNodes},
00280 {"insertBefore", 2, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::insertBefore},
00281 {"insertAfter", 2, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::insertAfter},
00282 {"isAttr", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isAttr},
00283 {"isCDATASection", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isCDATASection},
00284 {"isCharacterData", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isCharacterData},
00285 {"isComment", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isComment},
00286 {"isDocument", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isDocument},
00287 {"isDocumentFragment", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isDocumentFragment},
00288 {"isDocumentType", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isDocumentType},
00289 {"isElement", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isElement},
00290 {"isEntity", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isEntity},
00291 {"isEntityReference", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isEntityReference},
00292 {"isNotation", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isNotation},
00293 {"isNull", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isNull},
00294 {"isProcessingInstruction", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isProcessingInstruction},
00295 {"isSupported", 2, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isSupported},
00296 {"isText", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::isText},
00297 {"lastChild", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::lastChild},
00298 {"lastChildElement", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::lastChildElement},
00299 {"localName", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::localName},
00300 {"namedItem", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::namedItem},
00301 {"namespaceURI", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::namespaceURI},
00302 {"nextSibling", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::nextSibling},
00303 {"nextSiblingElement", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::nextSiblingElement},
00304 {"nodeType", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::nodeType},
00305 {"nodeName", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::nodeName},
00306 {"nodeValue", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::nodeValue},
00307 {"normalize", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::normalize},
00308 {"ownerDocument", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::ownerDocument},
00309 {"parentNode", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::parentNode},
00310 {"prefix", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::prefix},
00311 {"previousSibling", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::previousSibling},
00312 {"previousSiblingElement", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::previousSiblingElement},
00313 {"removeChild", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::removeChild},
00314 {"replaceChild", 2, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::replaceChild},
00315 {"setPrefix", 1, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::setPrefix},
00316 {"setNodeValue", 2, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::setNodeValue},
00317 {"toAttr", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::toAttr},
00318 {"toElement", 0, KJS::DontDelete|KJS::ReadOnly, &DomNodeNS::toElement}
00319 END_METHOD_LUT
00320
00321 START_ENUM_LUT( DomNode )
00322 {"ElementNode", QDomNode::ElementNode},
00323 {"AttributeNode", QDomNode::AttributeNode},
00324 {"TextNode", QDomNode::TextNode},
00325 {"CDATASectionNode", QDomNode::CDATASectionNode},
00326 {"EntityReferenceNode", QDomNode::EntityReferenceNode},
00327 {"EntityNode", QDomNode::EntityNode},
00328 {"ProcessingInstructionNode", QDomNode::ProcessingInstructionNode},
00329 {"CommentNode", QDomNode::CommentNode},
00330 {"DocumentNode", QDomNode::DocumentNode},
00331 {"DocumentTypeNode", QDomNode::DocumentTypeNode},
00332 {"DocumentFragmentNode", QDomNode::DocumentFragmentNode},
00333 {"NotationNode", QDomNode::NotationNode},
00334 {"BaseNode", QDomNode::BaseNode},
00335 {"CharacterDataNode", QDomNode::CharacterDataNode}
00336 END_ENUM_LUT
00337
00338 NO_STATICS( DomNode )
00339
00340 START_CTOR( DomNode, QDomNode, 0 )
00341 return new KJSEmbed::DomNodeBinding(exec, QDomNode( ) );
00342 END_CTOR
00343
00344 const KJS::ClassInfo DomDocumentBinding::info = { "QDomDocument", &ValueBinding::info, 0, 0 };
00345 DomDocumentBinding::DomDocumentBinding( KJS::ExecState *exec, const QDomDocument &value )
00346 : ValueBinding(exec, "QDomDocument", value )
00347 {
00348 StaticBinding::publish( exec, this, DomNode::methods() );
00349 StaticBinding::publish( exec, this, DomDocument::methods() );
00350 }
00351
00352 namespace DomDocumentNS
00353 {
00354 QString parserErrorTemplate = "XML Parse error '%1' at %2,%3";
00355
00356 START_VALUE_METHOD( setContent, QDomDocument )
00357 QString xml = KJSEmbed::extractQString( exec, args, 0);
00358 QString message;
00359 int row = 0;
00360 int col = 0;
00361 bool success = value.setContent(xml, &message, &row, &col );
00362 result = KJS::jsBoolean( success );
00363 if( !success )
00364 {
00365 KJS::throwError(exec, KJS::SyntaxError, parserErrorTemplate.arg(message).arg(row).arg(col) );
00366 }
00367 END_VALUE_METHOD
00368
00369 START_VALUE_METHOD( toString, QDomDocument )
00370 int indent = KJSEmbed::extractInt( exec, args, 0, 1);
00371 result = KJS::jsString(value.toString(indent));
00372 END_VALUE_METHOD
00373
00374 START_VALUE_METHOD( documentElement, QDomDocument )
00375 QDomElement elem = value.documentElement();
00376 result = KJSEmbed::createValue(exec, "QDomElement", elem);
00377 END_VALUE_METHOD
00378
00379 START_VALUE_METHOD( elementById, QDomDocument )
00380 QString id = KJSEmbed::extractQString(exec, args, 0);
00381 QDomElement elem = value.elementById(id);
00382 result = KJSEmbed::createValue(exec, "QDomElement", elem);
00383 END_VALUE_METHOD
00384
00385 START_VALUE_METHOD( createAttribute, QDomDocument )
00386 QString name = KJSEmbed::extractQString( exec, args, 0);
00387 QDomAttr attr = value.createAttribute( name );
00388 result = KJSEmbed::createValue(exec, "QDomAttr", attr);
00389 END_VALUE_METHOD
00390
00391 START_VALUE_METHOD( createAttributeNS, QDomDocument )
00392 QString nsURI = KJSEmbed::extractQString( exec, args, 0);
00393 QString qName = KJSEmbed::extractQString( exec, args, 1);
00394 QDomAttr attr = value.createAttributeNS( nsURI, qName );
00395 result = KJSEmbed::createValue(exec, "QDomAttr", attr);
00396 END_VALUE_METHOD
00397
00398 START_VALUE_METHOD( createCDATASection, QDomDocument )
00399 QString cdatatxt = KJSEmbed::extractQString( exec, args, 0);
00400 QDomCDATASection cdata = value.createCDATASection( cdatatxt );
00401 result = KJSEmbed::createValue(exec, "QDomCDATASection", cdata);
00402 END_VALUE_METHOD
00403
00404 START_VALUE_METHOD( createComment, QDomDocument )
00405 QString commenttxt = KJSEmbed::extractQString( exec, args, 0);
00406 QDomComment comment = value.createComment( commenttxt );
00407 result = KJSEmbed::createValue(exec, "QDomComment", comment);
00408 END_VALUE_METHOD
00409
00410 START_VALUE_METHOD( createDocumentFragment, QDomDocument )
00411 QDomDocumentFragment fragment = value.createDocumentFragment();
00412 result = KJSEmbed::createValue(exec, "QDomDocumentFragment", fragment);
00413 END_VALUE_METHOD
00414
00415 START_VALUE_METHOD( createElement, QDomDocument )
00416 QString tagName = KJSEmbed::extractQString( exec, args, 0);
00417 QDomElement elem = value.createElement( tagName );
00418 result = KJSEmbed::createValue(exec, "QDomElement", elem);
00419 END_VALUE_METHOD
00420
00421 START_VALUE_METHOD( createElementNS, QDomDocument )
00422 QString nsURI = KJSEmbed::extractQString( exec, args, 0);
00423 QString qName = KJSEmbed::extractQString( exec, args, 1);
00424 QDomElement elem = value.createElementNS( nsURI, qName );
00425 result = KJSEmbed::createValue(exec, "QDomElement", elem);
00426 END_VALUE_METHOD
00427
00428 START_VALUE_METHOD( createEntityReference, QDomDocument )
00429 QString name = KJSEmbed::extractQString( exec, args, 0);
00430 QDomEntityReference ref = value.createEntityReference( name );
00431 result = KJSEmbed::createValue(exec, "QDomEntityReference", ref);
00432 END_VALUE_METHOD
00433
00434 START_VALUE_METHOD( createProcessingInstruction, QDomDocument )
00435 QString target = KJSEmbed::extractQString( exec, args, 0);
00436 QString data = KJSEmbed::extractQString( exec, args, 1);
00437 QDomProcessingInstruction inst = value.createProcessingInstruction(target, data );
00438 result = KJSEmbed::createValue(exec, "QDomProcessingInstruction", inst);
00439 END_VALUE_METHOD
00440
00441 START_VALUE_METHOD( createTextNode, QDomDocument )
00442 QString texttext = KJSEmbed::extractQString( exec, args, 0);
00443 QDomText text = value.createTextNode( texttext );
00444 result = KJSEmbed::createValue(exec, "QDomText", text);
00445 END_VALUE_METHOD
00446
00447 START_VALUE_METHOD( importNode, QDomDocument )
00448 QDomNode import = KJSEmbed::extractValue<QDomNode>(exec, args, 0);
00449 bool deep = KJSEmbed::extractBool( exec, args, 1);
00450 QDomNode node = value.importNode( import, deep );
00451 result = KJSEmbed::createValue(exec, "QDomNode", node);
00452 END_VALUE_METHOD
00453
00454 }
00455
00456 START_METHOD_LUT( DomDocument )
00457 {"setContent", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::setContent},
00458 {"toString", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::toString},
00459 {"documentElement", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::documentElement},
00460 {"elementById", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::elementById},
00461 {"createAttribute", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createAttribute },
00462 {"createAttributeNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createAttributeNS },
00463 {"createCDATASection", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createCDATASection},
00464 {"createComment", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createComment},
00465 {"createDocumentFragment", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createDocumentFragment},
00466 {"createElement", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createElement},
00467 {"createElementNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createElementNS},
00468 {"createEntityReference", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createEntityReference},
00469 {"createProcessingInstruction", 2, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createProcessingInstruction},
00470 {"createTextNode", 1, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::createTextNode},
00471 {"importNode", 2, KJS::DontDelete|KJS::ReadOnly, &DomDocumentNS::importNode}
00472 END_METHOD_LUT
00473
00474 NO_ENUMS( DomDocument )
00475 NO_STATICS( DomDocument )
00476
00477 START_CTOR( DomDocument, QDomDocument, 1 )
00478 QString name = KJSEmbed::extractQString( exec, args, 0);
00479 return new KJSEmbed::DomDocumentBinding(exec, QDomDocument(name) );
00480 END_CTOR
00481
00482 const KJS::ClassInfo DomElementBinding::info = { "QDomElement", &ValueBinding::info, 0, 0 };
00483 DomElementBinding::DomElementBinding( KJS::ExecState *exec, const QDomElement &value )
00484 : ValueBinding(exec, "QDomElement", value )
00485 {
00486 StaticBinding::publish( exec, this, DomNode::methods() );
00487 StaticBinding::publish( exec, this, DomElement::methods() );
00488 }
00489
00490 namespace DomElementNS {
00491 START_VALUE_METHOD( toString, QDomElement )
00492 result = KJS::jsString( value.text( ) );
00493 END_VALUE_METHOD
00494
00495 START_VALUE_METHOD( tagName, QDomElement )
00496 result = KJS::jsString( value.tagName( ) );
00497 END_VALUE_METHOD
00498
00499 START_VALUE_METHOD( setTagName, QDomElement )
00500 QString tag = KJSEmbed::extractQString(exec, args, 0);
00501 value.setTagName(tag);
00502 END_VALUE_METHOD
00503
00504 START_VALUE_METHOD( attribute, QDomElement )
00505 QString tag = KJSEmbed::extractQString(exec, args, 0);
00506 QString defaultValue = KJSEmbed::extractQString(exec, args, 1, QString());
00507 result = KJS::jsString( value.attribute(tag,defaultValue) );
00508 END_VALUE_METHOD
00509
00510 START_VALUE_METHOD( setAttribute, QDomElement )
00511 QString tag = KJSEmbed::extractQString(exec, args, 0);
00512 QString newValue = KJSEmbed::extractQString(exec, args, 1);
00513 value.setAttribute(tag,newValue);
00514 END_VALUE_METHOD
00515
00516 START_VALUE_METHOD( hasAttribute, QDomElement )
00517 QString attr = KJSEmbed::extractQString(exec, args, 0);
00518 result = KJS::jsBoolean( value.hasAttribute(attr) );
00519 END_VALUE_METHOD
00520
00521 START_VALUE_METHOD( removeAttribute, QDomElement )
00522 QString attr = KJSEmbed::extractQString(exec, args, 0);
00523 value.removeAttribute( attr );
00524 END_VALUE_METHOD
00525
00526 START_VALUE_METHOD( setAttributeNS, QDomElement )
00527 QString ns = KJSEmbed::extractQString(exec, args, 0);
00528 QString attr = KJSEmbed::extractQString(exec, args, 1);
00529 QString val = KJSEmbed::extractQString(exec, args, 3);
00530 value.setAttributeNS( ns, attr, val );
00531 END_VALUE_METHOD
00532
00533 START_VALUE_METHOD( attributeNS, QDomElement )
00534 QString nsURI = KJSEmbed::extractQString(exec, args, 0);
00535 QString localName = KJSEmbed::extractQString(exec, args, 1);
00536 QString defValue = KJSEmbed::extractQString( exec, args, 1, QString() );
00537 result = KJS::jsString( value.attributeNS( nsURI, localName, defValue ));
00538 END_VALUE_METHOD
00539
00540 START_VALUE_METHOD( hasAttributeNS, QDomElement )
00541 QString ns = KJSEmbed::extractQString(exec, args, 0);
00542 QString attr = KJSEmbed::extractQString(exec, args, 1);
00543 result = KJS::jsBoolean( value.hasAttributeNS(ns, attr) );
00544 END_VALUE_METHOD
00545
00546 START_VALUE_METHOD( removeAttributeNS, QDomElement )
00547 QString ns = KJSEmbed::extractQString(exec, args, 0);
00548 QString attr = KJSEmbed::extractQString(exec, args, 1);
00549 value.removeAttributeNS( ns, attr );
00550 END_VALUE_METHOD
00551
00552 START_VALUE_METHOD( elementsByTagName, QDomElement )
00553 QString name = KJSEmbed::extractQString(exec, args, 0);
00554 QDomNodeList nodes = value.elementsByTagName(name);
00555 result = KJSEmbed::createValue(exec, "QDomNodeList", nodes);
00556 END_VALUE_METHOD
00557
00558 START_VALUE_METHOD( elementsByTagNameNS, QDomElement )
00559 QString ns = KJSEmbed::extractQString(exec, args, 0);
00560 QString name = KJSEmbed::extractQString(exec, args, 1);
00561 QDomNodeList nodes = value.elementsByTagNameNS( ns, name );
00562 result = KJSEmbed::createValue(exec, "QDomNodeList", nodes);
00563 END_VALUE_METHOD
00564
00565 START_VALUE_METHOD( attributeNode, QDomElement )
00566 QString name = KJSEmbed::extractQString(exec, args, 0);
00567 QDomAttr attr = value.attributeNode( name );
00568 result = KJSEmbed::createValue(exec, "QDomAttr", attr);
00569 END_VALUE_METHOD
00570
00571 START_VALUE_METHOD( attributeNodeNS, QDomElement )
00572 QString ns = KJSEmbed::extractQString(exec, args, 0);
00573 QString name = KJSEmbed::extractQString(exec, args, 1);
00574 QDomAttr attr = value.attributeNodeNS( ns, name );
00575 result = KJSEmbed::createValue(exec, "QDomAttr", attr);
00576 END_VALUE_METHOD
00577
00578 START_VALUE_METHOD( removeAttributeNode, QDomElement )
00579 QDomAttr attr = KJSEmbed::extractValue<QDomAttr>( exec, args, 0);
00580 QDomAttr newAttr = value.removeAttributeNode( attr );
00581 result = KJSEmbed::createValue(exec, "QDomAttr", newAttr);
00582 END_VALUE_METHOD
00583
00584 START_VALUE_METHOD( setAttributeNode, QDomElement )
00585 QDomAttr attr = KJSEmbed::extractValue<QDomAttr>( exec, args, 0);
00586 QDomAttr newAttr = value.setAttributeNode( attr );
00587 result = KJSEmbed::createValue(exec, "QDomAttr", newAttr);
00588 END_VALUE_METHOD
00589
00590 START_VALUE_METHOD( setAttributeNodeNS, QDomElement )
00591 QDomAttr attr = KJSEmbed::extractValue<QDomAttr>( exec, args, 0);
00592 QDomAttr newAttr = value.setAttributeNodeNS( attr );
00593 result = KJSEmbed::createValue(exec, "QDomAttr", newAttr);
00594 END_VALUE_METHOD
00595 }
00596
00597 NO_ENUMS( DomElement )
00598 NO_STATICS( DomElement )
00599
00600 START_METHOD_LUT( DomElement )
00601 {"toString", 0, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::toString},
00602 {"text", 0, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::toString},
00603 {"tagName", 0, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::tagName},
00604 {"setTagName", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::setTagName},
00605 {"setAttribute", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::setAttribute},
00606 {"attribute", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::attribute},
00607 {"hasAttribute", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::hasAttribute},
00608 {"removeAttribute", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::removeAttribute},
00609 {"setAttributeNS", 3, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::setAttributeNS},
00610 {"attributeNS", 3, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::attributeNS},
00611 {"hasAttributeNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::hasAttributeNS},
00612 {"removeAttributeNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::removeAttributeNS},
00613 {"elementsByTagName", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::elementsByTagName},
00614 {"elementsByTagNameNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::elementsByTagNameNS},
00615 {"attributeNode", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::attributeNode},
00616 {"attributeNodeNS", 2, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::attributeNodeNS},
00617 {"removeAttributeNode", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::removeAttributeNode},
00618 {"setAttributeNode", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::setAttributeNode},
00619 {"setAttributeNodeNS", 1, KJS::DontDelete|KJS::ReadOnly, &DomElementNS::setAttributeNodeNS}
00620 END_METHOD_LUT
00621
00622 START_CTOR( DomElement, QDomElement, 0 )
00623 return new KJSEmbed::DomElementBinding(exec, QDomElement( ) );
00624 END_CTOR
00625
00626 const KJS::ClassInfo DomAttrBinding::info = { "QDomAttr", &ValueBinding::info, 0, 0 };
00627 DomAttrBinding::DomAttrBinding( KJS::ExecState *exec, const QDomAttr &value )
00628 : ValueBinding(exec, "QDomAttr", value )
00629 {
00630 StaticBinding::publish( exec, this, DomNode::methods() );
00631 StaticBinding::publish( exec, this, DomAttr::methods() );
00632 }
00633
00634 namespace AttrElementNS {
00635 START_VALUE_METHOD( name, QDomAttr )
00636 result = KJS::jsString( value.value( ) );
00637 END_VALUE_METHOD
00638
00639 START_VALUE_METHOD( specified, QDomAttr )
00640 result = KJS::jsBoolean( value.specified( ) );
00641 END_VALUE_METHOD
00642
00643 START_VALUE_METHOD( ownerElement, QDomAttr )
00644 QDomElement owner = value.ownerElement();
00645 result = KJSEmbed::createValue(exec, "QDomElement", owner);
00646 END_VALUE_METHOD
00647
00648 START_VALUE_METHOD( value, QDomAttr )
00649 result = KJS::jsString( value.value( ) );
00650 END_VALUE_METHOD
00651
00652 START_VALUE_METHOD( setValue, QDomAttr )
00653 QString newValue = KJSEmbed::extractQString(exec, args, 0);
00654 value.setValue( newValue );
00655 END_VALUE_METHOD
00656
00657 }
00658
00659 NO_ENUMS( DomAttr )
00660 NO_STATICS( DomAttr )
00661
00662 START_METHOD_LUT( DomAttr )
00663 {"name", 0, KJS::DontDelete|KJS::ReadOnly, &AttrElementNS::name},
00664 {"specified", 0, KJS::DontDelete|KJS::ReadOnly, &AttrElementNS::specified},
00665 {"ownerElement", 0, KJS::DontDelete|KJS::ReadOnly, &AttrElementNS::ownerElement},
00666 {"value", 0, KJS::DontDelete|KJS::ReadOnly, &AttrElementNS::value},
00667 {"setValue", 1, KJS::DontDelete|KJS::ReadOnly, &AttrElementNS::setValue}
00668 END_METHOD_LUT
00669
00670 START_CTOR( DomAttr, QDomAttr, 0 )
00671 return new KJSEmbed::DomAttrBinding(exec, QDomAttr( ) );
00672 END_CTOR
00673
00674 const KJS::ClassInfo DomNodeListBinding::info = { "QDomNodeList", &ValueBinding::info, 0, 0 };
00675 DomNodeListBinding::DomNodeListBinding( KJS::ExecState *exec, const QDomNodeList &value )
00676 : ValueBinding(exec, "QDomNodeList", value )
00677 {
00678 StaticBinding::publish( exec, this, DomNodeList::methods() );
00679 }
00680
00681 namespace NodeListNS {
00682 START_VALUE_METHOD( count, QDomNodeList )
00683 result = KJS::jsNumber( value.count( ) );
00684 END_VALUE_METHOD
00685
00686 START_VALUE_METHOD( length, QDomNodeList )
00687 result = KJS::jsNumber( value.length( ) );
00688 END_VALUE_METHOD
00689
00690 START_VALUE_METHOD( item, QDomNodeList )
00691 int idx = KJSEmbed::extractInt( exec, args, 0);
00692 QDomNode node = value.item(idx);
00693 result = KJSEmbed::createValue(exec, "QDomNode", node);
00694 END_VALUE_METHOD
00695
00696 }
00697
00698 NO_ENUMS( DomNodeList )
00699 NO_STATICS( DomNodeList )
00700
00701 START_METHOD_LUT( DomNodeList )
00702 {"count", 0, KJS::DontDelete|KJS::ReadOnly, &NodeListNS::count},
00703 {"length", 0, KJS::DontDelete|KJS::ReadOnly, &NodeListNS::length},
00704 {"item", 1, KJS::DontDelete|KJS::ReadOnly, &NodeListNS::item}
00705 END_METHOD_LUT
00706
00707 START_CTOR( DomNodeList, QDomNodeList, 0 )
00708 return new KJSEmbed::DomNodeListBinding(exec, QDomNodeList( ) );
00709 END_CTOR
00710
00711 const KJS::ClassInfo DomDocumentTypeBinding::info = { "QDomDocumentType", &ValueBinding::info, 0, 0 };
00712 DomDocumentTypeBinding::DomDocumentTypeBinding( KJS::ExecState *exec, const QDomDocumentType &value )
00713 : ValueBinding(exec, "QDomDocumentType", value )
00714 {
00715 StaticBinding::publish( exec, this, DomNode::methods() );
00716 StaticBinding::publish( exec, this, DomDocumentType::methods() );
00717 }
00718
00719 namespace DomDocumentTypeNS {
00720 START_VALUE_METHOD( internalSubset, QDomDocumentType )
00721 result = KJS::jsString( value.internalSubset( ) );
00722 END_VALUE_METHOD
00723
00724 START_VALUE_METHOD( name, QDomDocumentType )
00725 result = KJS::jsString( value.name( ) );
00726 END_VALUE_METHOD
00727
00728 START_VALUE_METHOD( publicId, QDomDocumentType )
00729 result = KJS::jsString( value.publicId( ) );
00730 END_VALUE_METHOD
00731
00732 START_VALUE_METHOD( systemId, QDomDocumentType )
00733 result = KJS::jsString( value.systemId( ) );
00734 END_VALUE_METHOD
00735
00736 START_VALUE_METHOD( entities, QDomDocumentType )
00737 result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", value.entities( ) );
00738 END_VALUE_METHOD
00739
00740 START_VALUE_METHOD( notations, QDomDocumentType )
00741 result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", value.notations( ) );
00742 END_VALUE_METHOD
00743 }
00744
00745 NO_ENUMS( DomDocumentType )
00746 NO_STATICS( DomDocumentType )
00747
00748 START_METHOD_LUT( DomDocumentType )
00749 {"entities", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::entities},
00750 {"notations", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::notations},
00751 {"internalSubset", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::internalSubset},
00752 {"name", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::name},
00753 {"publicId", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::publicId},
00754 {"systemId", 0, KJS::DontDelete|KJS::ReadOnly, &DomDocumentTypeNS::systemId}
00755 END_METHOD_LUT
00756
00757 START_CTOR( DomDocumentType, QDomDocumentType, 0 )
00758 return new KJSEmbed::DomDocumentTypeBinding(exec, QDomDocumentType( ) );
00759 END_CTOR
00760
00761 const KJS::ClassInfo DomNamedNodeMapBinding::info = { "QDomNamedNodeMap", &ValueBinding::info, 0, 0 };
00762 DomNamedNodeMapBinding::DomNamedNodeMapBinding( KJS::ExecState *exec, const QDomNamedNodeMap &value )
00763 : ValueBinding(exec, "QDomNamedNodeMap", value )
00764 {
00765 StaticBinding::publish( exec, this, DomNamedNodeMap::methods() );
00766 }
00767
00768 namespace NamedNodeMapNS {
00769 START_VALUE_METHOD( contains, QDomNamedNodeMap )
00770 QString name = KJSEmbed::extractQString( exec, args, 0);
00771 result = KJS::jsBoolean( value.contains(name) );
00772 END_VALUE_METHOD
00773
00774 START_VALUE_METHOD( count, QDomNamedNodeMap )
00775 result = KJS::jsNumber(value.count());
00776 END_VALUE_METHOD
00777
00778 START_VALUE_METHOD( item, QDomNamedNodeMap )
00779 int idx = KJSEmbed::extractInt( exec, args, 0);
00780 QDomNode node = value.item(idx);
00781 result = KJSEmbed::createValue(exec, "QDomNode", node);
00782 END_VALUE_METHOD
00783
00784 START_VALUE_METHOD( length, QDomNamedNodeMap )
00785 result = KJS::jsNumber( value.length( ) );
00786 END_VALUE_METHOD
00787
00788 START_VALUE_METHOD( namedItem, QDomNamedNodeMap )
00789 QString name = KJSEmbed::extractQString( exec, args, 0);
00790 QDomNode node = value.namedItem(name);
00791 result = KJSEmbed::createValue(exec, "QDomNode", node);
00792 END_VALUE_METHOD
00793
00794 START_VALUE_METHOD( namedItemNS, QDomNamedNodeMap )
00795 QString nsuri = KJSEmbed::extractQString( exec, args, 0);
00796 QString localName = KJSEmbed::extractQString( exec, args, 1);
00797 QDomNode node = value.namedItemNS(nsuri, localName);
00798 result = KJSEmbed::createValue(exec, "QDomNode", node);
00799 END_VALUE_METHOD
00800
00801 START_VALUE_METHOD( removeNamedItem, QDomNamedNodeMap )
00802 QString name = KJSEmbed::extractQString( exec, args, 0);
00803 QDomNode node = value.removeNamedItem( name );
00804 result = KJSEmbed::createValue(exec, "QDomNode", node);
00805 END_VALUE_METHOD
00806
00807 START_VALUE_METHOD( removeNamedItemNS, QDomNamedNodeMap )
00808 QString nsuri = KJSEmbed::extractQString( exec, args, 0);
00809 QString localName = KJSEmbed::extractQString( exec, args, 1);
00810 QDomNode node = value.removeNamedItemNS(nsuri, localName);
00811 result = KJSEmbed::createValue(exec, "QDomNode", node);
00812 END_VALUE_METHOD
00813
00814 START_VALUE_METHOD( setNamedItem, QDomNamedNodeMap )
00815 QDomNode newNode = KJSEmbed::extractValue<QDomNode>(exec,args,0);
00816 QDomNode node = value.setNamedItem(newNode);
00817 result = KJSEmbed::createValue(exec, "QDomNode", node);
00818 END_VALUE_METHOD
00819
00820 START_VALUE_METHOD( setNamedItemNS, QDomNamedNodeMap )
00821 QDomNode newNode = KJSEmbed::extractValue<QDomNode>(exec,args,0);
00822 QDomNode node = value.setNamedItemNS(newNode);
00823 result = KJSEmbed::createValue(exec, "QDomNode", node);
00824 END_VALUE_METHOD
00825
00826 }
00827
00828 NO_ENUMS( DomNamedNodeMap )
00829 NO_STATICS( DomNamedNodeMap )
00830
00831 START_METHOD_LUT( DomNamedNodeMap )
00832 {"contains", 0, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::contains},
00833 {"count", 0, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::count},
00834 {"item", 1, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::item},
00835 {"length", 0, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::length},
00836 {"namedItem", 1, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::namedItem},
00837 {"namedItemNS", 2, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::namedItemNS},
00838 {"removeNamedItem", 1, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::removeNamedItem},
00839 {"removeNamedItemNS", 2, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::removeNamedItemNS},
00840 {"setNamedItem", 1, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::setNamedItem},
00841 {"setNamedItemNS", 1, KJS::DontDelete|KJS::ReadOnly, &NamedNodeMapNS::setNamedItemNS}
00842 END_METHOD_LUT
00843
00844 START_CTOR( DomNamedNodeMap, QDomNamedNodeMap, 0 )
00845 return new KJSEmbed::DomNamedNodeMapBinding(exec, QDomNamedNodeMap( ) );
00846 END_CTOR
00847
00848 const KJS::ClassInfo DomTextBinding::info = { "QDomText", &ValueBinding::info, 0, 0 };
00849 DomTextBinding::DomTextBinding( KJS::ExecState *exec, const QDomText &value )
00850 : ValueBinding(exec, "QDomText", value )
00851 {
00852 StaticBinding::publish( exec, this, DomNode::methods() );
00853 StaticBinding::publish( exec, this, DomText::methods() );
00854 }
00855
00856 NO_ENUMS( DomText )
00857 NO_STATICS( DomText )
00858 NO_METHODS( DomText )
00859
00860 START_CTOR( DomText, QDomText, 0 )
00861 return new KJSEmbed::DomTextBinding(exec, QDomText( ) );
00862 END_CTOR
00863
00864