Loading src/html.cpp +43 −6 Changes for src/html.cpp: 43 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -454,6 +454,18 @@ void libhtmlpp::HtmlElement::insertChild(libhtmlpp::Element* el){ _childElement=el; } void libhtmlpp::HtmlElement::appendChild(libhtmlpp::Element* el){ if(_childElement){ Element *curel=_childElement->nextElement(); while(curel){ curel=curel->nextElement(); } curel->_nextElement=el; }else{ _childElement=el; } } void libhtmlpp::Element::insertBefore(libhtmlpp::Element* el){ _prevElement->_nextElement=el; Loading @@ -466,15 +478,23 @@ void libhtmlpp::Element::insertBefore(libhtmlpp::Element* el){ } void libhtmlpp::Element::insertAfter(libhtmlpp::Element* el){ _nextElement=el; Element *prevel; do{ prevel=el->_prevElement; }while(prevel!=nullptr); el->_nextElement=_nextElement; _nextElement=el; } libhtmlpp::Element *libhtmlpp::Element::nextElement(){ return _nextElement; } libhtmlpp::Element *libhtmlpp::Element::prevElement(){ return _prevElement; } int libhtmlpp::Element::getType(){ return _Type; } libhtmlpp::HtmlPage::HtmlPage(){ } Loading Loading @@ -607,7 +627,24 @@ void libhtmlpp::print(Element* el, HtmlElement* parent,std::string& output) { break; } } #include <iostream> libhtmlpp::HtmlElement *libhtmlpp::HtmlElement::getElementbyID(const char *id){ for(Element *curel=this; curel; curel=curel->nextElement()){ if(curel->getType()==HtmlEl){ if(((HtmlElement*)curel)->_childElement){ HtmlElement *find=((HtmlElement*)curel)->getElementbyID(id); if(find) return find; } const char *key=((HtmlElement*)curel)->getAtributte("id"); if(key && strcmp(key,id)==0){ std::cout << "hurray" << std::endl; return (HtmlElement*)curel; } } } return nullptr; } void libhtmlpp::HtmlElement::setAttribute(const char* name, const char* value) { Attributes* cattr = nullptr; Loading src/html.h +10 −2 Changes for src/html.h: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ namespace libhtmlpp { HtmlEl=1 }; struct Element { class Element { public: Element(){ _prevElement=nullptr; Loading @@ -49,17 +49,22 @@ namespace libhtmlpp { } virtual ~Element(){ // delete _nextElement; delete _nextElement; }; void insertAfter(Element* el); void insertBefore(Element* el); Element* nextElement(); Element* prevElement(); int getType(); protected: Element* _prevElement; Element* _nextElement; int _Type; friend class HtmlElement; friend class HtmlString; friend void print(Element* el, HtmlElement* parent,std::string &output); }; Loading @@ -76,6 +81,9 @@ namespace libhtmlpp { int getIntAtributte(const char* name); void insertChild(Element* el); void appendChild(Element* el); HtmlElement *getElementbyID(const char *id); protected: Element* _childElement; Loading Loading
src/html.cpp +43 −6 Changes for src/html.cpp: 43 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -454,6 +454,18 @@ void libhtmlpp::HtmlElement::insertChild(libhtmlpp::Element* el){ _childElement=el; } void libhtmlpp::HtmlElement::appendChild(libhtmlpp::Element* el){ if(_childElement){ Element *curel=_childElement->nextElement(); while(curel){ curel=curel->nextElement(); } curel->_nextElement=el; }else{ _childElement=el; } } void libhtmlpp::Element::insertBefore(libhtmlpp::Element* el){ _prevElement->_nextElement=el; Loading @@ -466,15 +478,23 @@ void libhtmlpp::Element::insertBefore(libhtmlpp::Element* el){ } void libhtmlpp::Element::insertAfter(libhtmlpp::Element* el){ _nextElement=el; Element *prevel; do{ prevel=el->_prevElement; }while(prevel!=nullptr); el->_nextElement=_nextElement; _nextElement=el; } libhtmlpp::Element *libhtmlpp::Element::nextElement(){ return _nextElement; } libhtmlpp::Element *libhtmlpp::Element::prevElement(){ return _prevElement; } int libhtmlpp::Element::getType(){ return _Type; } libhtmlpp::HtmlPage::HtmlPage(){ } Loading Loading @@ -607,7 +627,24 @@ void libhtmlpp::print(Element* el, HtmlElement* parent,std::string& output) { break; } } #include <iostream> libhtmlpp::HtmlElement *libhtmlpp::HtmlElement::getElementbyID(const char *id){ for(Element *curel=this; curel; curel=curel->nextElement()){ if(curel->getType()==HtmlEl){ if(((HtmlElement*)curel)->_childElement){ HtmlElement *find=((HtmlElement*)curel)->getElementbyID(id); if(find) return find; } const char *key=((HtmlElement*)curel)->getAtributte("id"); if(key && strcmp(key,id)==0){ std::cout << "hurray" << std::endl; return (HtmlElement*)curel; } } } return nullptr; } void libhtmlpp::HtmlElement::setAttribute(const char* name, const char* value) { Attributes* cattr = nullptr; Loading
src/html.h +10 −2 Changes for src/html.h: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ namespace libhtmlpp { HtmlEl=1 }; struct Element { class Element { public: Element(){ _prevElement=nullptr; Loading @@ -49,17 +49,22 @@ namespace libhtmlpp { } virtual ~Element(){ // delete _nextElement; delete _nextElement; }; void insertAfter(Element* el); void insertBefore(Element* el); Element* nextElement(); Element* prevElement(); int getType(); protected: Element* _prevElement; Element* _nextElement; int _Type; friend class HtmlElement; friend class HtmlString; friend void print(Element* el, HtmlElement* parent,std::string &output); }; Loading @@ -76,6 +81,9 @@ namespace libhtmlpp { int getIntAtributte(const char* name); void insertChild(Element* el); void appendChild(Element* el); HtmlElement *getElementbyID(const char *id); protected: Element* _childElement; Loading