]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Constructor/include/cistern.h
- Se agrega el metodo Model::Simulator::set_open() para abrir y cerrar bombas y
[z.facultad/75.42/plaqui.git] / Constructor / include / cistern.h
1 #ifndef _CISTERN_H_
2 #define _CISTERN_H_
3
4 #include <iostream>
5 #include "item.h"
6
7 class CisternPtyWnd;
8
9 class Cistern : public CItem {
10         public:
11                 /**Constructor
12                 */
13                 Cistern(int orientacion=0);
14                 /**Destructor
15                 */
16                 virtual ~Cistern();
17                 /**Redefiniciones de las funciones de CItem
18                 */
19                 virtual bool on_button_press_event(GdkEventButton *event);
20                 virtual void on_menu_popup_rotar();
21                 virtual void on_menu_popup_propiedades();
22                 
23                 /** Funciones para obtener y setear los atributos del Tanque
24                 */
25                 void set_capacidad(double _cap);
26                 void set_contenido_inicial(double _ini);
27                 void set_liquid_color(Gdk::Color _color);
28                 double get_contenido_inicial();
29                 double get_capacidad();
30                 Gdk::Color get_liquid_color();
31                 /**El item se guarda en formato xml en el archivo pasado por parametro
32                 */
33                 virtual void save(FILE *archivo);
34                 /**Verifica si en sus conectores hay alguien conectado, y que tipo de conexion tiene para ver si es compatible con El. 
35                 */
36                 virtual bool check_connection();
37                 /**Pone sus conectores por defecto
38                 */
39                 virtual void set_default_connector();
40                 /**Devuelve el tipo de conector que posee en las coordenadas (_a, _b) segun su orientacion
41                 */
42                 virtual ConnectorType get_connector_type(int _a, int _b);       
43                 
44                 /**Setea las coordenadas _a, _b en la posicion donde se deben conectar los cables logicos.
45                 */
46                 virtual void get_logic_connect_position(int& _a, int& _b);
47         protected:
48                 /**Atributos que definen su comportamiento
49                 */
50                 double capacidad, contenido_inicial;
51                 /**Color del liquido almacenado
52                 */
53                 Gdk::Color liquid_color;
54                 /**Imagenes en sus 2 posiciones
55                 */
56                 Glib::RefPtr<Gdk::Pixbuf> imageE; // 0 
57                 Glib::RefPtr<Gdk::Pixbuf> imageO; // 1
58                 Glib::RefPtr<Gdk::Pixbuf> null; 
59                 /**Puntero a la ventana de propiedades
60                 */
61                 CisternPtyWnd *cistern_pty_wnd;
62 };
63 #endif