///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);
*/
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<CItem *> *listaItems;
std::vector<Connector> connect_vec;
void set_img_actual(int i) { imgActual = i; }
+
+ ///Puntero al cuadro de texo de la ventana principal.
+ std::list<Glib::ustring> *list_pointed;
protected:
///Indica el numero que le corresponde a la imagen actual del item.
int imgActual;
///Numero "unico" que identifica al item.
int ID;
+ Glib::RefPtr<Gdk::GC> gc;
+
+ Gdk::Color blue, red;
+
///Nombre del item
Glib::ustring name;
///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