X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/7353f36b6d2eca998f2cb2ca561219b3979ff167..d28e70425d07b46f732db220f83d6c0826c90a88:/Client/include/item.h?ds=sidebyside

diff --git a/Client/include/item.h b/Client/include/item.h
index 341039d..62f1b66 100644
--- a/Client/include/item.h
+++ b/Client/include/item.h
@@ -2,24 +2,60 @@
 #define _ITEM_H_
 
 #include <iostream>
+#include <list>
 #include <gtkmm/drawingarea.h>
 #include <gtkmm.h>
 #include <gdkmm.h>
 #include <libglademm.h>
 #include <gtkmm/entry.h>
 
-class Item:public Gtk::DrawingArea {
+/** Estructura para guardar las lineas de conexión */
+typedef struct {
+	std::string dst;		///< Destino de la línea
+	bool is_tank;				///< Define si es un tanque
+	bool is_tank_lower;	///< Define si esta conectado abajo
+} t_Linea;
+
+class ViewItem:public Gtk::EventBox {
 public:
-	Item(Glib::ustring _name);
-	virtual ~Item();
-	virtual bool on_expose_event(GdkEventExpose* event);
-	Glib::ustring get_name();
+	ViewItem(Glib::ustring _name);
+	virtual ~ViewItem();
+	
+	virtual bool on_image_expose_event(GdkEventExpose *e);
+	virtual void on_realize();
+	inline Glib::ustring get_name() { return name; }
 	void set_position(int _x, int _y);
 	void set_name(Glib::ustring _name);
+	inline bool get_open() { return open; }
+	inline void set_actual_flow(float f) { actual_flow = f; }
+	inline void set_open(bool b) { open = b; }
+	inline void set_extra(float f) { extra = f; }
+	inline void set_color(const Gdk::Color &c) { color = c; }
+	inline Gdk::Color get_color() { return color; }
+	
+	std::string get_actual_flow();
+	virtual std::string get_cap_flow() { return "Flujo Actual :"; }
+	virtual std::string get_cap_extra() { return ""; }
+	virtual std::string get_extra() { return ""; }
+
+	std::list<t_Linea> out_lines; // lineas que salen de una compuerta
+	std::list<t_Linea> in_lines; // lineas que entran a una compuerta
+
+	// Coordenadas para los conectores
+	int x,y;
+	int in_x, in_y;
+	int out_x, out_y;
+	int offset_x, offset_y;
+	int item_offset_x, item_offset_y;
 protected:
 	Glib::ustring name;
-	Glib::RefPtr<Gdk::Pixbuf> image;
-	int x, y;
+	Gtk::Image image;
+	Gdk::Color color;
+	Glib::RefPtr<Gdk::GC> gc;
+	int m_or;
+	float actual_flow, extra;
+	bool open;
 };
 
 #endif
+