X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/1b3ce862233afeab55b686b6f5033d62fc792365..dafb509182bac9b314202fe7dfaf58206da5ccbe:/Constructor/include/item.h?ds=sidebyside diff --git a/Constructor/include/item.h b/Constructor/include/item.h index 8ffd14e..845bd64 100644 --- a/Constructor/include/item.h +++ b/Constructor/include/item.h @@ -54,6 +54,9 @@ public: ///Destructor virtual ~CItem(); + + virtual void on_realize(); + ///Dibuja el item cada vez que este evento es llamado por la ventana que lo contiene. virtual bool on_expose_event(GdkEventExpose* event); @@ -116,11 +119,25 @@ 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); + + /**Dibuja los conectores logicos del Item, AZUL == ENTRADA, ROJO == SALIDA. + */ + 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; @@ -156,6 +173,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; @@ -163,6 +183,10 @@ protected: ///Numero "unico" que identifica al item. int ID; + Glib::RefPtr gc; + + Gdk::Color blue, red; + ///Nombre del item Glib::ustring name; @@ -183,9 +207,12 @@ protected: ///Puntero a la ventana de propiedades del item ItemPtyWnd *property_wnd; - + ///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