#include "item.h"
-#include "workplace.h"
+
+bool CItem:: logic_connect = false;
+int CItem::quien = -1;
+
CItem::CItem(const char *filename):Gtk::DrawingArea()
{
caudal_max = 0.0;
is_union = true;
is_connected = false;
+ is_logic =false;
property_wnd->item = this;
menu_image_propiedades.set(Gtk::Stock::PREFERENCES, Gtk::ICON_SIZE_MENU);
menu_image_delete.set(Gtk::Stock::CANCEL, Gtk::ICON_SIZE_MENU);
menu_image_rotar.set(Gtk::Stock::REFRESH, Gtk::ICON_SIZE_MENU);
menu_image_linea.set(Gtk::Stock::CONVERT, Gtk::ICON_SIZE_MENU);
- Gtk::Menu::MenuList& menulist = menu_popup.items();
+ menulist = menu_popup.items();
menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Propiedades",menu_image_propiedades, SigC::slot(*this, &CItem::on_menu_popup_propiedades) ) );
menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Rotar", menu_image_rotar ,SigC::slot(*this, &CItem::on_menu_popup_rotar) ) );
menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Eliminar", menu_image_delete,SigC::slot(*this, &CItem::on_menu_popup_eliminar) ) ) ;
- menulist.push_back( Gtk::Menu_Helpers::ImageMenuElem("Conectar", menu_image_linea,SigC::slot(*this, &CItem::on_menu_popup_conectar) ) ) ;
menu_popup.accelerate(*this);
}
return name;
}
+Glib::ustring CItem::get_other_name(int _id)
+{
+ std::list<CItem *>::iterator i = listaItems->begin();
+ while ( i != listaItems->end() ) {
+ if ( (*i)->get_id() == _id )
+ return (*i)->get_name();
+ i++;
+ }
+ return name;
+}
+
int CItem::get_img_actual()
{
return imgActual;
else return false;
}
-ConnectorType CItem::is_other_connection_area(int _a, int _b)
+ConnectorType CItem::is_other_connection_area(int _a, int _b, CItem **_item)
{
ConnectorType temp2;
std::list<CItem *>::iterator i = listaItems->begin();
while ( i != listaItems->end() ) {
CItem *temp = *i;
if (temp != this)
- if ( (temp2 = temp->get_connector_type(_a,_b)) != UNDEF )
+ if ( (temp2 = temp->get_connector_type(_a,_b)) != UNDEF ) {
+ *_item = temp;
return temp2;
+ }
i++;
}
return UNDEF;