Class DropTarget.Builder<B extends DropTarget.Builder<B>>

Type Parameters:
B - the type of the Builder that is returned
All Implemented Interfaces:
BuilderInterface
Enclosing class:
DropTarget

public static class DropTarget.Builder<B extends DropTarget.Builder<B>> extends EventController.Builder<B>
Inner class implementing a builder pattern to construct a GObject with properties.
  • Constructor Details

    • Builder

      protected Builder()
      Default constructor for a Builder object.
  • Method Details

    • build

      public DropTarget build()
      Finish building the DropTarget object. This will call GObject.withProperties(Type, String[], Value[]) to create a new GObject instance, which is then cast to DropTarget.
      Overrides:
      build in class EventController.Builder<B extends DropTarget.Builder<B>>
      Returns:
      a new instance of DropTarget with the properties that were set in the Builder object.
    • setActions

      public B setActions(Set<DragAction> actions)
      The GdkDragActions that this drop target supports.
      Parameters:
      actions - the value for the actions property
      Returns:
      the Builder instance is returned, to allow method chaining
    • setFormats

      public B setFormats(ContentFormats formats)
      The GdkContentFormats that determine the supported data formats.
      Parameters:
      formats - the value for the formats property
      Returns:
      the Builder instance is returned, to allow method chaining
    • setPreload

      public B setPreload(boolean preload)

      Whether the drop data should be preloaded when the pointer is only hovering over the widget but has not been released.

      Setting this property allows finer grained reaction to an ongoing drop at the cost of loading more data.

      The default value for this property is false to avoid downloading huge amounts of data by accident.

      For example, if somebody drags a full document of gigabytes of text from a text editor across a widget with a preloading drop target, this data will be downloaded, even if the data is ultimately dropped elsewhere.

      For a lot of data formats, the amount of data is very small (like GDK_TYPE_RGBA), so enabling this property does not hurt at all. And for local-only Drag-and-Drop operations, no data transfer is done, so enabling it there is free.

      Parameters:
      preload - the value for the preload property
      Returns:
      the Builder instance is returned, to allow method chaining
    • setActions

      public B setActions(DragAction... actions)
      The GdkDragActions that this drop target supports.
      Parameters:
      actions - the value for the actions property
      Returns:
      the Builder instance is returned, to allow method chaining
    • onAccept

      public B onAccept(DropTarget.AcceptCallback handler)

      Emitted on the drop site when a drop operation is about to begin.

      If the drop is not accepted, false will be returned and the drop target will ignore the drop. If true is returned, the drop is accepted for now but may be rejected later via a call to DropTarget.reject() or ultimately by returning false from a Gtk.DropTarget::drop handler.

      The default handler for this signal decides whether to accept the drop based on the formats provided by the drop.

      If the decision whether the drop will be accepted or rejected depends on the data, this function should return true, the Gtk.DropTarget:preload property should be set and the value should be inspected via the ::notify:value signal, calling DropTarget.reject() if required.

      Parameters:
      handler - the signal handler
      Returns:
      the Builder instance is returned, to allow method chaining
      See Also:
    • onDrop

      public B onDrop(DropTarget.DropCallback handler)

      Emitted on the drop site when the user drops the data onto the widget.

      The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns false and no further processing is necessary.

      Otherwise, the handler returns true. In this case, this handler will accept the drop. The handler is responsible for using the given value and performing the drop operation.

      Parameters:
      handler - the signal handler
      Returns:
      the Builder instance is returned, to allow method chaining
      See Also:
    • onEnter

      public B onEnter(DropTarget.EnterCallback handler)

      Emitted on the drop site when the pointer enters the widget.

      It can be used to set up custom highlighting.

      Parameters:
      handler - the signal handler
      Returns:
      the Builder instance is returned, to allow method chaining
      See Also:
    • onLeave

      public B onLeave(DropTarget.LeaveCallback handler)

      Emitted on the drop site when the pointer leaves the widget.

      Its main purpose it to undo things done in Gtk.DropTarget::enter.

      Parameters:
      handler - the signal handler
      Returns:
      the Builder instance is returned, to allow method chaining
      See Also:
    • onMotion

      public B onMotion(DropTarget.MotionCallback handler)
      Emitted while the pointer is moving over the drop target.
      Parameters:
      handler - the signal handler
      Returns:
      the Builder instance is returned, to allow method chaining
      See Also: