]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Constructor/include/cistern.h
Se ponen flags del compilador para libxml2 con pkg-config.
[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         protected:
44                 /**Atributos que definen su comportamiento
45                 */
46                 double capacidad, contenido_inicial;
47                 /**Color del liquido almacenado
48                 */
49                 Gdk::Color liquid_color;
50                 /**Imagenes en sus 2 posiciones
51                 */
52                 Glib::RefPtr<Gdk::Pixbuf> imageE; // 0 
53                 Glib::RefPtr<Gdk::Pixbuf> imageO; // 1
54                 Glib::RefPtr<Gdk::Pixbuf> null; 
55                 /**Puntero a la ventana de propiedades
56                 */
57                 CisternPtyWnd *cistern_pty_wnd;
58 };
59 #endif