{
std::list<CItem *>::iterator i = listaItems.begin();
file_name = file_selection->get_filename();
- if ( (archivo = fopen( file_name.c_str(), "w+")) != NULL ){
- fprintf(archivo, "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n");
- fprintf (archivo,"<planta>\n");
- while ( i != listaItems.end() ){
- (*i)->save(archivo);
- i++;
- }
- i = lista_logic_Items.begin();
- while ( i != lista_logic_Items.end() ) {
- (*i)->save(archivo);
- i++;
- }
- fprintf(archivo,"</planta>\n");
- saved = true;
- } else
- std::cout<<"NO SE ABRIO EL ARCHIVO"<<std::endl;
- fclose(archivo);
+ Glib::ustring name;
+ if ( ! check_connection(name) ) {
+ dlg_connect->set_title("Error");
+ dlg_label->set_text("El elemento "+name+" no esta conectado\n\t\tcorrectamente");
+ dlg_connect->show();
+ } else {
+ if ( (archivo = fopen( file_name.c_str(), "w+")) != NULL ){
+ fprintf(archivo, "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n");
+ fprintf (archivo,"<planta>\n");
+ while ( i != listaItems.end() ){
+ (*i)->save(archivo);
+ i++;
+ }
+ i = lista_logic_Items.begin();
+ while ( i != lista_logic_Items.end() ) {
+ (*i)->save(archivo);
+ i++;
+ }
+ fprintf(archivo,"</planta>\n");
+ saved = true;
+ fclose(archivo);
+ } else
+ std::cout<<"NO SE ABRIO EL ARCHIVO"<<std::endl;
+ }
file_selection->hide();
}
}
void Constructor::on_btn_check_clicked()
+{
+ Glib::ustring name;
+ if ( ! check_connection(name) ) {
+ dlg_connect->set_title("Error");
+ dlg_label->set_text("El elemento "+name+" no esta conectado\n\t\tcorrectamente");
+ dlg_connect->show();
+ } else {
+ dlg_connect->set_title("Conexion");
+ dlg_label->set_text("Los elementos estan conectados\n\t\tcorrectamente");
+ dlg_connect->show();
+ }
+}
+
+
+bool Constructor::check_connection(Glib::ustring& name)
{
std::list<CItem *>::iterator i = listaItems.begin();
while ( i != listaItems.end() ){
(*i)->is_connected = false;
i++;
}
-
i = listaItems.begin();
if ( !listaItems.empty() ) {
while ( i != listaItems.end() ) {
CItem *temp = *i;
std::cout<< "item="<<temp->get_name()<<" "<<"check= "<<temp->check_connection()<<std::endl;
if ( !temp->check_connection() ) {
- dlg_connect->set_title("Error");
- dlg_label->set_text("El elemento "+temp->get_name()+" no esta conectado\n\t\tcorrectamente");
- dlg_connect->show();
- return;
+ name = temp->get_name();
+ return false;
}
i++;
}
- dlg_connect->set_title("Conexion");
- dlg_label->set_text("Los elementos estan conectados\n\t\tcorrectamente");
- dlg_connect->show();
}
std::cout<<"check_connection logic"<<std::endl;
std::list<CItem *>::iterator j = lista_logic_Items.begin();
while ( j != lista_logic_Items.end() ) {
- (*j)->check_connection();
+ if ( !(*j)->check_connection() ) {
+ name = (*j)->get_name();
+ return false;
+ }
j++;
}
-
-
-}
+ return true;
+}
Pump *Constructor::loadBomba(xmlNodePtr nodo)
{