e each
frame. Until the tick callback is removed, it will be called frequently
(usually at the frame rate of the output device or as quickly as the
application can be repainted, whichever is slower). For this reason, is most
suitable for handling graphics that change every frame or every few frames.
The tick callback does not automatically imply a relayout or repaint. If you
want a repaint or relayout, and aren’t changing widget properties that would
trigger that (for example, changing the text of a ` GtkLabel ` ), then you
will have to call ` gtk_widget_queue_resize() ` or `
gtk_widget_queue_draw_area() ` yourself.

since: 3.8

######  [ gtk_widget_can_activate_accel
](method.Widget.can_activate_accel.html)

Determines whether an accelerator that activates the signal identified by `
signal_id ` can currently be activated. This is done by emitting the `
GtkWidget::can-activate-accel ` signal on ` widget ` ; if the signal isn’t
overridden by a handler or in a derived widget, then the default check is that
the widget must be sensitive, and the widget and all its ancestors mapped.

since: 2.4

######  [ gtk_widget_child_focus ](method.Widget.child_focus.html)

This function is used by custom widget implementations; if you’re writing an
app, you’d use ` gtk_widget_grab_focus() ` to move the focus to a particular
widget, and ` gtk_container_set_focus_chain() ` to change the focus tab order.
So you may want to investigate those functions instead.

######  [ gtk_widget_child_notify ](method.Widget.child_notify.html)

Emits a ` GtkWidget::child-notify ` signal for the [child property][child-
properties] ` child_property ` on ` widget ` .

######  [ gtk_widget_class_path ](method.Widget.class_path.html)

Same as gtk_widget_path(), but always uses the name of a widget’s type, never
uses a custom name set with gtk_widget_set_name().

deprecated: 3.0

######  [ gtk_widget_compute_expand ](method.Widget.compute_expand.html)

Computes whether a container should give this widget extra space when
possible. Containers should check this, rather than looking at `
gtk_widget_get_hexpand() ` or gtk_widget_get_vexpand().

######  [ gtk_widget_create_pango_context
](method.Widget.create_pango_context.html)

Creates a new ` PangoContext ` with the appropriate font map, font options,
font description, and base direction for drawing text for this widget. See
also gtk_widget_get_pango_context().

######  [ gtk_widget_create_pango_layout
](method.Widget.create_pango_layout.html)

Creates a new ` PangoLayout ` with the appropriate font map, font description,
and base direction for drawing text for this widget.

######  [ gtk_widget_destroy ](method.Widget.destroy.html)

Destroys a widget.

######  [ gtk_widget_destroyed ](method.Widget.destroyed.html)

This function sets * ` widget_pointer ` to ` NULL ` if ` widget_pointer ` != `
NULL ` . It’s intended to be used as a callback connected to the “destroy”
signal of a widget. You connect ` gtk_widget_destroyed() ` as a signal
handler, and pass the address of your widget variable as user data. Then when
the widget is destroyed, the variable will be set to ` NULL ` . Useful for
example to avoid multiple copies of the same dialog.

######  [ gtk_widget_device_is_shadowed
](method.Widget.device_is_shadowed.html)

Returns ` TRUE ` if ` device ` has been shadowed by a  GTK  \+ device grab on
another widget, so it would stop sending events to ` widget ` . This may be
used in the ` GtkWidget::grab-notify ` signal to check for specific devices.
See gtk_device_grab_add().

since: 3.0

######  [ gtk_drag_begin ](method.Widget.drag_begin.html)

This function is equivalent to gtk_drag_begin_with_coordinates(), passing -1,
-1 as coordinates.

deprecated: 3.10

######  [ gtk_drag_begin_with_coordinates
](method.Widget.drag_begin_with_coordinates.html)

Initiates a drag on the source side. The function only needs to be used when
the application is starting drags itself, and is not needed when `
gtk_drag_source_set() ` is us