diff --git a/documentation/Fl.html b/documentation/Fl.html index 692181511..5129c11e4 100644 --- a/documentation/Fl.html +++ b/documentation/Fl.html @@ -49,6 +49,7 @@ state information and global methods for the current application.

  • damage
  • default_atclose
  • display
  • +
  • dnd
  • error
  • event
  • event_alt
  • @@ -414,6 +415,12 @@ the environment variable $DISPLAY to the passed string, so this only works before you show() the first window or otherwise open the display, and does nothing useful under WIN32. +

    int dnd();

    + +

    Initiate a Drag And Drop operation. The clipboard should be filled +with relevant data before calling this method. FLTK will then initiate +the system wide drag'n'drop handling. Dropped data will be marked as text. +

    void (*error)(const char*, ...);

    FLTK calls this to print a normal error message. You can diff --git a/documentation/enumerations.html b/documentation/enumerations.html index 24b90f94e..9651a9e22 100644 --- a/documentation/enumerations.html +++ b/documentation/enumerations.html @@ -41,6 +41,11 @@ understand) occurred (0). clipboard.

  • FL_SELECTIONCLEAR - The widget should clear any selections made for the clipboard.
  • +
  • FL_MOUSEWHEEL - The horizontal or vertical mousewheel was turned.
  • +
  • FL_DND_ENTER - The mouse pointer entered a widget dragging data.
  • +
  • FL_DND_DRAG - The mouse pointer was moved dragging data.
  • +
  • FL_DND_LEAVE - The mouse pointer left a widget still dragging data.
  • +
  • FL_DND_RELEASE - Dragged data is about to be dropped.
  • Callback "When" Conditions

    The following constants determine when a callback is performed: diff --git a/documentation/events.html b/documentation/events.html index a742d69f4..c9921f818 100644 --- a/documentation/events.html +++ b/documentation/events.html @@ -217,6 +217,30 @@ widget. This indicates that some other widget or program has claimed the selection. Motif programs used this to clear the selection indication. Most modern programs ignore this. +

    Drag And Drop Events

    + +

    FL_DND_ENTER

    + +

    The mouse has been moved to point at this widget. A widget +that is interested in receiving drag'n'drop data must return 1 +to receive FL_DND_DRAG, FL_DND_LEAVE and FL_DND_RELEASE events. + +

    FL_DND_DRAG

    + +

    The mouse has been moved inside a widget while dragging data. +A widget that is interested in receiving drag'n'drop data should +indicate the possible drop position. + +

    FL_DND_LEAVE

    + +

    The mouse has moved out of the widget. + +

    FL_DND_RELEASE

    + +

    The user has released the mouse button dropping data into +the widget. If the widget returns 1, it will receive the data in +the immediatly following FL_PASTE event. +

    Fl::event_*() methods

    FLTK keeps the information about the most recent event in diff --git a/documentation/osissues.html b/documentation/osissues.html index 99af09039..8bb37368c 100644 --- a/documentation/osissues.html +++ b/documentation/osissues.html @@ -595,6 +595,8 @@ version of FLTK:

  • Line styles are not well supported. This is due to limitations in the QuickDraw interface.
  • +
  • File descriptors are not yet supported.
  • +
  • Drag'n'drop is not yet supported.
  • diff --git a/documentation/subclassing.html b/documentation/subclassing.html index 5b1f69e0f..7e3cbf126 100644 --- a/documentation/subclassing.html +++ b/documentation/subclassing.html @@ -362,6 +362,7 @@ positions you might want to call child->draw_label(x,y,w,h,a). should call this on all the children if your own damage is equal to FL_DAMAGE_CHILD. Nothing is done if the child is not visible() or if it is clipped. +

    Cut and Paste Support

    FLTK provides routines to cut and paste 8-bit text (in the future this may be UTF-8) between applications: @@ -372,6 +373,24 @@ may be UTF-8) between applications: It may be possible to cut/paste non-text data by using Fl::add_handler(). + +

    Drag And Drop Support

    + +FLTK provides routines to drag and drop 8-bit text between applications: + +

    Drag'n'drop operations are are initiated by copying data to the +clipboard and calling the function +Fl::dnd(). + +

    Drop attempts are handled via events: +

    +

    Making a subclass of Fl_Window

    You may want your widget to be a subclass of