X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/667418327423ba116d24751926a95a2f1235849c..325f784cbf310091cb5749842a52cf7e1ad64b1b:/Constructor/include/item.h?ds=sidebyside diff --git a/Constructor/include/item.h b/Constructor/include/item.h index 34f9ecd..0045129 100644 --- a/Constructor/include/item.h +++ b/Constructor/include/item.h @@ -15,6 +15,12 @@ ///Tipo de estado en el que pueden estar los conectores de un item typedef enum { UNDEF, IN, OUT } ConnectorType; + +typedef struct { + ConnectorType type; + Glib::ustring name_dest; +}t_logic_connector; + ///Clase que define un conector del item class Connector { public: @@ -95,6 +101,10 @@ public: virtual void set_default_connector(); virtual ConnectorType get_connector_type( int _a, int _b ); + virtual void get_in_logic_connect_position(int& _a, int& _b); + virtual void get_out_logic_connect_position(int& _a, int& _b); + virtual void update_logic_position(); + ///Puntero al area de trabajo de la ventana principal WorkPlace *workplace; @@ -118,7 +128,9 @@ public: ///Indica si puede realizarse la conexion logica con una compuerta static bool logic_connect; - static int quien; + + ///Almacena el ID de la compuerta logica seleccionada + static int gate_id; /**Vector de connectores donde se mantiene la siguiente referencia: * indice 0 = "arriba/izquierda" para la exclusa, el tubo, el codo, el empalme y el tanque. @@ -131,6 +143,8 @@ public: *excepto el tanque que seria derecha-izquierda. */ std::vector connect_vec; + + void set_img_actual(int i) { imgActual = i; } protected: ///Indica el numero que le corresponde a la imagen actual del item. int imgActual;