#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:
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