]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/include/and.h
Se agrega diagrama de clases del modelo.
[z.facultad/75.42/plaqui.git] / Constructor / include / and.h
index 4ab0f1738d11dfca48b1d1cf8a16099ceafde720..a6354df86fe3485bd5c26f1630a5cec6eb01b64a 100644 (file)
@@ -5,13 +5,55 @@
 
 class And : public CItem {
        public:
 
 class And : public CItem {
        public:
-               And();
+               ///Constructor. Se puede definir la orientacion de la imagen de la compuerta.
+               And(int orientacion=0);
+               
+               ///Destructor.
                virtual ~And();
                virtual ~And();
+       
+               ///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);
+               
+               ///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:
        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
                Glib::RefPtr<Gdk::Pixbuf> imageN; // 0 
                Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
                Glib::RefPtr<Gdk::Pixbuf> imageE; // 2