]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Client/include/principal.h
Se implementa una señal entre Thread con Glib::Dispatch .. no se si soluciona el...
[z.facultad/75.42/plaqui.git] / Client / include / principal.h
index 420d111ac57e859c6b3face8a3a475c128b50a30..8cfe7f24d8e4d32df2e1a66bd6766b428136e798 100644 (file)
@@ -8,8 +8,8 @@
 #include "dlg_conectar.h"
 #include "plaqui/server/controlclient.h"
 #include <libxml/parser.h>
-#include "item_bomba.h"
-#include "item_codo.h"
+#include <map>
+#include "item.h"
 
 class Principal:public Gtk::Window {
 public:
@@ -18,10 +18,24 @@ public:
 
 protected:
        PlaQui::Server::ControlClient *conexion;
+       // Utilizo un map para no tener que buscar un item
+       // en una lista cada vez que quiero actualizar su propiedad.
+       // Simplemente lo busco como map["nombre"]
+       std::map<const std::string, ViewItem *> mapItems;
 
        // Funciones de carga del XML
+       bool is_xml_loaded;
+       void loadXML();
        void loadBomba(xmlNodePtr nodo);
        void loadCodo(xmlNodePtr nodo);
+       void loadConduct(xmlNodePtr nodo);
+       void loadExclusa(xmlNodePtr nodo);
+       void loadTank(xmlNodePtr nodo);
+       void loadUnion(xmlNodePtr nodo);
+       void loadDrain(xmlNodePtr nodo);
+
+       Glib::Dispatcher load_xml_dispatch;
+       std::string xml_body;
 
        // Archivo XML del Padre
        Glib::RefPtr<Gnome::Glade::Xml> refXml;
@@ -31,17 +45,25 @@ protected:
        Gtk::Entry *txt_target, *txt_command, *txt_args;
        Gtk::TextView *txt_view;
        Gtk::Fixed *work_place;
+       Gtk::Label *lbl_nombre, *lbl_color, *lbl_flujo;
+       Gtk::Image *ico_conected;
 
        // Callbacks del menu y la barra
        virtual void on_mnu_file_exit();
        virtual void on_mnu_file_connect();
+       virtual void on_mnu_file_disconnect();
        virtual void on_mnu_help_about();
        virtual void on_dlg_connect_ok();
        virtual void on_get_clicked();
-       virtual void on_mnu_prop();
+
+       virtual bool on_item_clicked(GdkEventButton *, ViewItem *);
+       
        // Callbacks para las conexiones
-       void on_conexion_ok();
+       void on_conexion_connected();
+       void on_conexion_finished();
+       void on_conexion_ok(const std::string &body);
        void on_conexion_error(unsigned code);
+       void on_conexion_frame(const std::string &frame);
 };
 
 #endif // _PRINCIPAL_H_