#include "qicadpcb.h" QIlib::QIcadPcb::QIcadPcb() :pcbRoot(NULL) { } bool QIlib::QIcadPcb::parsePcb(const QString &pcb) { parse(pcb.toStdString().c_str()); updateConcreteTree(); return false; } QString QIlib::QIcadPcb::toString() { } QString QIlib::QIcadPcb::print() { return rootNode.print(); } void QIlib::QIcadPcb::updateConcreteTree() { if(this->rootNode.nodes.count()) { if(this->rootNode.nodes.at(0)->name==QIlib::Lexique::kicad_pcb_c) { if(this->pcbRoot==NULL) { this->pcbRoot = new QIcadPcbRoot(this->rootNode.nodes.at(0)); } } } } QIlib::QIcadPcbRoot::QIcadPcbRoot(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbRoot::setNode(QIlib::AbstractNode *node) { this->p_node = node; this->clrNets(); if(node->name==QIlib::Lexique::kicad_pcb_c) { for(int i=0;inodes.count();i++) { if(node->nodes.at(i)->name==QIlib::Lexique::version_c) { this->version.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::host_c) { this->host.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::page_c) { this->page.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::general_c) { this->general.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::layers_c) { this->layers.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::setup_c) { this->setup.setNode(node->nodes.at(i)); } if(node->nodes.at(i)->name==QIlib::Lexique::net_c) { this->apendNet(node->nodes.at(i)); } } } } void QIlib::QIcadPcbRoot::clrNets() { while(nets.count()) { QIcadAbstractNodeWrapper* net; net = nets.last(); nets.removeLast(); delete net; } } void QIlib::QIcadPcbRoot::apendNet(QIlib::AbstractNode *node) { if(node->name==QIlib::Lexique::net_c) { this->nets.append(new QIcadAbstractNodeWrapper(node)); } } QIlib::QIcadPcbGeneralInfo::QIcadPcbGeneralInfo(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbGeneralInfo::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbLayers::QIcadPcbLayers(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbLayers::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbLine::QIcadPcbLine(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbLine::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbModule::QIcadPcbModule(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbModule::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbDimension::QIcadPcbDimension(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbDimension::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbModuleModel::QIcadPcbModuleModel(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbModuleModel::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbFpText::QIcadPcbFpText(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbFpText::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbFpTextEffects::QIcadPcbFpTextEffects(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbFpTextEffects::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbFpTextEffectsFont::QIcadPcbFpTextEffectsFont(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbFpTextEffectsFont::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbNetClass::QIcadPcbNetClass(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbNetClass::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbSetup::QIcadPcbSetup(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbSetup::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbPlotParams::QIcadPcbPlotParams(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbPlotParams::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbSegment::QIcadPcbSegment(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbSegment::setNode(QIlib::AbstractNode *node) { this->p_node = node; } QIlib::QIcadPcbVia::QIcadPcbVia(QIlib::AbstractNode *node) :QIcadAbstractNodeWrapper(node) { this->setNode(node); } void QIlib::QIcadPcbVia::setNode(QIlib::AbstractNode *node) { this->p_node = node; }