+
+ i = lista_lineas_in.begin();
+ while ( i != lista_lineas_in.end() ){
+ if ( get_logic_item((*i).logic_id) != NULL)
+ if ( get_logic_item((*i).logic_id)->get_id() == _id) {
+ lista_lineas_in.erase(i);
+ i = lista_lineas_in.begin();
+ }
+ i++;
+ }
+
+ std::list<t_line>::iterator j = lista_lineas_out.begin();
+ while ( j != lista_lineas_out.end() ){
+ if ( get_item((*j).store_id) != NULL )
+ if ( get_item((*j).store_id)->get_id() == _id ) {
+ lista_lineas_out.erase(j);
+ j = lista_lineas_out.begin();
+ }
+ j++;
+ }
+
+ j = lista_lineas_out.begin();
+ while ( j != lista_lineas_out.end() ){
+ if ( get_logic_item((*j).logic_id) != NULL )
+ if ( get_logic_item((*j).logic_id)->get_id() == _id ) {
+ lista_lineas_out.erase(j);
+ j = lista_lineas_out.begin();
+ }
+ j++;
+ }
+}
+
+void WorkPlace::update_logic_position()
+{
+ std::list<CItem*>::iterator i = listaItems->begin();
+ while ( i != listaItems->end() ){
+ (*i)->update_logic_position();
+ i++;
+ }
+ i = lista_logic_Items->begin();
+ while ( i != lista_logic_Items->end() ){
+ (*i)->update_logic_position();
+ i++;
+ }
+}
+
+void WorkPlace::draw_line(int x1, int y1, int x2, int y2)
+{
+ get_window()->draw_line (get_style()->get_black_gc(), x1, y1, x1, y2);
+ get_window()->draw_line (get_style()->get_black_gc(), x1, y2, x2, y2);