In this previous post, Greg suggested we use the code below as an
example to add to the test directory illustrating DnD support.
I think that's a good idea actually - is it too late?
On 3 Mar 2007, at 17:39, Greg Ercolano wrote:
> Greg Ercolano wrote:
> Your app makes a good simple example of DND.
> FLTK doesn't seem to have a good one in its test apps.
>
> I cleaned up a few things in yours, made a few changes to the
> event handlers to make sure it worked on all platforms.
>
> Here's the revised code that would probably make a good
> DND example for the FLTK test directory.
>
> ---- snip
> #include <stdio.h>
> #include <FL/Fl.h>
> #include <FL/Fl_Window.h>
> #include <FL/Fl_Box.h>
>
> class Sender : public Fl_Box {
> public:
> Sender(int x,int y,int w,int h) : Fl_Box(x,y,w,h) {
> box(FL_FLAT_BOX); color(9); label("Drag from here");
> }
> int handle(int event) {
> int ret = Fl_Box::handle(event);
> switch ( event ) {
> case FL_PUSH:
> Fl::copy("message",7,0);
> Fl::dnd();
> return(1);
> }
> return(ret);
> }
> };
>
> class Receiver : public Fl_Box {
> public:
> Receiver(int x,int y,int w,int h) : Fl_Box(x,y,w,h) {
> box(FL_FLAT_BOX); color(10); label("to here");
> }
> int handle(int event) {
> int ret = Fl_Box::handle(event);
> switch ( event ) {
> case FL_DND_ENTER:
> case FL_DND_DRAG:
> case FL_DND_RELEASE:
> return(1);
> case FL_PASTE:
> label(Fl::event_text());
> fprintf(stderr, "PASTE: %s\n", Fl::event_text());
> return(1);
> }
> return(ret);
> }
> };
> //
> // Demonstrate DND (drag+drop) from red sender to green receiver
> //
> int main(int argc, char **argv) {
> Fl_Window win_a(0,0,200,100,"Sender");
> Sender a(0,0,100,100);
> win_a.end();
> win_a.show();
> Fl_Window win_b(400,0,200,100,"Receiver");
> Receiver b(100,0,100,100);
> win_b.end();
> win_b.show();
> return(Fl::run());
> }
> ---- snip
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk