X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/43fc1b3f57852f2af098fa7411e83220015aaa6f..1977f2e514c49ae6bdf411be9b08bc59be554a60:/Client/src/principal.cpp diff --git a/Client/src/principal.cpp b/Client/src/principal.cpp index 4250709..0538736 100644 --- a/Client/src/principal.cpp +++ b/Client/src/principal.cpp @@ -19,7 +19,9 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr & txt_view = 0; txt_target = txt_command = txt_args = 0; work_place = 0; + lbl_nombre = lbl_color = lbl_flujo = 0; + rg->get_widget("lbl_nombre", lbl_nombre); rg->get_widget("mnu_file_connect", conect); rg->get_widget("mnu_file_exit", exit); rg->get_widget("mnu_help_about", about); @@ -32,6 +34,7 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr & rg->get_widget("txt_args", txt_args); rg->get_widget("bar_connect", bar_connect); rg->get_widget("work_place", work_place); + rg->get_widget("ico_conected", ico_conected); dlg_conectar->get_ok_button()->signal_clicked().connect( SigC::slot(*this, &Principal::on_dlg_connect_ok) ); mnu_prop->signal_activate().connect( SigC::slot(*this, &Principal::on_mnu_prop)); @@ -52,29 +55,31 @@ Principal::~Principal() void Principal::on_dlg_connect_ok() { if (conexion == NULL) { - std::cout << "Conectando ..." << std::endl; // Creo la conexion try { conexion = new PlaQui::Server::ControlClient(dlg_conectar->get_server_name(), dlg_conectar->get_server_port()); } catch (...) { txt_view->get_buffer()->insert_at_cursor("NO SE PUDO CREAR OBJETO\n"); + delete conexion; + conexion == NULL; return; } // Conecto las seƱales conexion->signal_ok_received().connect( SigC::slot(*this, &Principal::on_conexion_ok) ); conexion->signal_error_received().connect( SigC::slot(*this, &Principal::on_conexion_error) ); + conexion->signal_connected().connect( SigC::slot(*this, &Principal::on_conexion_connected) ); + conexion->signal_finished().connect( SigC::slot(*this, &Principal::on_conexion_finished) ); // Lanzo la conexion! - // try { conexion->run(); } catch (...) { - txt_view->get_buffer()->insert_at_cursor("no se puede correr ->run()!!!\n"); + txt_view->get_buffer()->insert_at_cursor("no se puede correr conexion->run()!!!\n"); } } else { - std::cout << "Ya estas conectado" << std::endl; + txt_view->get_buffer()->insert_at_cursor("YA ESTAS CONECTADO\n"); } dlg_conectar->hide(); } @@ -123,11 +128,25 @@ void Principal::on_mnu_help_about() bool Principal::on_item_clicked(GdkEventButton *e, ViewItem *i) { - txt_view->get_buffer()->insert_at_cursor("Item : "); + lbl_nombre->set_text(i->get_name()); + txt_view->get_buffer()->insert_at_cursor("Selecciono "); txt_view->get_buffer()->insert_at_cursor(i->get_name()); txt_view->get_buffer()->insert_at_cursor("\n"); } +void Principal::on_conexion_connected() +{ + txt_view->get_buffer()->insert_at_cursor("CONNECTED\n"); + ico_conected->set( Gtk::Stock::YES , Gtk::IconSize(Gtk::ICON_SIZE_LARGE_TOOLBAR)); +} + +void Principal::on_conexion_finished() +{ + txt_view->get_buffer()->insert_at_cursor("HANG UP\n"); + ico_conected->set( Gtk::Stock::NO , Gtk::IconSize(Gtk::ICON_SIZE_LARGE_TOOLBAR)); + conexion = NULL; +} + void Principal::on_conexion_ok() { txt_view->get_buffer()->insert_at_cursor("El server dice que ta' todo ok!\n"); @@ -194,18 +213,10 @@ void Principal::on_mnu_prop() } else if (xmlStrcmp(items->name, BAD_CAST"empalme")==0) { loadUnion(items); } - - - } items = items->next; } - } else { - printf("NO ES UNA PLANTA\n"); } - - - printf("Fin parseo!!\n"); } void Principal::loadBomba(xmlNodePtr nodo) @@ -233,6 +244,8 @@ void Principal::loadBomba(xmlNodePtr nodo) b->set_position(x,y); work_place->put(*b, x, y); b->show(); + // los agrego al hash + mapItems[name] = b; } void Principal::loadCodo(xmlNodePtr nodo) @@ -261,7 +274,7 @@ void Principal::loadCodo(xmlNodePtr nodo) work_place->put(*b, x, y); b->show(); // los agrego al hash - //mapItems.insert(name, b); + mapItems[name] = b; } void Principal::loadConduct(xmlNodePtr nodo) @@ -289,6 +302,8 @@ void Principal::loadConduct(xmlNodePtr nodo) b->set_position(x,y); work_place->put(*b, x, y); b->show(); + // los agrego al hash + mapItems[name] = b; } void Principal::loadExclusa(xmlNodePtr nodo) @@ -316,6 +331,8 @@ void Principal::loadExclusa(xmlNodePtr nodo) b->set_position(x,y); work_place->put(*b, x, y); b->show(); + // los agrego al hash + mapItems[name] = b; } void Principal::loadTank(xmlNodePtr nodo) @@ -343,6 +360,8 @@ void Principal::loadTank(xmlNodePtr nodo) b->set_position(x,y); work_place->put(*b, x, y); b->show(); + // los agrego al hash + mapItems[name] = b; } void Principal::loadUnion(xmlNodePtr nodo) @@ -370,4 +389,7 @@ void Principal::loadUnion(xmlNodePtr nodo) b->set_position(x,y); work_place->put(*b, x, y); b->show(); + // los agrego al hash + mapItems[name] = b; } +