X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/e963d0f06ef9f5002bd3083cea62e7590323623f..6983220ff84632481c1628720fe15b8f3ac1c9cb:/Constructor/cistern.h?ds=inline diff --git a/Constructor/cistern.h b/Constructor/cistern.h index bad3ff1..84ddc20 100644 --- a/Constructor/cistern.h +++ b/Constructor/cistern.h @@ -1,21 +1,59 @@ -// cistern.h #ifndef _CISTERN_H_ #define _CISTERN_H_ +#include #include "item.h" +class CisternPtyWnd; + class Cistern : public CItem { public: + /**Constructor + */ Cistern(); + /**Destructor + */ virtual ~Cistern(); + /**Redefiniciones de las funciones de CItem + */ virtual bool on_button_press_event(GdkEventButton *event); virtual void on_menu_popup_rotar(); virtual void on_menu_popup_propiedades(); - private: - int imgActual; - + + /** Funciones para obtener y setear los atributos del Tanque + */ + void set_capacidad(double _cap); + void set_contenido_inicial(double _ini); + void set_liquid_color(Gdk::Color _color); + double get_contenido_inicial(); + double get_capacidad(); + Gdk::Color get_liquid_color(); + /**El item se guarda en formato xml en el archivo pasado por parametro + */ + virtual void save(FILE *archivo); + /**Verifica si en sus conectores hay alguien conectado, y que tipo de conexion tiene para ver si es compatible con El. + */ + virtual bool check_connection(); + /**Pone sus conectores por defecto + */ + virtual void set_default_connector(); + /**Devuelve el tipo de conector que posee en las coordenadas (_a, _b) segun su orientacion + */ + virtual ConnectorType get_connector_type(int _a, int _b); + protected: + /**Atributos que definen su comportamiento + */ + double capacidad, contenido_inicial; + /**Color del liquido almacenado + */ + Gdk::Color liquid_color; + /**Imagenes en sus 2 posiciones + */ Glib::RefPtr imageE; // 0 Glib::RefPtr imageO; // 1 Glib::RefPtr null; + /**Puntero a la ventana de propiedades + */ + CisternPtyWnd *cistern_pty_wnd; }; #endif