X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/5b8bbc5a3c2db31a69a637f0e35e8435ad4d8ff3..796708eefb056b936274da15c7af2c7d709c9249:/Constructor/item.h diff --git a/Constructor/item.h b/Constructor/item.h index 87ddb01..34f9ecd 100644 --- a/Constructor/item.h +++ b/Constructor/item.h @@ -10,6 +10,7 @@ #include #include #include "itemptywnd.h" +#include "workplace.h" ///Tipo de estado en el que pueden estar los conectores de un item typedef enum { UNDEF, IN, OUT } ConnectorType; @@ -29,7 +30,7 @@ class Connector { } }; -class WorkPlace; +//class WorkPlace; class CItem:public Gtk::DrawingArea { public: @@ -103,12 +104,22 @@ public: ///Puntero a la lista de items std::list *listaItems; + ///Puntero a la lista de Items logicos + std::list *lista_logic_Items; + ///TODO poner esto en Union y crear una ventana nueva de propiedades bool is_union; ///indica si el item ya esta conectado con sus conectores bien definidos bool is_connected; + ///Indica si es una compuerta logica + bool is_logic; + + ///Indica si puede realizarse la conexion logica con una compuerta + static bool logic_connect; + static int quien; + /**Vector de connectores donde se mantiene la siguiente referencia: * indice 0 = "arriba/izquierda" para la exclusa, el tubo, el codo, el empalme y el tanque. * "derecha" para la bomba. @@ -123,22 +134,31 @@ public: protected: ///Indica el numero que le corresponde a la imagen actual del item. int imgActual; + ///Numero "unico" que identifica al item. int ID; + ///Nombre del item Glib::ustring name; + ///Caudal maximo que puede contener un item. double caudal_max; + ///Menu flotante del item Gtk::Menu menu_popup; + ///Lista de opciones del menu flotante Gtk::Menu::MenuList menulist; + ///Imagenes del menu flotante Gtk::Image menu_image_delete, menu_image_rotar, menu_image_propiedades, menu_image_linea; + ///Puntero a la imagen del item Glib::RefPtr image; + ///Puntero a la ventana de propiedades del item ItemPtyWnd *property_wnd; + ///Posicion del item en el area de trabajo int x, y; };