## org.gnu.gtk
Class Widget

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.GObject
              org.gnu.gtk.GtkObject
                  org.gnu.gtk.Widget

Direct Known Subclasses:
  Calendar, CellView, Container, DrawingArea, Entry, Invisible, Misc, Preview, Progress, Range, Ruler, Separator, SimpleList

public class Widget
extends GtkObject

GtkWidget is the base class of all widgets.

Constructor Summary
`Widget(org.gnu.glib.Handle handle)` Create a new Widget with a handle to a native resource returned from a call to the native libraries.

Method Summary
`boolean` `activate()` For widgets that can be activeated (buttons, menu items, etc.) this method activiates them.
`void` `addAccelerator(AccelGroup group, int accelKey, ModifierType accelMods, AccelFlags accelFlags)`
`void` `addEvents(EventMask events)` Adds the events in the bitfield events to the event mask for widget.
`void` `addListener(ConfigureListener listener)` Register an object to receive configure event notification.
`void` `addListener(DragDestinationListener listener)` Deprecated. Use `addListener(DragTargetListener)` instead.
`void` `addListener(DragOriginListener listener)`
`void` `addListener(DragSourceListener listener)` Deprecated. Use `addListener(DragOriginListener)` instead.
`void` `addListener(DragTargetListener listener)`
`void` `addListener(ExposeListener listener)` Register an object to receive expose event notification.
`void` `addListener(FocusListener listener)` Register an object to receive focus event notification.
`void` `addListener(KeyListener listener)` Register an object to receive key event notification.
`void` `addListener(LifeCycleListener listener)` Register an object to receive life cycle event notification.
`void` `addListener(MouseListener listener)` Register an object to receive mouse event notification.
`void` `addListener(MouseMotionListener listener)` Register an object to receive mouse motion event notification.
`boolean` `canActivateAccel(int signalId)`
`Context` `createContext()` Creates a new Context with the appropriate Colormap, FontDescription, and base direction for drawing text for this widget.
`Layout` `createLayout(java.lang.String text)` Creates a new Layout with the appropriate Colormap, FontDescription and base direction for drawing text for this widget.
`void` `draw()` Causes the entire widget to be redrawn.
`void` `drawArea(int x, int y, int width, int height)` Causes the specified area to be redrawn
`void` `drawArea(Rectangle area)` Causes the specified area to be redrawn.
`static void` `finish(DragContext context, boolean success, boolean delete)` Deprecated. Use `DragContext.finish(boolean, boolean, int)`
`AtkObject` `getAccessible()` Returns the accessible object associated with this widget.
`Colormap` `getColormap()` Returns the Colormap that will be used to render this widget.
`Context` `getContext()` Gets a Context with the appropriate Colormap, FontDescription and base direction for this widget.
`static void` `getData(Widget widget, DragContext context, Atom target)` Deprecated. Use `getDragData(DragContext, Atom, int)`
`Display` `getDisplay()`
`void` `getDragData(DragContext context, Atom target, int time)`
`java.lang.Class` `getEventListenerClass(java.lang.String signal)`
`EventType` `getEventType(java.lang.String signal)`
`ExtensionMode` `getExtensionEvents()` Retrieves the extension events the widget will receive.
`RcStyle` `getModifierStyle()` Retruns the Widget's `RcStyle`.
`java.lang.String` `getName()` Returns the name for the widget.
`Widget` `getParent()` Returns the parent container for this widget
`Window` `getParentWindow()` Returns the widget's parent window.
`Point` `getPointer()` Returns the location of the mouse pointer in widget coordinates.
`Window` `getRootWindow()`
`Screen` `getScreen()`
`boolean` `getSensitive()` Gets the sensitivity of the widget.
`Style` `getStyle()` Returns the Widgets `Style`.
`Widget` `getToplevel()` Returns the topmost widget in the container hierarchy.
`static Type` `getType()` Retrieve the runtime type used by the GLib library.
`static Widget` `getWidget(org.gnu.glib.Handle handle)` Creates a new Widget with a handle to a native resource returned from a call to the native libraries.
`Window` `getWindow()` Return the widget's gdk window.
`void` `grabDefault()` Causes the widget to become the default widget.
`void` `grabFocus()` Causes the widget to gain focus within its' TOPLEVEL.
`boolean` `hasFocus()` Determines if the widget has focus within its' TOPLEVEL.
`boolean` `hasScreen()`
`void` `hide()` Cause this Widget to not be visible.
`void` `hideAll()` Cause this Widget and all of its' children to not be visible.
`void` `highlight()`
`static void` `highlight(Widget widget)` Deprecated. Use `highlight()`.
`Rectangle` `intersect(Rectangle area)` Computes the intersection of the widget's area and `area`.
`boolean` `isAncestor(Widget ancestor)` Determines whether this widget is somewhere inside of ancestor.
`static Widget` `makeWidget(org.gnu.glib.Handle handle)` Create a Java-GNOME Widget subclass from an existing native GTK+ handle.
`void` `modifyStyle(RcStyle style)` Modifies style values on the Widget.
`void` `popColormap()` Pops the top colormap off of the stack of colormaps.
`void` `pushColormap(Colormap colormap)` Pushes a Colormap onto the stack of colormaps.
`void` `realize()` Creates a native window resource associated with this widget.
`boolean` `removeAccelerator(AccelGroup group, int accelKey, ModifierType accelMods)`
`void` `removeListener(ConfigureListener listener)` Unregister an object that was receiving configure event notification.
`void` `removeListener(DragDestinationListener listener)` Deprecated. Use `removeListener(DragTargetListener)` instead.
`void` `removeListener(DragOriginListener listener)`
`void` `removeListener(DragSourceListener listener)` Deprecated. Use `removeListener(DragOriginListener)`
`void` `removeListener(DragTargetListener listener)`
`void` `removeListener(ExposeListener listener)` Unregister an object that was receiving expose event notification.
`void` `removeListener(FocusListener listener)` Unregister an object that was receiving focus event notification.
`void` `removeListener(KeyListener listener)` Unregister an object that was receiving key event notification.
`void` `removeListener(LifeCycleListener listener)` Unregister an object that was receiving life cycle event notification.
`void` `removeListener(MouseListener listener)` Unregister an object that was receiving mouse event notification.
`void` `removeListener(MouseMotionListener listener)` Unregister an object that was receiving mouse motion event notification.
`void` `reparent(Widget newParent)` Moves a widget from one Container to another.
`void` `setBackgroundColor(StateType state, Color color)` Sets the background color for a widget in a particular state.
`void` `setBaseColor(StateType state, Color color)` Sets the base color used for a widget in a particular state.
`void` `setColormap(Colormap colormap)` Set the Colormap that will be used to render this widget.
`void` `setDoubleBuffered(boolean doubleBuffered)` Enables/Disables double buffering for this widget.
`void` `setDragDestination(DestDefaults flags, TargetEntry[] targets, DragAction actions)` Sets up the widget so that is can receive drops as part of drag drop events and specifies what sort of drops it will accept
`void` `setDragIcon(Widget widget, Colormap cmap, Pixmap pixmap, Bitmap mask)`
`void` `setDragIconPixbuf(Widget widget, Pixbuf pixbuf)`
`void` `setDragIconStock(Widget widget, java.lang.String stockId)`
`void` `setDragSource(ModifierType buttons, TargetEntry[] targets, DragAction actions)` Sets up the widget so that it can be the source of drag and drop operations.
`void` `setEvents(EventMask events)` Sets the event mask for a widget.
`void` `setExtensionEvents(ExtensionMode mode)` Sets the extension events mask to mode.
`void` `setFont(FontDescription fontDesc)` Sets the font to use for the widget.
`void` `setForegroundColor(StateType state, Color color)` Sets the foreground color for a widget in a particular state.
`void` `setMinimumSize(int width, int height)` Sets the minimum size of a widget.
`void` `setName(java.lang.String name)` Sets the name for this widget.
`void` `setNoDragDestination()` Removes support for this widget being a drag and drop target
`void` `setNoDragSource()` Removes support for this widget being a drag and drop source.
`void` `setSensitive(boolean sensitive)` Sets the sensitivity of a widget.
`void` `setTextColor(StateType state, Color color)` Sets the text color for a widget in a particilar state.
`void` `shapeCombineMask(Bitmap shapeMask, int x, int y)` Sets the shape of this widgets OS window.
`void` `show()` Cause this Widget to be visible.
`void` `showAll()` Cause this Widget and all of its' children to be visible.
`void` `unHighlight()`
`static void` `unHighlight(Widget widget)` Deprecated. Use `unHighlight()`.

Methods inherited from class org.gnu.gtk.GtkObject
`destroy, sink`

Methods inherited from class org.gnu.glib.GObject

`addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify`

Methods inherited from class org.gnu.glib.Struct
`equals, getHandle, getNullHandle, hashCode`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Widget

    public Widget(org.gnu.glib.Handle handle)

  Create a new Widget with a handle to a native resource returned from a call to the native libraries.

Parameters:
  `handle` - The handle that represents a pointer to a native resource.

Method Detail

### getWidget

    public static Widget getWidget(org.gnu.glib.Handle handle)

  Creates a new Widget with a handle to a native resource returned from a call to the native libraries. Should only be used interally by Java-Gnome.

  Parameters:
    `handle` - The handle that represents a pointer to a native resource.

### show

    public void show()

  Cause this Widget to be visible.

### showAll

    public void showAll()

  Cause this Widget and all of its' children to be visible.

### hide

    public void hide()

  Cause this Widget to not be visible.

### hideAll

    public void hideAll()

  Cause this Widget and all of its' children to not be visible.

### realize

    public void realize()

  Creates a native window resource associated with this widget. Normally a widget realization happens implicitly; if you show a widget and all of its' parent containers then the widget will be realized automatically.

### draw

    public void draw()

  Causes the entire widget to be redrawn.

### drawArea

    public void drawArea(Rectangle area)

  Causes the specified area to be redrawn.

  Parameters:
    `area` - The area to be redrawn.

### drawArea

    public void drawArea(int x,
                         int y,
                         int width,
                         int height)

  Causes the specified area to be redrawn

  Parameters:
    `x` - The x coordinate for the area to be redrawn.
    `y` - The y coordinate for the area to be redrawn.
    `width` - The width of the area to be redrawn.
    `height` - The height of the area to be redrawn.

### activate

    public boolean activate()

  For widgets that can be activeated (buttons, menu items, etc.) this method activiates them. Activation is what happens when you press Enter on a widget during keyboard navigation.

  Returns:
    False if this widget is not activatable.

### reparent

    public void reparent(Widget newParent)

  Moves a widget from one Container to another.

  Parameters:
    `newParent` - The widget that will be the new parent.

### getParent

    public Widget getParent()

  Returns the parent container for this widget

  Returns:
    The parent container for this widget.

### getParentWindow

    public Window getParentWindow()

  Returns the widget's parent window.

  Returns:
    Returns the widget's parent window.

### getWindow

    public Window getWindow()

  Return the widget's gdk window. This is the window to draw upon when writing custom widgets. It's available after the widget has been mapped. Thus if you listen to LifeCycleEvents, you can fetch the Window instance using this method after an LifeCycleEvent of type MAP has occured.

  Returns:
    the widget's gdk window, or null if a) it hasn't been mapped yet or b) it is of a type that doesn't have a gdk window.

### setEvents

    public void setEvents(EventMask events)

  Sets the event mask for a widget. The event mask determines which events a widget will receive. Keep in mind that different widgets have different default event masks, and by changing the event mask you may disrupt a widget's functionality, so be careful. This function must be called while a widget is unrealized. Consider addEvents() for widgets that are already realized, or if you want to preserve the existing event mask. This function can't be used with NO_WINDOW widgets; to get events on those widgets, place them inside an EventBox and receive events on the event box.

  Parameters:
    `events` -

### addEvents

    public void addEvents(EventMask events)

  Adds the events in the bitfield events to the event mask for widget. See setEvents() for details.

  Parameters:
    `events` -

### setExtensionEvents

    public void setExtensionEvents(ExtensionMode mode)

  Sets the extension events mask to mode.

  Parameters:
    `mode` - extension events to receive.

### getExtensionEvents

    public ExtensionMode getExtensionEvents()

  Retrieves the extension events the widget will receive.

  Returns:
    extension events for this widget.

### intersect

    public Rectangle intersect(Rectangle area)

  Computes the intersection of the widget's area and `area`.

  Parameters:
    `area` - The area to use to compute the intersection.
  Returns:
    The intersection. If the areas don't intersect this method returns null.

### hasFocus

    public boolean hasFocus()

  Determines if the widget has focus within its' TOPLEVEL.

  Returns:
    true if the widget has focus.

### grabFocus

    public void grabFocus()

  Causes the widget to gain focus within its' TOPLEVEL.

### grabDefault

    public void grabDefault()

  Causes the widget to become the default widget. The default widget is activated when the user presses Enter in the window. Default widgets must be activatable.

### setName

    public void setName(java.lang.String name)

  Sets the name for this widget. Widgets can be named which allows you to refer to them from a gtkrc file. You can apply a style to widgets with a particular name in the gtkrc file.

  Parameters:
    `name` - The name for the widget.

### getName

    public java.lang.String getName()

  Returns the name for the widget.

  Returns:
    The name for the widget.

### setSensitive

    public void setSensitive(boolean sensitive)

  Sets the sensitivity of a widget. A widget is sensitive if the user can interact with it. Insensitive widgets are "grayed out" and the user can't interact with them. Insensitive widgets are known as "inactive", "disabled", or "ghosted" in some other toolkits.

  Parameters:
    `sensitive` - true to make the widget sensitive.

### getSensitive

    public boolean getSensitive()

  Gets the sensitivity of the widget. A widget is sensitive if the user can interact with it. Insensitive widgets are "grayed out" and the user can't interact with them. Insensitive widgets are known as "inactive", "disabled", or "ghosted" in some other toolkits.

  Returns:
    true if the widget is sensitive, false otherwise.

### getToplevel

    public Widget getToplevel()

  Returns the topmost widget in the container hierarchy.

  Returns:
    The topmost widget.

### getColormap

    public Colormap getColormap()

  Returns the Colormap that will be used to render this widget.

  Returns:
    The colormap used for this widget.

### setColormap

    public void setColormap(Colormap colormap)

  Set the Colormap that will be used to render this widget.

  Parameters:
    `colormap` - The colormap to be used.

### getPointer

    public Point getPointer()

  Returns the location of the mouse pointer in widget coordinates. This method will return null if the mouse is not currently in the widget.

  Returns:
    The location of the mouse or null

### isAncestor

    public boolean isAncestor(Widget ancestor)

  Determines whether this widget is somewhere inside of ancestor.

  Parameters:
    `ancestor` - The possible parent widget

### pushColormap

    public void pushColormap(Colormap colormap)

  Pushes a Colormap onto the stack of colormaps. The topmost Colormap on the stack will be used to create all Widgets.

  Parameters:
    `colormap` - The Colormap to push onto the stack.

### popColormap

    public void popColormap()

  Pops the top colormap off of the stack of colormaps. The topmost Colormap on the stack will be used to create all Widgets.

### shapeCombineMask

    public void shapeCombineMask(Bitmap shapeMask,
                                 int x,
                                 int y)

  Sets the shape of this widgets OS window. This allows for transparent windows.

  Parameters:
    `shapeMask` - Shape to be added or null to remove an existing shape.
    `x` - X Position of the shape mask with respect to the window.
    `y` - Y Position of the shape mask with respect to the window.

### setForegroundColor

    public void setForegroundColor(StateType state,
                                   Color color)

  Sets the foreground color for a widget in a particular state. All other style values are left untouched.

  Parameters:
    `state` - The widget state to modify.
    `color` - The color to set the foreground.

### setBackgroundColor

    public void setBackgroundColor(StateType state,
                                   Color color)

  Sets the background color for a widget in a particular state. All other style values are left untouched.

  Parameters:
    `state` - The widget state to modify.
    `color` - The color to set the background.

### setTextColor

    public void setTextColor(StateType state,
                             Color color)

  Sets the text color for a widget in a particilar state. All other style values are left untouched. The text color is the foreground color along with the base color for widgets such as Entry, TextView, etc.

  Parameters:
    `state` - The widget state to modify.
    `color` - The color to set the text.

### setBaseColor

    public void setBaseColor(StateType state,
                             Color color)

  Sets the base color used for a widget in a particular state. The base color is the backgound color used along with the text color for widgets such as Entry, TextView, etc.

  Parameters:
    `state` - The widget state to modify.
    `color` - The color to set.

### setFont

    public void setFont(FontDescription fontDesc)

  Sets the font to use for the widget.

  Parameters:
    `fontDesc` - The font description to use.

### modifyStyle

    public void modifyStyle(RcStyle style)

  Modifies style values on the Widget. Modifications made using this technique take precedence over style values set via an RC file.

  Parameters:
    `style` - The style to apply to the Widget

### getModifierStyle

    public RcStyle getModifierStyle()

  Retruns the Widget's `RcStyle`.

  Returns:
    The current RcStyle for the Widget.

### getStyle

    public Style getStyle()

  Returns the Widgets `Style`.

  Returns:
    The current Style for the Widget.

### createContext

    public Context createContext()

  Creates a new Context with the appropriate Colormap, FontDescription, and base direction for drawing text for this widget.

  Returns:
    A context that can be used for drawig text.

### getContext

    public Context getContext()

  Gets a Context with the appropriate Colormap, FontDescription and base direction for this widget. Unlike the createContext method, this context is owned by the widget and can be as long as the widget exists. This context will be updated to match any changes to the widget's attributes.

  Returns:
    A context that can be used for drawing text.

### createLayout

    public Layout createLayout(java.lang.String text)

  Creates a new Layout with the appropriate Colormap, FontDescription and base direction for drawing text for this widget.

  Parameters:
    `text` - The text used for the layout.
  Returns:
    The layout that can be used for drawing text.

### setDoubleBuffered

    public void setDoubleBuffered(boolean doubleBuffered)

  Enables/Disables double buffering for this widget. Widgets are double buffered by default.

  Parameters:
    `doubleBuffered` - Set if the widget should be double buffered.

### getAccessible

    public AtkObject getAccessible()

  Returns the accessible object associated with this widget.

  Returns:
    The AtkObject.

### canActivateAccel

    public boolean canActivateAccel(int signalId)

### getScreen

    public Screen getScreen()

### hasScreen

    public boolean hasScreen()

### getDisplay

    public Display getDisplay()

### getRootWindow

    public Window getRootWindow()

### addAccelerator

    public void addAccelerator(AccelGroup group,
                               int accelKey,
                               ModifierType accelMods,
                               AccelFlags accelFlags)

### removeAccelerator

    public boolean removeAccelerator(AccelGroup group,
                                     int accelKey,
                                     ModifierType accelMods)

### setMinimumSize

    public void setMinimumSize(int width,
                               int height)

  Sets the minimum size of a widget. You can use this method to force a widget to be either larger or smaller that it normally be.

  In most cases `Window.setDefaultSize()` is a better choice for toplevel windows than this method. Setting the default size will still allow users to shrink the window. Setting the minimum size will force them to leave the window at least as large as the request.

  Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct.

  If the minimum size in a given direction is -1 then the "natural" size for the widget will be used instead.

  Parameters:
    `width` - The minimum width size to use.
    `height` - The minimum height size to use.

### getEventListenerClass

    public java.lang.Class getEventListenerClass(java.lang.String signal)

  Overrides:
    `getEventListenerClass` in class `GObject`

### getEventType

    public EventType getEventType(java.lang.String signal)

  Overrides:
    `getEventType` in class `GObject`

### addListener

    public void addListener(LifeCycleListener listener)

  Register an object to receive life cycle event notification.

  Parameters:
    `listener` - The object that has implemented the LifeCycleListener interface that is to receive the life cycle events.

### removeListener

    public void removeListener(LifeCycleListener listener)

  Unregister an object that was receiving life cycle event notification.

  Parameters:
    `listener` - The object that is to no longer receive life cycle events.

### addListener

    public void addListener(FocusListener listener)

  Register an object to receive focus event notification.

  Parameters:
    `listener` - The object that has implemented the FocusListener interface that is to receive the focus events.

### removeListener

    public void removeListener(FocusListener listener)

  Unregister an object that was receiving focus event notification.

  Parameters:
    `listener` - The object that is to no longer receive focus events.

### addListener

    public void addListener(ConfigureListener listener)

  Register an object to receive configure event notification.

  Parameters:
    `listener` - The object that has implemented the ConfigureListener interface that is to receive the configure events.

### removeListener

    public void removeListener(ConfigureListener listener)

  Unregister an object that was receiving configure event notification.

  Parameters:
    `listener` - The object that is to no longer receive configure events.

### addListener

    public void addListener(KeyListener listener)

  Register an object to receive key event notification.

  An important thing to notice is that some widgets don't receive low-level events (such as a key-press event) by default. So if you want to capture events from them, you should add them to an `EventBox`, and capture events on the `EventBox`.

  The reason why this happens is that some widgets, for efficiency, don't have their own X window, which is necessary to receive events. These are the widgets that don't have their own X window:

  `Alignment`
  `Arrow`
  `Bin`
  `Box`
  `Image`
  `Item`
  `Label`
  `Pixmap`
  `ScrolledWindow`
  `Separator`
  `Table`
  `AspectFrame`
  `Frame`
  `VBox`
  `HBox`
  `VSeparator`
  `HSeparator`

  Parameters:
    `listener` - The object that has implemented the KeyListener interface that is to receive the key events.

### removeListener

    public void removeListener(KeyListener listener)

  Unregister an object that was receiving key event notification.

  Parameters:
    `listener` - The object that is to no longer receive key events.

### addListener

    public void addListener(MouseListener listener)

  Register an object to receive mouse event notification.

  An important thing to notice is that some widgets don't receive low-level events (such as a mouse-click event) by default. So if you want to capture events from them, you should add them to an `EventBox`, and capture events on the `EventBox`.

  The reason why this happens is that some widgets, for efficiency, don't have their own X window, which is necessary to receive events. These are the widgets that don't have their own X window:

  `Alignment`
  `Arrow`
  `Bin`
  `Box`
  `Image`
  `Item`
  `Label`
  `Pixmap`
  `ScrolledWindow`
  `Separator`
  `Table`
  `AspectFrame`
  `Frame`
  `VBox`
  `HBox`
  `VSeparator`
  `HSeparator`

  Parameters:
    `listener` - The object that has implemented the MouseListener interface that is to receive the mouse events.

### removeListener

    public void removeListener(MouseListener listener)

  Unregister an object that was receiving mouse event notification.

  Parameters:
    `listener` - The object that is to no longer receive mouse events.

### getType

    public static Type getType()

  Retrieve the runtime type used by the GLib library.

### makeWidget

    public static Widget makeWidget(org.gnu.glib.Handle handle)
                             throws java.lang.ClassNotFoundException

  Create a Java-GNOME Widget subclass from an existing native GTK+ handle.

  Parameters:
    `handle` - The handle that represents a pointer to a native resource.
  Throws:
    `java.lang.ClassNotFoundException` - if a Java-GNOME class cannot be found for the specified handle.

### setDragSource

    public void setDragSource(ModifierType buttons,
                              TargetEntry[] targets,
                              DragAction actions)

  Sets up the widget so that it can be the source of drag and drop operations.

  Parameters:
    `buttons` - Buttons which can start the drag
    `targets` - An array of names of drag and drop operations accepted (these are made up by the application designers. Widgets must set as drag sources and destinations with one of these the same)
    `actions` - Drag action - determines which events will be called.

### setNoDragSource

    public void setNoDragSource()

  Removes support for this widget being a drag and drop source.

### setDragIcon

    public void setDragIcon(Widget widget,
                            Colormap cmap,
                            Pixmap pixmap,
                            Bitmap mask)

### setDragIconPixbuf

    public void setDragIconPixbuf(Widget widget,
                                  Pixbuf pixbuf)

### setDragIconStock

    public void setDragIconStock(Widget widget,
                                 java.lang.String stockId)

### setDragDestination

    public void setDragDestination(DestDefaults flags,
                                   TargetEntry[] targets,
                                   DragAction actions)

  Sets up the widget so that is can receive drops as part of drag drop events and specifies what sort of drops it will accept

  Parameters:
    `flags` -

### getDragData

    public void getDragData(DragContext context,
                            Atom target,
                            int time)

### setNoDragDestination

    public void setNoDragDestination()

  Removes support for this widget being a drag and drop target

### getData

    public static void getData(Widget widget,
                               DragContext context,
                               Atom target)

  Deprecated. Use `getDragData(DragContext, Atom, int)`

### finish

    public static void finish(DragContext context,
                              boolean success,
                              boolean delete)

  Deprecated. Use `DragContext.finish(boolean, boolean, int)`

### highlight

    public static void highlight(Widget widget)

  Deprecated. Use `highlight()`.

### highlight

    public void highlight()

### unHighlight

    public static void unHighlight(Widget widget)

  Deprecated. Use `unHighlight()`.

### unHighlight

    public void unHighlight()

### addListener

    public void addListener(DragDestinationListener listener)

  Deprecated. Use `addListener(DragTargetListener)` instead.

  Register an object to receive drag drop (destination) events.

  Parameters:
    `listener` - The object that has implemented the DragDestinationListener interface

### addListener

    public void addListener(DragTargetListener listener)

### removeListener

    public void removeListener(DragDestinationListener listener)

  Deprecated. Use `removeListener(DragTargetListener)` instead.

  Unregister an object that was receiving dragDestination event notification.

  Parameters:
    `listener` - The object that is to no longer receive dragDestination events

### removeListener

    public void removeListener(DragTargetListener listener)

### addListener

    public void addListener(DragSourceListener listener)

  Deprecated. Use `addListener(DragOriginListener)` instead.

  Register an object to receive drag source events.

  Parameters:
    `listener` - The object that has implemented the DragSourceListener interface

### addListener

    public void addListener(DragOriginListener listener)

### removeListener

    public void removeListener(DragSourceListener listener)

  Deprecated. Use `removeListener(DragOriginListener)`

  Unregister an object that was receiving drag source event notification.

  Parameters:
    `listener` - The object that is to no longer receive drag source events

### removeListener

    public void removeListener(DragOriginListener listener)

### addListener

    public void addListener(ExposeListener listener)

  Register an object to receive expose event notification.

  Parameters:
    `listener` - The object that has implemented the ExposeListener interface that is to receive the expose events.

### removeListener

    public void removeListener(ExposeListener listener)

  Unregister an object that was receiving expose event notification.

  Parameters:
    `listener` - The object that is to no longer receive expose events.

### addListener

    public void addListener(MouseMotionListener listener)

  Register an object to receive mouse motion event notification.

  An important thing to notice is that some widgets don't receive low-level events (such as a mouse-enter event) by default. So if you want to capture events from them, you should add them to an `EventBox`, and capture events on the `EventBox`.

  The reason why this happens is that some widgets, for efficiency, don't have their own X window, which is necessary to receive events. These are the widgets that don't have their own X window:

  `Alignment`
  `Arrow`
  `Bin`
  `Box`
  `Image`
  `Item`
  `Label`
  `Pixmap`
  `ScrolledWindow`
  `Separator`
  `Table`
  `AspectFrame`
  `Frame`
  `VBox`
  `HBox`
  `VSeparator`
  `HSeparator`

  Parameters:
    `listener` - The object that has implemented the MouseMotionListener interface that is to receive the mouse motion events.

### removeListener

    public void removeListener(MouseMotionListener listener)

  Unregister an object that was receiving mouse motion event notification.

  Parameters:
    `listener` - The object that is to no longer receive mouse motion events.