xml::XMLElement* DecisionTree::loadXMLSettings(xml::XMLElement* elem) { xml::XMLElement*e; e=elem->getSubElement(mT("scheme")); if(e) { if(m_scheme) delete m_scheme; m_scheme=new AttributesScheme(); m_scheme->loadXMLSettings(e); } e=elem->getSubElement(mT("training")); if(e) { xml::XMLAttribute*attr=e->getAttribute(mT("Target")); if(!attr) return elem; TrainingDataSet ds(m_scheme); ds.loadExamplesFromXML(e); Train(&ds,attr->value); //test xml::XMLElement e(mT("DT")); exportXMLSettings(&e); GCPtr<OS::IStream> stream=gFileSystem.openFile(mT("IDT.xml"),OS::TXT_WRITE); xml::XMLWriter w; w.addElement(&e); OS::StreamWriter ww(stream); ww.writeString(w.flush()); stream->close(); } return elem; }
//slot called when the save button is triggered void ConnectionSettings::validationConnectionSettings(){ QString argPres; if(nbArg->text()=="0"){ argPres= "<font color=red> Without any Argument !</font>"; }else{ for(int i=0; i<nbArg->text().toInt(); i++){ argPres = argPres +" <font color= black><b>- Arg " + QString::number(i+1) + " : </b>(" + tabArgOutline[i]->text() +") </font>"; QString az = tabArgSuf[i]->metaObject()->className(); QString cond; if(az=="QLineEdit"){ cond = reinterpret_cast<QLineEdit*>(tabArgSuf[i])->text(); } if(cond =="" && az != "QSpinBox"){ argPres += "<br> <font color=green>Without prefix</font>"; }else if (az != "QSpinBox"){ argPres += "<br> <font color = green>Prefixe : " + cond + "</font>"; } argPres += "<br> Typed as : <font color = red>" + tabArgType[i]->currentText()+"</font>"; int curseur =0; if(tabArgType[i]->currentText()=="Choice"){ int curse = curseur; for(int j=curse; j<reinterpret_cast<QSpinBox*>(tabArgSuf[i])->text().toInt()+curse; j++){ if(tabChoixPrefix[j]->text()==""){ argPres+="<br>Witout Prefix ; Choice Name : "+ tabChoixNom[j]->text()+" ; Parametre : "+ tabChoixParam[j]->text(); curseur+=1; }else{ argPres+="<br>Prefix : "+ tabChoixPrefix[j]->text() +" ; Choice Name : "+ tabChoixNom[j]->text()+" ; Parametre : "+ tabChoixParam[j]->text(); curseur+=1; } } } if(tabArgfacul[i]->isChecked()){ argPres += "<br> <font color= blue>Facultative </font>"; }else{ argPres += "<br> <font color = blue>Mandatory </font>"; } argPres += "<br>"; } } int reponse = QMessageBox::question(this, "Computation Settings Validation", "Do you really want to save these settings ? <br><br> <font color= black><b>Function Name : </b></font>" + name->text()+"<br> <font color= black><b>Program Name : </b></font>" + program->text()+"<br>" + argPres, QMessageBox::No | QMessageBox::Yes); if (reponse == QMessageBox::Yes){ exportXMLSettings(); QMessageBox::information(this, "Computation Setting Validated", "Export done"); this->quit(); } }