]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Client/src/principal.cpp
se mejora la conexion entre compuertas, se salvan en el XML, hay un par de cosas...
[z.facultad/75.42/plaqui.git] / Client / src / principal.cpp
index 46ec40b3cb913471c37403fb829c9e620a916f80..f9cb07fc7761a03aee0d281e329635e68e5a6f7f 100644 (file)
@@ -80,7 +80,7 @@ Principal::~Principal()
        }
        // Espera a que termine realmente.
        while (conexion) {
        }
        // Espera a que termine realmente.
        while (conexion) {
-               Glib::usleep(10000); // 10 milisegundos
+               Glib::usleep(100000); // 0,1 segundo
        }
 }
 
        }
 }
 
@@ -155,6 +155,7 @@ void Principal::on_dlg_connect_ok()
 
                // Conecto las señales
                conexion->signal_ok_received().connect( SigC::slot(*this, &Principal::on_conexion_ok) );
 
                // Conecto las señales
                conexion->signal_ok_received().connect( SigC::slot(*this, &Principal::on_conexion_ok) );
+               conexion->signal_error().connect( SigC::slot(*this, &Principal::on_conexion_fatal_error) );
                conexion->signal_error_received().connect( SigC::slot(*this, &Principal::on_conexion_error) );
                conexion->signal_finished().connect( SigC::slot(*this, &Principal::on_conexion_finished) );
                conexion->signal_frame_received().connect(SigC::slot(*this, &Principal::on_conexion_frame));
                conexion->signal_error_received().connect( SigC::slot(*this, &Principal::on_conexion_error) );
                conexion->signal_finished().connect( SigC::slot(*this, &Principal::on_conexion_finished) );
                conexion->signal_frame_received().connect(SigC::slot(*this, &Principal::on_conexion_frame));
@@ -173,9 +174,16 @@ void Principal::on_dlg_connect_ok()
 
 void Principal::on_mnu_file_exit()
 {
 
 void Principal::on_mnu_file_exit()
 {
+       on_mnu_file_disconnect();
        Gtk::Main::quit();
 }
 
        Gtk::Main::quit();
 }
 
+bool Principal::on_delete_event(GdkEventAny *e)
+{
+       on_mnu_file_exit();
+       return false;
+}
+
 void Principal::on_btn_activar_clicked()
 {
        if ((conexion == NULL) || (last_selected == NULL)) return;
 void Principal::on_btn_activar_clicked()
 {
        if ((conexion == NULL) || (last_selected == NULL)) return;
@@ -314,14 +322,29 @@ void Principal::on_conexion_ok(const std::string &body)
        }
 }
 
        }
 }
 
-void Principal::on_conexion_error(unsigned code)
+void Principal::on_conexion_fatal_error(const PlaQui::Server::ControlClient::Error& code, const std::string& desc)
+{
+       std::stringstream a;
+       std::string s;
+       a << code;
+       a >> s;
+       txt_view->get_buffer()->insert_at_cursor("Error de red nro. ");
+       txt_view->get_buffer()->insert_at_cursor(s);
+       txt_view->get_buffer()->insert_at_cursor(": ");
+       txt_view->get_buffer()->insert_at_cursor(desc);
+       txt_view->get_buffer()->insert_at_cursor("\n");
+}
+
+void Principal::on_conexion_error(unsigned code, const std::string& desc)
 {
        std::stringstream a;
        std::string s;
        a << code;
        a >> s;
 {
        std::stringstream a;
        std::string s;
        a << code;
        a >> s;
-       txt_view->get_buffer()->insert_at_cursor("El server dice que hay error : ");
+       txt_view->get_buffer()->insert_at_cursor("El server dice que hay error nro. ");
        txt_view->get_buffer()->insert_at_cursor(s);
        txt_view->get_buffer()->insert_at_cursor(s);
+       txt_view->get_buffer()->insert_at_cursor(": ");
+       txt_view->get_buffer()->insert_at_cursor(desc);
        txt_view->get_buffer()->insert_at_cursor("\n");
 }
 
        txt_view->get_buffer()->insert_at_cursor("\n");
 }
 
@@ -823,6 +846,7 @@ bool Principal::get_bool_from_xml(xmlNodePtr nodo)
                }
                nodo = nodo->next;
        }
                }
                nodo = nodo->next;
        }
+       std::cout << "AAACCCCAA : " << tmp << std::endl;
        return tmp == "true";
 }
 
        return tmp == "true";
 }