X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/ed55685399f3dd28a22f229c9f384facbed4d48d..de760c05d707d0b239f4fc09cb1dba2c13a18b45:/Constructor/include/item.h diff --git a/Constructor/include/item.h b/Constructor/include/item.h index 9a9ecfc..b1778b2 100644 --- a/Constructor/include/item.h +++ b/Constructor/include/item.h @@ -25,6 +25,7 @@ typedef enum { UNDEF, IN, OUT } ConnectorType; typedef struct { ConnectorType type; Glib::ustring name_dest; + int cistern_connector; }t_logic_connector; ///Clase que define un conector del item @@ -68,9 +69,6 @@ public: ///Elimina el Item al seleccionarse la opcion en el menu flotante virtual void on_menu_popup_eliminar(); - - ///TODO: conectar los items con lineas!!! - virtual void on_menu_popup_conectar(); ///Retorna un puntero a la imagen actual. Glib::RefPtr get_image() { return image; } @@ -119,11 +117,26 @@ public: */ virtual void update_logic_position(); + /**Funciones para no permitir mas de una conexion a la salida de las compuertas. + *En el caso de la compuerta NOT, tampoco puede tener mas de una conexion + *a la entrada. + */ + virtual void set_out_connected(bool _o); + virtual void set_in_connected(bool _o); + + virtual bool get_out_logic_connect(); + /**Dibuja los conectores logicos del Item, AZUL == SALIDA, ROJO == ENTRADA. + */ + virtual void draw_connectors(); + ///Puntero al area de trabajo de la ventana principal WorkPlace *workplace; ///Puntero al cuadro de texto de la ventana principal - Gtk::Entry *combo_entry; + Gtk::Combo *combo_entry; + + ///Puntero a la barra de estado + Gtk::Statusbar *status_bar; ///Puntero a la lista de items std::list *listaItems; @@ -159,6 +172,9 @@ public: std::vector connect_vec; void set_img_actual(int i) { imgActual = i; } + + ///Puntero al cuadro de texo de la ventana principal. + std::list *list_pointed; protected: ///Indica el numero que le corresponde a la imagen actual del item. int imgActual; @@ -168,6 +184,8 @@ protected: Glib::RefPtr gc; + Gdk::Color blue, red; + ///Nombre del item Glib::ustring name; @@ -189,10 +207,11 @@ protected: ///Puntero a la ventana de propiedades del item ItemPtyWnd *property_wnd; - Gdk::Color blue, red; - ///Posicion del item en el area de trabajo int x, y; + + ///Posicion de los conectores logicos. + int in_x, in_y, out_x, out_y; }; #endif