Re: [fltk.opengl] How to enable Drag n Drop on OpenGL window ?

2013-02-22 Thread Albrecht Schlosser
On 18.02.2013 12:17, Furqan wrote:

 ... File only accepted when drop over the Fl_Double_Window.

 Here is my code..

 MainWindow-begin(); // Fl_Double_Window

 DnDReceiver b(0,0,WINDOW_SIZE_W, WINDOW_SIZE_H); // Drag n Drop Box

 glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_ACCUM | 
 GLUT_ALPHA | GLUT_STENCIL | GLUT_MULTISAMPLE);
 GLUT_MAIN_WINDOW = glutCreateWindow(RACS_VERSION);
 MainWindow-end();
 MainWindow-show(argc, argv);

 I tried to put DnDReceiver box before, after, middle, everywhere, inside of 
 begin and end of Fl_Double_Window but no success.

 Please guide me Where to put DnDReceiver box in the code.

To receive events first, you must put the invisible receiver
box last, but within begin()/end() of the main window. You can
imagine that this box is the top-most widget in the widget
layer(s) of your window, so it gets the events first. If it
returns zero on an event, then the event falls through to
the lower layers.

BTW: in contrast, drawing is done first to last widget within
each group/window, which is essentially the same principle:
bottom layer drawn first, top layer drawn last.

Albrecht

___
fltk-opengl mailing list
fltk-opengl@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-opengl


Re: [fltk.opengl] How to enable Drag n Drop on OpenGL window ?

2013-02-18 Thread Furqan
Thanks UWE,
I tried but no success, still the same. File only accepted when drop over the 
Fl_Double_Window.

Here is my code..

MainWindow-begin(); // Fl_Double_Window

DnDReceiver b(0,0,WINDOW_SIZE_W, WINDOW_SIZE_H); // Drag n Drop Box

glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_ACCUM | 
GLUT_ALPHA | GLUT_STENCIL | GLUT_MULTISAMPLE);
GLUT_MAIN_WINDOW = glutCreateWindow(RACS_VERSION);
MainWindow-end();
MainWindow-show(argc, argv);

I tried to put DnDReceiver box before, after, middle, everywhere, inside of 
begin and end of Fl_Double_Window but no success.

Please guide me Where to put DnDReceiver box in the code.

thanks.






 Am 18.02.2013 08:52, schrieb Furqan:

  Now the issue is, when I drag n drop one file over the OpenGL screen it 
  doesn't accept the file. File only accepted if I drop on the Receiver 
  box. But my application screen is totally covered with the OpenGL screen, 
  so, how can I enable Drag n Drop on the OpenGL screen ?

 You can place a invisible widget e.g. Fl_Box with the attribute
 Fl_No_Box over the whole application, which just recieves DD events
 like in your described even handler and filters only these. All other
 events from mouse, keyboard etc. should pass to get handled as usual by
 the appropriate widgets.

 kind regards
 Kai-Uwe


___
fltk-opengl mailing list
fltk-opengl@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-opengl


[fltk.opengl] How to enable Drag n Drop on OpenGL window ?

2013-02-17 Thread Furqan
My application is OpenGL based. I have created an OpenGL windows inside of 
Fl_Double_Window.

Now here is the simple code for drag n drop, copied from an example.

// SIMPLE RECEIVER CLASS
class Receiver : public Fl_Box {
public:
// Ctor
Receiver(int x,int y,int w,int h) : Fl_Box(x,y,w,h) {
box(FL_FLAT_BOX); color(10); label(..to\nhere);
}
// Receiver event handler
int handle(int event) {
int ret = Fl_Box::handle(event);
switch ( event ) {
case FL_DND_ENTER: // return(1) for these events to 'accept' dnd
case FL_DND_DRAG:
case FL_DND_RELEASE:
ret = 1;
break;
case FL_PASTE: // handle actual drop (paste) operation
label(Fl::event_text());
fprintf(stderr, Pasted '%s'\n, Fl::event_text());
ret = 1;
break;
}
return(ret);
}
};

In my application I code like this..

MainWindow = new Fl_Double_Window(WINDOW_SIZE_W, WINDOW_SIZE_H, );

Receiver box(0,0,WINDOW_SIZE_W, WINDOW_SIZE_H);

MainWindow-end();
MainWindow-show(argc, argv);

Now the issue is, when I drag n drop one file over the OpenGL screen it doesn't 
accept the file. File only accepted if I drop on the Receiver box. But my 
application screen is totally covered with the OpenGL screen, so, how can I 
enable Drag n Drop on the OpenGL screen ?

Any idea ?

thanks.
furqan
___
fltk-opengl mailing list
fltk-opengl@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-opengl