///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:
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;
///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.
*excepto el tanque que seria derecha-izquierda.
*/
std::vector<Connector> 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;