*/
virtual ConnectorType get_connector_type(int _a, int _b);
- /**Los valores _a y _b se setean en el punto donde se deben conectar los cables logicos
+ /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la entrada.
*/
- virtual void get_logic_connect_position(int& _a, int& _b);
-
+ virtual void get_in_logic_connect_position(int& _a, int& _b);
+
+ /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la salida.
+ */
+ virtual void get_out_logic_connect_position(int& _a, int& _b);
+
+ /**Actualiza la posicion de los conectores logicos ante un movimiento.
+ */
+ virtual void update_logic_position();
+
+ /**Detecta si el click fue en el area de entrada o salida logica, devuelve UNDEF si no fue ninguna de las dos
+ */
+ ConnectorType detect_click_position(int _a, int _b);
+
/**Funciones para obtener y setear sus propiedades
*/
void set_estado(bool _state);
bool get_estado();
- private:
+ protected:
+ /**Coordenadas de las entrada y salida logica.
+ */
+ int in_x, in_y, out_x, out_y;
/**Imagenes en sus 2 posiciones
*/
Glib::RefPtr<Gdk::Pixbuf> imageN; // 0