9 class Pump : public CItem {
12 Pump(int orientacion=0);
15 ///Funciones redefinidas de CItem
16 virtual bool on_button_press_event(GdkEventButton *event);
17 virtual void on_menu_popup_rotar();
18 virtual void on_menu_popup_propiedades();
19 ///Funciones para obtener y setear los atributos
20 void set_entrega(double _cap);
21 void set_liquid_color(Gdk::Color _color);
23 Gdk::Color get_liquid_color();
24 ///El item se guarda en formato xml en el archivo pasado por parametro
25 virtual void save(FILE *archivo);
26 ///Verifica sus conectores, evaluando si son compatibles con los del item conectado
27 virtual bool check_connection();
28 ///Pone sus conectores en el valor por defecto
29 virtual void set_default_connector();
30 ///Devuelve el tipo de conector que posee en las coordenadas (_a,_b) segun su orientacion
31 virtual ConnectorType get_connector_type(int _a, int _b);
32 ///Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos.
33 virtual void get_in_logic_connect_position(int& _a, int& _b);
34 ///Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos.
35 virtual void get_out_logic_connect_position(int& _a, int& _b);
36 ///Actualiza la posicion de los conectores logicos ante un movimiento.
37 virtual void update_logic_position();
38 ///Detecta si el click fue en el area de entrada o salida logica, devuelve UNDEF si no fue ninguna de las dos
39 ConnectorType detect_click_position(int _a, int _b);
41 ///Indica la maxima capacidad de entrega de la bomba
43 /// Indica el color del liquido que entrega
44 Gdk::Color liquid_color;
45 /// Imagenes en sus 2 posiciones
46 Glib::RefPtr<Gdk::Pixbuf> imageE; // 0
47 Glib::RefPtr<Gdk::Pixbuf> imageO; // 1
48 Glib::RefPtr<Gdk::Pixbuf> null;
49 ///Puntero a la ventana de propiedades
50 PumpPtyWnd *pump_pty_wnd;