]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Client/include/item.h
* Se modifica el modelo para que el tanque mando en el XML el estado logico de sus...
[z.facultad/75.42/plaqui.git] / Client / include / item.h
1 #ifndef _ITEM_H_
2 #define _ITEM_H_
3
4 #include <iostream>
5 #include <list>
6 #include <gtkmm/drawingarea.h>
7 #include <gtkmm.h>
8 #include <gdkmm.h>
9 #include <libglademm.h>
10 #include <gtkmm/entry.h>
11
12 /** Estructura para guardar las lineas de conexión */
13 typedef struct {
14         std::string dst;                ///< Destino de la línea
15         bool is_tank;                           ///< Define si es un tanque
16         bool is_tank_lower;     ///< Define si esta conectado abajo
17 } t_Linea;
18
19 class ViewItem:public Gtk::EventBox {
20 public:
21         ViewItem(Glib::ustring _name);
22         virtual ~ViewItem();
23         
24         virtual bool on_image_expose_event(GdkEventExpose *e);
25         virtual void on_realize();
26         inline Glib::ustring get_name() { return name; }
27         void set_position(int _x, int _y);
28         void set_name(Glib::ustring _name);
29         inline bool get_open() { return open; }
30         inline void set_actual_flow(float f) { actual_flow = f; }
31         inline void set_open(bool b) { open = b; }
32         inline void set_extra(float f) { extra = f; }
33         inline void set_color(const Gdk::Color &c) { color = c; }
34         inline Gdk::Color get_color() { return color; }
35         
36         std::string get_actual_flow();
37         virtual std::string get_cap_flow() { return "Flujo Actual :"; }
38         virtual std::string get_cap_extra() { return ""; }
39         virtual std::string get_extra() { return ""; }
40
41         std::list<t_Linea> out_lines; // lineas que salen de una compuerta
42         std::list<t_Linea> in_lines; // lineas que entran a una compuerta
43
44         // Coordenadas para los conectores
45         int x,y;
46         int in_x, in_y;
47         int out_x, out_y;
48         int offset_x, offset_y;
49         int item_offset_x, item_offset_y;
50 protected:
51         Glib::ustring name;
52         Gtk::Image image;
53         Gdk::Color color;
54         Glib::RefPtr<Gdk::GC> gc;
55         int m_or;
56         float actual_flow, extra;
57         bool open;
58 };
59
60 #endif
61