]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/constructor.cpp
no me compila la linea en el cpp donde quiero conectar la senial (por que no anda...
[z.facultad/75.42/plaqui.git] / Constructor / constructor.cpp
index fe4b3636817e86e653bbe4805e0b6d239cfa9209..a6c418e76844fb7434c7c100e35880615dd25543 100644 (file)
@@ -15,6 +15,7 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glad
        refGlade->get_widget("btn_codo", btn_codo);
        refGlade->get_widget("btn_y", btn_y);
        refGlade->get_widget("btn_tanque",btn_tanque);
+       refGlade->get_widget("main_menu_quit",main_menu_quit);
        
        refGlade->get_widget_derived("workplace", workplace);  //fixed
        
@@ -35,6 +36,9 @@ Constructor::Constructor(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glad
        btn_y->signal_drag_data_get().connect( SigC::slot(*this, &Constructor::on_btn_y_drag_get));
        btn_codo->signal_drag_data_get().connect( SigC::slot(*this, &Constructor::on_btn_codo_drag_get));
        btn_tanque->signal_drag_data_get().connect( SigC::slot(*this, &Constructor::on_btn_tanque_drag_get));
+       
+       //main_menu_quit->signal_activate().connect(SigC::slot(*this, &Constructor::on_main_menu_quit));
+       
        // Señales para cambiar el icono cuando empieza el drag.
        btn_canio->signal_drag_begin().connect( SigC::slot(*this, &Constructor::on_canio_drag_begin));
        btn_y->signal_drag_begin().connect( SigC::slot(*this, &Constructor::on_y_drag_begin));
@@ -69,6 +73,11 @@ void Constructor::on_btn_tanque_drag_get(const Glib::RefPtr<Gdk::DragContext>& c
        gtk_selection_data_set(selection_data, selection_data->target, 8,(const guchar*)"item_tanque.png",15);
 }
 
+void Constructor::on_main_menu_quit(const Glib::RefPtr<Gdk::DragContext>& context, GtkSelectionData* selection_data, guint info, guint time)
+{
+       Gtk::Main::quit();
+}
+
 void Constructor::on_canio_drag_begin(const Glib::RefPtr<Gdk::DragContext>& context)
 {
        context->set_icon(ico_canio, 5, 5); 
@@ -117,14 +126,16 @@ void Constructor::on_item_drop_drag_received(const Glib::RefPtr<Gdk::DragContext
   {
        CItem *a;
        if (strcmp((const char *)selection_data->data, "item_codo.png")==0) 
-               a = Gtk::manage( new Codo() );
+               a = Gtk::manage( new Splitter() );
        else    if (strcmp((const char *)selection_data->data, "item_canio.png")==0) 
-                               a = Gtk::manage( new Canio() );
-                       else if (strcmp((const char *)selection_data->data, "item_y.png")==0) {
-                                               a = Gtk::manage( new Y() );
-                                       } else {
-                                                       a = Gtk::manage( new CItem((const char *)selection_data->data) );
-                                               }
+                               a = Gtk::manage( new Conduct() );
+                       else if (strcmp((const char *)selection_data->data, "item_y.png")==0) 
+                                               a = Gtk::manage( new Union() );
+                                       else if (strcmp((const char *)selection_data->data, "item_tanque.png")==0) 
+                                                               a = Gtk::manage( new Cistern() );
+                                                       else
+                                                               a = Gtk::manage( new CItem((const char *)selection_data->data) );
+                                               
                workplace->put(*a, i*32, j*32);
                // Seteo la lista de tipos de drags 
                a->drag_source_set(listTargets);