X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/e752c10ce2c082a8654b2abd68b2cf442275cdcd..6983220ff84632481c1628720fe15b8f3ac1c9cb:/Constructor/workplace.cpp diff --git a/Constructor/workplace.cpp b/Constructor/workplace.cpp index 3baa408..e1fa47d 100644 --- a/Constructor/workplace.cpp +++ b/Constructor/workplace.cpp @@ -1,9 +1,8 @@ #include "workplace.h" +#include "item.h" WorkPlace::WorkPlace( BaseObjectType* cobject, const Glib::RefPtr &refGlade):Gtk::Fixed(cobject) { - refGlade->get_widget_derived("viewport",viewport); - this->signal_button_press_event().connect(SigC::slot(*this,&WorkPlace::on_button_press_event)); } WorkPlace::~WorkPlace() @@ -21,28 +20,12 @@ bool WorkPlace::on_expose_event(GdkEventExpose *event) get_window()->draw_point (get_style()->get_black_gc(), x+1,y); get_window()->draw_point (get_style()->get_black_gc(), x-1,y); } - //TODO recorer la lista_lineas y dibujar todas - get_window()->draw_line (get_style()->get_black_gc(), temp.x,temp.y,temp.w,temp.z); - return true; -} - - -bool WorkPlace::on_button_press_event(GdkEventButton *event) -{ - std::cout<< temp.x<<" "<type == GDK_BUTTON_PRESS) && (event->button == 1) ) { - get_pointer(temp.x,temp.y); - std::cout<< temp.x<<" "<type == GDK_BUTTON_PRESS) && (event->button == 1) ) { - get_pointer(temp.w,temp.z); - lista_lineas.push_back(temp); - get_window()->draw_line (get_style()->get_black_gc(), temp.x,temp.y,temp.w,temp.z); + + std::list::iterator i = lista_lineas.begin(); + while ( i != lista_lineas.end() ) { + t_line temp = *i; + get_window()->draw_line (get_style()->get_black_gc(), temp.logic->get_position_x(),temp.logic->get_position_y(), temp.store->get_position_x(),temp.store->get_position_y()); + i++; } return true; } @@ -60,3 +43,15 @@ void WorkPlace::delete_item(int _id) i++; } } + +CItem* WorkPlace::get_logic_item(int _id) +{ + std::list::iterator i = lista_logic_Items->begin(); + while ( i != lista_logic_Items->end() ){ + CItem *temp = *i; + if ( temp->get_id() == _id ) + return temp; + i++; + } + return NULL; +}