X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/5042b6492969385725852d3cf90959abb52a7398..289cd57714db01c97f3fa7cb65efedf30114919f:/Constructor/include/item.h diff --git a/Constructor/include/item.h b/Constructor/include/item.h index 4763bcb..8ffd14e 100644 --- a/Constructor/include/item.h +++ b/Constructor/include/item.h @@ -12,9 +12,21 @@ #include "itemptywnd.h" #include "workplace.h" +/**Esta es la clase padre de todos los items que puedan aparecer + *Aca estan definidos todos los comportamientos en comun y en + *algunos casos hay funciones abstractas para que cada item defina + * su propio comportamiento. +*/ + ///Tipo de estado en el que pueden estar los conectores de un item typedef enum { UNDEF, IN, OUT } ConnectorType; +///Tipo que indica que conector de alguna compuerta esta conectado con algun item. Usado para cargar el XML. +typedef struct { + ConnectorType type; + Glib::ustring name_dest; +}t_logic_connector; + ///Clase que define un conector del item class Connector { public: @@ -95,8 +107,13 @@ public: virtual void set_default_connector(); virtual ConnectorType get_connector_type( int _a, int _b ); + /**Devuelve en _a y _b la posicion de los conectores logicos del item segun su posicion. + */ virtual void get_in_logic_connect_position(int& _a, int& _b); virtual void get_out_logic_connect_position(int& _a, int& _b); + + /**Actualiza las posiciones de los conectores ante un movimiento o rotacion del item. + */ virtual void update_logic_position(); ///Puntero al area de trabajo de la ventana principal