8 class Exclusa : public CItem {
12 Exclusa(int orientacion=0);
16 /**Funciones redefinidas de CItem
18 virtual bool on_button_press_event(GdkEventButton *event);
19 virtual void on_menu_popup_rotar();
20 virtual void on_menu_popup_propiedades();
21 /**El item se guarda en formato xml en el archivo pasado por parametro
23 virtual void save(FILE *archivo);
24 /**Verifica sus conectores, y pregunta en sus extremos para saber como setearse.
26 virtual bool check_connection();
27 /**Pone sus conectores por defecto
29 virtual void set_default_connector();
30 /**Devuelve el tipo de conector que posee en las coordenadas (_a, _b) segun su orientacion
32 virtual ConnectorType get_connector_type(int _a, int _b);
34 /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la entrada.
36 virtual void get_in_logic_connect_position(int& _a, int& _b);
38 /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos a la salida.
40 virtual void get_out_logic_connect_position(int& _a, int& _b);
42 /**Actualiza la posicion de los conectores logicos ante un movimiento.
44 virtual void update_logic_position();
46 /**Detecta si el click fue en el area de entrada o salida logica, devuelve UNDEF si no fue ninguna de las dos
48 ConnectorType detect_click_position(int _a, int _b);
50 /**Funciones para obtener y setear sus propiedades
52 void set_estado(bool _state);
55 /**Coordenadas de las entrada y salida logica.
57 int in_x, in_y, out_x, out_y;
58 /**Imagenes en sus 2 posiciones
60 Glib::RefPtr<Gdk::Pixbuf> imageN; // 0
61 Glib::RefPtr<Gdk::Pixbuf> imageS; // 1
62 Glib::RefPtr<Gdk::Pixbuf> null;
63 /**Puntero a la ventana de propiedades
65 ExclusaPtyWnd *exclusa_pty_wnd;
66 /** Abierto = true, Cerrado = false.