Tengo un código que no me funciona la vdd no tengo la menor idea de que esta
pasando o que moco me estaré mandando.
Si alguien tiene ganas y paciencia y puede mirarlo, agradecería!
La cosa es asi, tengo una calse Drag_Object que tiene el comportamiento
básico para obtener un string cuando ocurre un drag en un EventBox.
En los hijos quiero redefinir la función std::string obtener_info_drag()
para que cada hijo me de un string diferente.
class Drag_Object: public Gtk::EventBox{
private:
/*Tipos de datos de drag*/
std::list<Gtk::TargetEntry> listTargets;
public:
Drag_Object(BaseObjectType* cobject, const
Glib::RefPtr<Gnome::Glade::Xml>&);
virtual void on_event_drag_data_get(
const Glib::RefPtr<Gdk::DragContext>&,
Gtk::SelectionData& selection_data, guint, guint);
/*Metodo de obtención de la información de Drag
* Se redefine en los hijos de donde se realiza el drag*/
virtual std::string obtener_info_drag() = 0;
virtual ~Drag_Object(){};
};
Drag_Object::Drag_Object(BaseObjectType* cobject, const
Glib::RefPtr<Gnome::Glade::Xml>&):Gtk::EventBox(cobject){
this->listTargets.push_back( Gtk::TargetEntry("STRING") );
this->listTargets.push_back( Gtk::TargetEntry("text/plain") );
/*Hago que el event box sea una fuente de drag*/
this->drag_source_set(listTargets);
/*Conecto la señal de drag con el metodo de obtener la
* info de drag*/
this->signal_drag_data_get().connect(sigc::mem_fun(*this,
&Drag_Object::on_event_drag_data_get));
}
void Drag_Object::on_event_drag_data_get(
const Glib::RefPtr<Gdk::DragContext>&,
Gtk::SelectionData& selection_data, guint, guint){
std::string info = this->obtener_info_drag();
std::cout<<info<<std::endl; --------------------->
// /*Obtengo la informacion de drag*/
// std::string info;// = *this->obtener_infos_drag();
//
// /*Devuelvo la informacion de drag al objeto donde se realizo el
Drop*/
// selection_data.set(selection_data.get_target(), 8 /* 8 bits format
*/,
// (const guchar*)info.c_str(),
// info.size() /* largo de la informacion */);
}
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion