]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
agregue comentarios an los .h y rich me canto que faltaba una funcion
authorNicolás Dimov <ndimov@gmail.com>
Sun, 30 Nov 2003 19:23:36 +0000 (19:23 +0000)
committerNicolás Dimov <ndimov@gmail.com>
Sun, 30 Nov 2003 19:23:36 +0000 (19:23 +0000)
14 files changed:
Constructor/include/and.h
Constructor/include/cisternptywnd.h
Constructor/include/drain.h
Constructor/include/exclusaptywnd.h
Constructor/include/itemptywnd.h
Constructor/include/not.h
Constructor/include/or.h
Constructor/include/propertywnd.h
Constructor/include/pumpptywnd.h
Constructor/include/splitter.h
Constructor/include/union.h
Constructor/include/workplace.h
Constructor/src/cistern.cpp
Constructor/src/workplace.cpp

index a71b536dfc7ec02df5762eba272ca29df8a66c21..a6354df86fe3485bd5c26f1630a5cec6eb01b64a 100644 (file)
@@ -5,23 +5,55 @@
 
 class And : public CItem {
        public:
+               ///Constructor. Se puede definir la orientacion de la imagen de la compuerta.
                And(int orientacion=0);
+               
+               ///Destructor.
                virtual ~And();
+       
+               ///Evento invocado al presionar un boton del mouse.
                virtual bool on_button_press_event(GdkEventButton *event);
+       
+               ///Rota la imagen 90 grados en sentido horario
                virtual void on_menu_popup_rotar();
+       
+               ///La compuerta guarda su estado en el archivo en formato XML.
                virtual void save(FILE *archivo);
+       
+               ///Verifica con quien esta conectada.
                virtual bool check_connection();
+       
+               ///Devuelve IN si el click fue en la zona de entrada, o OUT si fue en la zona de salida logica.
                virtual ConnectorType detect_click_position(int _a, int _b);
+               
+               ///Actualiza las posiciones de los conectores logicos ante una rotacion.
                virtual void update_logic_position();
+               
+               ///Devuelve la posicion del conector de entrada en _a, _b.
                virtual void get_in_logic_connect_position(int& _a, int& _b);
+               
+               ///Devuelve la posicion del conector de salida en _a,_b.
                virtual void get_out_logic_connect_position(int& _a, int& _b);  
+               
+               ///Devuelve el estado del conector logico.
                virtual bool get_out_logic_connect();
+               
+               ///Setea el estado del conector logico.
                virtual void set_out_connected(bool _o);
+               
+               ///Dibuja los conectores logicos segun su orientacion.
                virtual void draw_connectors();
        private:
+               ///posiciones de los conectores logicos.
                int in_x, in_y, out_x, out_y;
+       
+               ///Estado de los conectores logicos.
                bool out_connected;
+       
+               ///Vector de conectores utilizados para verificar con quien esta conectado.
                std::vector<t_logic_connector> vec_connector;   
+       
+               ///imagenes de la compuerta en sus 4 posiciones.
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 2
index 276e889f5e7c26f08c0ec85f1eb292aca9a6bef8..d8762dc3a208993b103d9f2fe19b547feec7862a 100644 (file)
@@ -2,19 +2,30 @@
 #define _CISTERNPTYWND_H_
 
 #include "propertywnd.h"
+/**Ventana de propiedades del TANQUE.
+*/
 
 class Cistern;
 
 class CisternPtyWnd : public PropertyWnd {
        public: 
+               ///Constructor.
                CisternPtyWnd(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+       
+               ///Destructor.
                virtual ~CisternPtyWnd();
+       
+               ///Puntero al Tanque que se le modificaran sus propiedades.
                Cistern *cistern;
+       
+               ///Objetos de la ventana.
                Gtk::SpinButton *spin_inicial, *spin_capacidad;
                Gtk::Button  *btn_select_color, *dlg_select_color_ok, *dlg_select_color_cancel;
                Gtk::Entry *txt_cistern_name;
                Gtk::ColorSelectionDialog *color_select_dlg;
                Gtk::DrawingArea *color_preview;
+       
+               ///Señales invocadas al presionarse algun boton.
                virtual void on_btn_accept_clicked();
                virtual void on_btn_apply_clicked();
                virtual void on_btn_select_color_clicked();
index a13b440096a76ae5f28f96b9d2c2aea05bace9a7..d45a8feceae8724f63ca3e404a2b4524d9488600 100644 (file)
@@ -3,22 +3,45 @@
 
 #include <iostream>
 #include "item.h"
-
+/**Definicion del DRENAJE.
+*/
 
 class Drain : public CItem {
        public:
+               ///Constructor.
                Drain(int orientacion=0);
+       
+               ///Destructor.
                virtual ~Drain();
+       
+               ///Metodo invocado al presionar un boton del mouse.
                virtual bool on_button_press_event(GdkEventButton *event);
+       
+               ///Rota la imagen 90 grados en sentido horario.
                virtual void on_menu_popup_rotar();
+       
+               ///Muestra la ventana de propiedades.
                virtual void on_menu_popup_propiedades();
+       
+               ///Devuelve el valor del atributo "contenido_inicial".
                double get_contenido_inicial();
+               
+               ///Devuelve el valor del atributo "capacidad".
                double get_capacidad();
+               
+               ///El item guarda su estado en el archivo en formato XML.
                virtual void save(FILE *archivo);
+               
+               ///Verifica su conexion con los items adyacentes.
                virtual bool check_connection();
+               
+               ///Resetea sus conectores a su estado de desconexion.
                virtual void set_default_connector();
+               
+               ///Devuelve el tipo de conector que posee en las coordenadas _a,_b, devuelve UNDEF si no es area de conexion.
                virtual ConnectorType get_connector_type(int _a, int _b);
        protected:
+               ///Imagenes del drenaje en sus 4 posiciones.    
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageO; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 1
index 11419ff62a8bb9fcc4d5730a412ceadd1410b3fb..af8c3ab83fb37388be8eeb5017897bb70b10b35b 100644 (file)
@@ -3,16 +3,27 @@
 
 #include "propertywnd.h"
 
+/**Ventana de propiedades de la EXCLUSA.
+*/
 class Exclusa;
 
 class ExclusaPtyWnd : public PropertyWnd {
        public: 
+               ///Constructor.
                ExclusaPtyWnd(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+       
+               ///Destructor.
                virtual ~ExclusaPtyWnd();
+       
+               ///Puntero a la exclusa que se le modifican las propiedades.
                Exclusa *exclusa;
+       
+               ///Objetos de la ventana.
                Gtk::Entry *txt_exclusa_name;
                Gtk::RadioButton *rd_btn_close, *rd_btn_open;
                Gtk::RadioButton::Group group;
+       
+               ///Señales que se invocan al presionar los botones.
                virtual void on_btn_accept_clicked();
                virtual void on_btn_apply_clicked();
                virtual void on_rd_btn_close_clicked();
index c8f4dd1649c967e804dbe0caa4b35a562c8f58ae..cf14c25517cd3dd65bb559c4385389850007245e 100644 (file)
@@ -1,17 +1,24 @@
 #ifndef _ITEMPTYWND_H_
 #define _ITEMPTYWND_H_
-
 #include "propertywnd.h"
+/**Ventana de propiedades de los items: CODO, TUBO y EMPALME.
+  */
 
 class ItemPtyWnd : public PropertyWnd {
        public:
+               ///Constructor.
                ItemPtyWnd(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+       
+               ///Destructor.
                virtual ~ItemPtyWnd();
+       
+               ///Objetos de la ventana.
                Gtk::SpinButton *spin_caudal;
                Gtk::RadioButton *rd_btn_union, *rd_btn_division;
                Gtk::Label *lb_type, *lb_max_fluid;
                Gtk::Entry *txt_item_name;
        protected:
+               ///Señales que se invocan al presionar los botones.
                virtual void on_btn_cancel_clicked();
                virtual void on_btn_accept_clicked();
                virtual void on_btn_apply_clicked();
index 02b2bb4bbbccbf91f484bdbfc8b66e969d01a75f..ee1efcf995955a1cbb8cb00ab1c564d14e26e966 100644 (file)
@@ -2,27 +2,62 @@
 #define _NOT_H_
 
 #include "item.h"
+/** Clase que implementa la compuerta logica NOT.
+*/     
 
 class Not : public CItem {
        public:
+               ///Constructor. Se puede definir la orientacion de la imagen de la compuerta.
                Not(int orientacion=0);
+       
+               ///Destructor.
                virtual ~Not();
+       
+               ///Evento invocado al presionar un boton del mouse.
                virtual bool on_button_press_event(GdkEventButton *event);
+       
+               ///Rota la imagen 90 grados en sentido horario
                virtual void on_menu_popup_rotar();
+       
+               ///La compuerta guarda su estado en el archivo en formato XML.
                virtual void save(FILE *archivo);
+       
+               ///Verifica con quien esta conectada.
                virtual bool check_connection();
+       
+               ///Devuelve IN si el click fue en la zona de entrada, o OUT si fue en la zona de salida logica.
                virtual ConnectorType detect_click_position(int _a, int _b);
+       
+               ///Actualiza las posiciones de los conectores logicos ante una rotacion.
                virtual void update_logic_position();
+               
+               ///Devuelve la posicion del conector de entrada en _a, _b.
                virtual void get_in_logic_connect_position(int& _a, int& _b);
+               
+               ///Devuelve la posicion del conector de salida en _a,_b.
                virtual void get_out_logic_connect_position(int& _a, int& _b);  
+               
+               ///Devuelve el estado del conector logico.
+               virtual bool get_out_logic_connect();
+               virtual bool get_in_logic_connect();
+               
+               ///Setea el estado del conector logico.
                virtual void set_out_connected(bool _o);
                virtual void set_in_connected(bool _o);
-               virtual bool get_out_logic_connect();
+               
+               ///Dibuja los conectores logicos segun su orientacion.
                virtual void draw_connectors();
        private:
+               ///posiciones de los conectores logicos.
                int in_x, in_y, out_x, out_y;
+       
+               ///Estado de los conectores logicos.
                bool in_connected, out_connected;
+       
+               ///Vector de conectores utilizados para verificar con quien esta conectado.
                std::vector<t_logic_connector> vec_connector;
+       
+               ///imagenes de la compuerta en sus 4 posiciones.
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 2
index 069190344bc03d9e791186ee5a2167fbf1112000..77d996fd3f729b8f752aab21e9ca2b605050fd65 100644 (file)
@@ -5,23 +5,55 @@
 
 class Or : public CItem {
        public:
+               ///Constructor. Se puede definir la orientacion de la imagen de la compuerta.
                Or(int orientacion=0);
+       
+               ///Destructor.
                virtual ~Or();
+               
+               ///Evento invocado al presionar un boton del mouse.
                virtual bool on_button_press_event(GdkEventButton *event);
+               
+               ///Rota la imagen 90 grados en sentido horario
                virtual void on_menu_popup_rotar();
+
+               ///La compuerta guarda su estado en el archivo en formato XML.
                virtual void save(FILE *archivo);
+       
+               ///Verifica con quien esta conectada.
                virtual bool check_connection();
+       
+               ///Devuelve IN si el click fue en la zona de entrada, o OUT si fue en la zona de salida logica.
                virtual ConnectorType detect_click_position(int _a, int _b);
+       
+               ///Actualiza las posiciones de los conectores logicos ante una rotacion.
                virtual void update_logic_position();
+
+               ///Devuelve la posicion del conector de entrada en _a, _b.
                virtual void get_in_logic_connect_position(int& _a, int& _b);
+               
+               ///Devuelve la posicion del conector de salida en _a,_b.
                virtual void get_out_logic_connect_position(int& _a, int& _b);  
+               
+               ///Devuelve el estado del conector logico.
                virtual bool get_out_logic_connect();
+               
+               ///Setea el estado del conector logico.
                virtual void set_out_connected(bool _o);
+               
+               ///Dibuja los conectores logicos segun su orientacion.
                virtual void draw_connectors();
        private:
+               ///posiciones de los conectores logicos.
                int in_x, in_y, out_x, out_y;
+       
+               ///Estado de los conectores logicos.
                bool out_connected;
+       
+               ///Vector de conectores utilizados para verificar con quien esta conectado.
                std::vector<t_logic_connector> vec_connector;
+       
+               ///imagenes de la compuerta en sus 4 posiciones.
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 2
index b510a2102c46ac21e62684650c301f3c117d2914..98cf47516001bffdc9b901a3edaf1445d77a77c8 100644 (file)
 #include <gdkmm.h>
 #include <libglademm.h>
 
+/**Prototipo de ventana de propiedades, la cual tiene en comun con todas sus herederas los botones
+  * Aceptar, Cancelar y Aplicar, donde la accion Cancelar es igual en todas.
+  */
+
 class CItem;
        
 class PropertyWnd : public Gtk::Window{
        public:
+               ///Constructor.
                PropertyWnd(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+       
+               ///Destructor.
                virtual ~PropertyWnd();
+       
+               ///Puntero al item que se le modifican las propiedades.
                CItem *item;            
+               
+               ///Objetos de la ventana.
                Gtk::Button *btn_cancel, *btn_accept, *btn_apply;
+       
+               ///Señales que se invocan al presionar los botones.
                virtual void on_btn_cancel_clicked();
                virtual void on_btn_accept_clicked();
                virtual void on_btn_apply_clicked();
index 296cddda87fdf4a467377b6743f7b9d8e51445aa..877dff05e10e7bdf55ed7b88a2ad857cc20ad8d9 100644 (file)
@@ -2,19 +2,31 @@
 #define _PUMPPTYWND_H_
 
 #include "propertywnd.h"
+/**Ventana de propiedades de la BOMBA.
+*/
 
 class Pump;
 
 class PumpPtyWnd : public PropertyWnd{
        public: 
+               ///Constructor.
                PumpPtyWnd(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+       
+               ///Destructor.
                virtual ~PumpPtyWnd();
+       
+               ///Puntero al item al cual se le modifcan las propiedades.
                Pump *pump;
+       
+               ///Botones y objetos de la ventana.
                Gtk::SpinButton *spin_fluid;
                Gtk::Entry *txt_pump_name;
                Gtk::Button *btn_select_color, *dlg_select_color_cancel, *dlg_select_color_ok;
                Gtk::ColorSelectionDialog *color_select_dlg;
                Gtk::DrawingArea *color_preview;
+       
+               ///Señales que se invocan al presionar los botones.
+               ///Almacena los valores seteados en la ventana en el item apuntado.
                virtual void on_btn_accept_clicked();
                virtual void on_btn_apply_clicked();
                virtual void on_btn_select_color_clicked();
index 362d5de751a970905758bc464ee3b469d1c8129f..af5366b9714e3799aac200fe365ff38012f998ae 100644 (file)
@@ -2,6 +2,8 @@
 #define _SPLITTER_H_
 
 #include "item.h"
+/**Define el CODO.
+*/
 
 class Splitter : public CItem {
        public:
index f0f1e9acaf610f0394b37d832512eae66dfdbc92..7e120466b9bd4ee656254fb164ea7a31437a8b45 100644 (file)
@@ -1,8 +1,9 @@
-// Union.h
 #ifndef _UNION_H_
 #define _UNION_H_
 
 #include "item.h"
+/**Define un empalme de flujo, que puede ser una UNION, o una DIVISION.
+*/
 
 class Union : public CItem {
        public:
index 8a533e2bc4d1ec405829b7852710097001f9f3d5..a559f37c2b7da738d641b01e7253e6be9d024789 100644 (file)
@@ -15,6 +15,7 @@ class CItem;
 ///Esta estructura define una linea entre un item logico y uno de transporte.
 typedef struct {
        int logic_id, store_id;
+       bool cistern_out1;
 }t_line;
 
 class WorkPlace:public Gtk::Fixed {
index 3240c3d3a00499511bf1c47d690b62374f0b192a..2db315f59c500ff7071c8e0ec8191cc295493ca4 100644 (file)
@@ -54,7 +54,8 @@ bool Cistern::on_button_press_event(GdkEventButton *event)
                if (CItem::logic_connect && CItem::gate_id != -1) {
                        if ( detect_click_position((int)event->x, (int)event->y) == IN && !workplace->get_logic_item(CItem::gate_id)->get_out_logic_connect()){
                                tmp_line.logic_id =  workplace->get_logic_item(CItem::gate_id)->get_id();
-                               workplace->get_logic_item(CItem::gate_id)->set_out_connected(true);
+                               tmp_line.cistern_out1 = true;
+                               //workplace->get_logic_item(CItem::gate_id)->set_out_connected(true);
                                tmp_line.store_id = ID;
                                workplace->lista_lineas_out.push_back(tmp_line);
                                workplace->queue_draw();
@@ -64,6 +65,7 @@ bool Cistern::on_button_press_event(GdkEventButton *event)
                                                workplace->get_logic_item(CItem::gate_id)->set_in_connected(true);
                                                tmp_line.logic_id =  CItem::gate_id;
                                                tmp_line.store_id = ID;
+                                               tmp_line.cistern_out1 = false;
                                                workplace->lista_lineas_out.push_back(tmp_line);
                                                workplace->queue_draw();
                                        }
index 2dccaa30858c217fb3ea5ea51c705113642220a4..6759989b06b0581ab13c4ce6386e5c5ccd495d9b 100644 (file)
@@ -113,7 +113,10 @@ bool WorkPlace::on_expose_event(GdkEventExpose *event)
                                case 3:
                                        y_offset = 15;
                        }
-                       get_item(temp.store_id)->get_out_logic_connect_position(w,z);
+                       if ( temp.cistern_out1 ) 
+                               get_item(temp.store_id)->get_in_logic_connect_position(w,z);
+                       else
+                               get_item(temp.store_id)->get_out_logic_connect_position(w,z);
                        get_logic_item(temp.logic_id)->get_in_logic_connect_position(a, b);
                        draw_line(w+item_y_offset, z+item_y_offset, a+x_offset, b+y_offset,color_out);
                        get_window()->draw_line(gc, a, b, a+x_offset, b+y_offset);
@@ -206,6 +209,8 @@ int WorkPlace::get_item_id(const std::string &_s)
        
 void WorkPlace::delete_line(int _id)
 {
+       /* LINEAS A LAS ENTRADAS DE LOS ITEMS */
+       /*      Borro la linea desde el item eliminado hasta el que este conectado */
        std::list<t_line>::iterator i = lista_lineas_in.begin();
        while ( i != lista_lineas_in.end() ){
                if (get_item( (*i).store_id ) != NULL)
@@ -216,7 +221,8 @@ void WorkPlace::delete_line(int _id)
                        }
                i++;
        }
-
+       
+       /* Borra la linea desde la compuerta eliminada hasta el item conectado a ella */
        i = lista_lineas_in.begin();
        while ( i != lista_lineas_in.end() ){
                if ( get_logic_item((*i).logic_id) != NULL)
@@ -226,7 +232,9 @@ void WorkPlace::delete_line(int _id)
                        }
                i++;
        }
-
+       
+       /* LINEAS A LAS SALIDAS DE LOS ITEMS */
+       /*      Borro la linea desde el item eliminado hasta el que este conectado */
        std::list<t_line>::iterator j = lista_lineas_out.begin();
        while ( j != lista_lineas_out.end() ){
                if ( get_item((*j).store_id) != NULL )
@@ -238,7 +246,8 @@ void WorkPlace::delete_line(int _id)
                        }
                j++;
        }       
-
+       
+       /* Borra la linea desde la compuerta eliminada hasta el item conectado a ella */
        j = lista_lineas_out.begin();
        while ( j != lista_lineas_out.end() ){
                if ( get_logic_item((*j).logic_id) != NULL )
@@ -249,6 +258,8 @@ void WorkPlace::delete_line(int _id)
                j++;
        }       
        
+       /* LINEAS ENTRE COMPUERTAS */
+       /* Borra la linea entre al compuerta eliminada y la que esta conectada a ella en su entrada */
        std::list<t_line>::iterator k = lista_lineas_logic.begin();
        while ( k != lista_lineas_logic.end() ){
                if ( get_logic_item((*k).store_id) != NULL )
@@ -260,7 +271,8 @@ void WorkPlace::delete_line(int _id)
                        }
                k++;
        }       
-
+       
+       /* Borra la linea entre al compuerta eliminada y la que esta conectada a ella en su salida*/
        k = lista_lineas_logic.begin();
        while ( k != lista_lineas_logic.end() ){
                if ( get_logic_item((*k).logic_id) != NULL )