[Gambas-user] Problems with some events

Benoit Minisini gambas at ...1...
Thu Nov 1 22:13:10 CET 2007


On jeudi 1 novembre 2007, Benoit Minisini wrote:
> On mercredi 31 octobre 2007, José Luis Redrejo wrote:
> > So,  how could I get the information of a dropped file over a FileView
> > control?
> > That's a very typical use of a "FileView" in an application: dragging and
> > dropping files from Nautilus o Konqueror to add files to a directory.
> >
> > Now it's possible to do it with gtk, but reading your answer I guess
> > you're going to modify it to behave as in qt, where these events can not
> > be reached.
> >
> > Regards.
>
> You must add this feature directly to the FileView control, by modifying
> its source code.
>
> Or you can inherits FileView, try to find its child IconView / ListView
> (not too difficult, use FileView.Children[0]) , and use the Observer class
> to catch Drag & Drop events sent to them.
>
> --8<-----------------------------------------------------------------
> 'CLASS MyFileView
>
> INHERITS FileView
>
> PRIVATE $hObserver AS Observer
>
> PUBLIC SUB _new()
>
>   $hObserver = NEW Observer(ME.Children[0]) AS "TheIconView"
>
> END
>
> PUBLIC SUB TheIconView_Drop()
>
>   PRINT Drag.Data
>
> END
> --8<-----------------------------------------------------------------
>
> You have more work if you want to now which icon was specifically hit by
> the drop.
>
> Note that at the moment, gb.gtk IconView cannot returns the needed
> (X,Y,W,H) coordinates of an icon. I didn't find how to do that in GTK+,
> whereas the API allows that for TreeView items.
>
> Regards,

...But hopefully you just have to use the IconView.Find() function that works!

Regards,

-- 
Benoit Minisini




More information about the User mailing list