]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/include/not.h
Se agrega diagrama de clases del modelo.
[z.facultad/75.42/plaqui.git] / Constructor / include / not.h
index 783cd901465d32bd90349a79d49e9efd1f955955..ee1efcf995955a1cbb8cb00ab1c564d14e26e966 100644 (file)
@@ -2,23 +2,62 @@
 #define _NOT_H_
 
 #include "item.h"
 #define _NOT_H_
 
 #include "item.h"
+/** Clase que implementa la compuerta logica NOT.
+*/     
 
 class Not : public CItem {
        public:
 
 class Not : public CItem {
        public:
-               Not();
+               ///Constructor. Se puede definir la orientacion de la imagen de la compuerta.
+               Not(int orientacion=0);
+       
+               ///Destructor.
                virtual ~Not();
                virtual ~Not();
+       
+               ///Evento invocado al presionar un boton del mouse.
                virtual bool on_button_press_event(GdkEventButton *event);
                virtual bool on_button_press_event(GdkEventButton *event);
+       
+               ///Rota la imagen 90 grados en sentido horario
                virtual void on_menu_popup_rotar();
                virtual void on_menu_popup_rotar();
+       
+               ///La compuerta guarda su estado en el archivo en formato XML.
                virtual void save(FILE *archivo);
                virtual void save(FILE *archivo);
+       
+               ///Verifica con quien esta conectada.
                virtual bool check_connection();
                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);
                virtual ConnectorType detect_click_position(int _a, int _b);
+       
+               ///Actualiza las posiciones de los conectores logicos ante una rotacion.
                virtual void update_logic_position();
                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);
                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);  
                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);
+               
+               ///Dibuja los conectores logicos segun su orientacion.
+               virtual void draw_connectors();
        private:
        private:
+               ///posiciones de los conectores logicos.
                int in_x, in_y, out_x, out_y;
                int in_x, in_y, out_x, out_y;
-               int cant_connections;
+       
+               ///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;
                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
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 2