gtk.widget

Module for [Widget] class

Types 3

GtkWidget is the base class all widgets in GTK+ derive from. It manages the widget lifecycle, states and style.

Height-for-width Geometry Management # {#geometry-management}

GTK+ uses a height-for-width (and width-for-height) geometry management system. Height-for-width means that a widget can change how much vertical space it needs, depending on the amount of horizontal space that it is given (and similar for width-for-height). The most common example is a label that reflows to fill up the available width, wraps to fewer lines, and therefore needs less height.

Height-for-width geometry management is implemented in GTK+ by way of five virtual methods:

  • #GtkWidgetClass.get_request_mode()
  • #GtkWidgetClass.get_preferred_width()
  • #GtkWidgetClass.get_preferred_height()
  • #GtkWidgetClass.get_preferred_height_for_width()
  • #GtkWidgetClass.get_preferred_width_for_height()
  • #GtkWidgetClass.get_preferred_height_and_baseline_for_width()

There are some important things to keep in mind when implementing height-for-width and when using it in container implementations.

The geometry management system will query a widget hierarchy in only one orientation at a time. When widgets are initially queried for their minimum sizes it is generally done in two initial passes in the #GtkSizeRequestMode chosen by the toplevel.

For example, when queried in the normal [gtk.types.SizeRequestMode.HeightForWidth] mode: First, the default minimum and natural width for each widget in the interface will be computed using [gtk.widget.Widget.getPreferredWidth]. Because the preferred widths for each container depend on the preferred widths of their children, this information propagates up the hierarchy, and finally a minimum and natural width is determined for the entire toplevel. Next, the toplevel will use the minimum width to query for the minimum height contextual to that width using [gtk.widget.Widget.getPreferredHeightForWidth], which will also be a highly recursive operation. The minimum height for the minimum width is normally used to set the minimum size constraint on the toplevel (unless [gtk.window.Window.setGeometryHints] is explicitly used instead).

After the toplevel window has initially requested its size in both dimensions it can go on to allocate itself a reasonable size (or a size previously specified with [gtk.window.Window.setDefaultSize]). During the recursive allocation process it’s important to note that request cycles will be recursively executed while container widgets allocate their children. Each container widget, once allocated a size, will go on to first share the space in one orientation among its children and then request each child's height for its target allocated width or its width for allocated height, depending. In this way a #GtkWidget will typically be requested its size a number of times before actually being allocated a size. The size a widget is finally allocated can of course differ from the size it has requested. For this reason, #GtkWidget caches a small number of results to avoid re-querying for the same sizes in one allocation cycle.

See [GtkContainer’s geometry management section][container-geometry-management] to learn more about how height-for-width allocations are performed by container widgets.

If a widget does move content around to intelligently use up the allocated size then it must support the request in both #GtkSizeRequestModes even if the widget in question only trades sizes in a single orientation.

For instance, a #GtkLabel that does height-for-width word wrapping will not expect to have #GtkWidgetClass.get_preferred_height() called because that call is specific to a width-for-height request. In this case the label must return the height required for its own minimum possible width. By following this rule any widget that handles height-for-width or width-for-height requests will always be allocated at least enough space to fit its own content.

Here are some examples of how a [gtk.types.SizeRequestMode.HeightForWidth] widget generally deals with width-for-height requests, for #GtkWidgetClass.get_preferred_height() it will do:

static void
foo_widget_get_preferred_height (GtkWidget *widget,
                                gint *min_height,
                                gint *nat_height)
{
  if (i_am_in_height_for_width_mode)
    {
      gint min_width, nat_width;

      GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
                                                          &min_width,
                                                          &nat_width);
      GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width
                                                         (widget,
                                                          min_width,
                                                          min_height,
                                                          nat_height);
    }
  else
    {
       ... some widgets do both. For instance, if a GtkLabel is
       rotated to 90 degrees it will return the minimum and
       natural height for the rotated label here.
    }
}

And in #GtkWidgetClass.get_preferred_width_for_height() it will simply return the minimum and natural width:

static void
foo_widget_get_preferred_width_for_height (GtkWidget *widget,
                                          gint for_height,
                                          gint *min_width,
                                          gint *nat_width)
{
  if (i_am_in_height_for_width_mode)
    {
      GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget,
                                                          min_width,
                                                          nat_width);
    }
  else
    {
       ... again if a widget is sometimes operating in
       width-for-height mode (like a rotated GtkLabel) it can go
       ahead and do its real width for height calculation here.
    }
}

Often a widget needs to get its own request during size request or allocation. For example, when computing height it may need to also compute width. Or when deciding how to use an allocation, the widget may need to know its natural size. In these cases, the widget should be careful to call its virtual methods directly, like this:

GTK_WIDGET_GET_CLASS(widget)->get_preferred_width (widget,
                                                  &min,
                                                  &natural);

It will not work to use the wrapper functions, such as [gtk.widget.Widget.getPreferredWidth] inside your own size request implementation. These return a request adjusted by #GtkSizeGroup and by the #GtkWidgetClass.adjust_size_request() virtual method. If a widget used the wrappers inside its virtual method implementations, then the adjustments (such as widget margins) would be applied twice. GTK+ therefore does not allow this and will warn if you try to do it.

Of course if you are getting the size request for another widget, such as a child of a container, you must use the wrapper APIs. Otherwise, you would not properly consider widget margins, #GtkSizeGroup, and so forth.

Since 3.10 GTK+ also supports baseline vertical alignment of widgets. This means that widgets are positioned such that the typographical baseline of widgets in the same row are aligned. This happens if a widget supports baselines, has a vertical alignment of [gtk.types.Align.Baseline], and is inside a container that supports baselines and has a natural “row” that it aligns to the baseline, or a baseline assigned to it by the grandparent.

Baseline alignment support for a widget is done by the #GtkWidgetClass.get_preferred_height_and_baseline_for_width() virtual function. It allows you to report a baseline in combination with the minimum and natural height. If there is no baseline you can return -1 to indicate this. The default implementation of this virtual function calls into the #GtkWidgetClass.get_preferred_height() and #GtkWidgetClass.get_preferred_height_for_width(), so if baselines are not supported it doesn’t need to be implemented.

If a widget ends up baseline aligned it will be allocated all the space in the parent as if it was [gtk.types.Align.Fill], but the selected baseline can be found via [gtk.widget.Widget.getAllocatedBaseline]. If this has a value other than -1 you need to align the widget such that the baseline appears at the position.

Style Properties

#GtkWidget introduces “style properties” - these are basically object properties that are stored not on the object, but in the style object associated to the widget. Style properties are set in [resource files][gtk3-Resource-Files]. This mechanism is used for configuring such things as the location of the scrollbar arrows through the theme, giving theme authors more control over the look of applications without the need to write a theme engine in C.

Use [gtk.widget_class.WidgetClass.installStyleProperty] to install style properties for a widget class, [gtk.widget_class.WidgetClass.findStyleProperty] or [gtk.widget_class.WidgetClass.listStyleProperties] to get information about existing style properties and [gtk.widget.Widget.styleGetProperty], [gtk.widget.Widget.styleGet] or [gtk.widget.Widget.styleGetValist] to obtain the value of a style property.

GtkWidget as GtkBuildable

The GtkWidget implementation of the GtkBuildable interface supports a custom <accelerator> element, which has attributes named ”key”, ”modifiers” and ”signal” and allows to specify accelerators.

An example of a UI definition fragment specifying an accelerator:

<object class="GtkButton">
 <accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="clicked"/>
</object>

In addition to accelerators, GtkWidget also support a custom <accessible> element, which supports actions and relations. Properties on the accessible implementation of an object can be set by accessing the internal child “accessible” of a #GtkWidget.

An example of a UI definition fragment specifying an accessible:

<object class="GtkLabel" id="label1"/>
 <property name="label">I am a Label for a Button</property>
</object>
<object class="GtkButton" id="button1">
 <accessibility>
   <action action_name="click" translatable="yes">Click the button.</action>
   <relation target="label1" type="labelled-by"/>
 </accessibility>
 <child internal-child="accessible">
   <object class="AtkObject" id="a11y-button1">
     <property name="accessible-name">Clickable Button</property>
   </object>
 </child>
</object>

Finally, GtkWidget allows style information such as style classes to be associated with widgets, using the custom <style> element:

<object class="GtkButton" id="button1">
 <style>
   <class name="my-special-button-class"/>
   <class name="dark-button"/>
 </style>
</object>

Building composite widgets from template XML ## {#composite-templates}

GtkWidget exposes some facilities to automate the procedure of creating composite widgets using #GtkBuilder interface description language.

To create composite widgets with #GtkBuilder XML, one must associate the interface description with the widget class at class initialization time using [gtk.widget_class.WidgetClass.setTemplate].

The interface description semantics expected in composite template descriptions is slightly different from regular #GtkBuilder XML.

Unlike regular interface descriptions, [gtk.widget_class.WidgetClass.setTemplate] will expect a <template> tag as a direct child of the toplevel <interface> tag. The <template> tag must specify the “class” attribute which must be the type name of the widget. Optionally, the “parent” attribute may be specified to specify the direct parent type of the widget type, this is ignored by the GtkBuilder but required for Glade to introspect what kind of properties and internal children exist for a given type when the actual type does not exist.

The XML which is contained inside the <template> tag behaves as if it were added to the <object> tag defining "widget" itself. You may set properties on @widget by inserting <property> tags into the <template> tag, and also add <child> tags to add children and extend "widget" in the normal way you would with <object> tags.

Additionally, <object> tags can also be added before and after the initial <template> tag in the normal way, allowing one to define auxiliary objects which might be referenced by other widgets declared as children of the <template> tag.

An example of a GtkBuilder Template Definition:

<interface>
 <template class="FooWidget" parent="GtkBox">
   <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
   <property name="spacing">4</property>
   <child>
     <object class="GtkButton" id="hello_button">
       <property name="label">Hello World</property>
       <signal name="clicked" handler="hello_button_clicked" object="FooWidget" swapped="yes"/>
     </object>
   </child>
   <child>
     <object class="GtkButton" id="goodbye_button">
       <property name="label">Goodbye World</property>
     </object>
   </child>
 </template>
</interface>

Typically, you'll place the template fragment into a file that is bundled with your project, using #GResource. In order to load the template, you need to call [gtk.widget_class.WidgetClass.setTemplateFromResource] from the class initialization of your #GtkWidget type:

static void
foo_widget_class_init (FooWidgetClass *klass)
{
 // ...

 gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                              "/com/example/ui/foowidget.ui");
}

You will also need to call [gtk.widget.Widget.initTemplate] from the instance initialization function:

static void
foo_widget_init (FooWidget *self)
{
 // ...
 gtk_widget_init_template (GTK_WIDGET (self));
}

You can access widgets defined in the template using the [gtk.widget.Widget.getTemplateChild] function, but you will typically declare a pointer in the instance private data structure of your type using the same name as the widget in the template definition, and call gtk_widget_class_bind_template_child_private() with that name, e.g.

typedef struct {
 GtkWidget *hello_button;
 GtkWidget *goodbye_button;
} FooWidgetPrivate;

G_DEFINE_TYPE_WITH_PRIVATE (FooWidget, foo_widget, GTK_TYPE_BOX)

static void
foo_widget_class_init (FooWidgetClass *klass)
{
 // ...
 gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                              "/com/example/ui/foowidget.ui");
 gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
                                               FooWidget, hello_button);
 gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
                                               FooWidget, goodbye_button);
}

static void
foo_widget_init (FooWidget *widget)
{

}

You can also use gtk_widget_class_bind_template_callback() to connect a signal callback defined in the template with a function visible in the scope of the class, e.g.

// the signal handler has the instance and user data swapped
// because of the swapped="yes" attribute in the template XML
static void
hello_button_clicked (FooWidget *self,
                     GtkButton *button)
{
 g_print ("Hello, world!\n");
}

static void
foo_widget_class_init (FooWidgetClass *klass)
{
 // ...
 gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
                                              "/com/example/ui/foowidget.ui");
 gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), hello_button_clicked);
}

Methods
GType _gType() @property
Widget self()Returns `this`, for use in `with` statements.
WidgetGidBuilder builder()Get builder for [gtk.widget.Widget] Returns: New builder object
bool appPaintable() @property
void appPaintable(bool propval) @property
bool canDefault() @property
void canDefault(bool propval) @property
bool canFocus() @property
void canFocus(bool propval) @property
bool compositeChild() @property
bool doubleBuffered() @propertyGet `doubleBuffered` property. Returns: Whether the widget is double buffered.
void doubleBuffered(bool propval) @propertySet `doubleBuffered` property. Params: propval = Whether the widget is double buffered.
void events(gdk.types.EventMask propval) @property
bool expand() @propertyGet `expand` property. Returns: Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand
void expand(bool propval) @propertySet `expand` property. Params: propval = Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand
bool focusOnClick() @propertyGet `focusOnClick` property. Returns: Whether the widget should grab focus when it is clicked with the mouse.
void focusOnClick(bool propval) @propertySet `focusOnClick` property. Params: propval = Whether the widget should grab focus when it is clicked with the mouse.
gtk.types.Align halign() @propertyGet `halign` property. Returns: How to distribute horizontal space if widget gets extra space, see #GtkAlign
void halign(gtk.types.Align propval) @propertySet `halign` property. Params: propval = How to distribute horizontal space if widget gets extra space, see #GtkAlign
bool hasTooltip() @propertyGet `hasTooltip` property. Returns: Enables or disables the emission of #GtkWidget::query-tooltip on @widget. A value of true indicates that @widget can have a tooltip, in this case the widget will...
void hasTooltip(bool propval) @propertySet `hasTooltip` property. Params: propval = Enables or disables the emission of #GtkWidget::query-tooltip on @widget. A value of true indicates that @widget can have a tooltip, in this case the wi...
int heightRequest() @property
void heightRequest(int propval) @property
bool hexpand() @propertyGet `hexpand` property. Returns: Whether to expand horizontally. See [gtk.widget.Widget.setHexpand].
void hexpand(bool propval) @propertySet `hexpand` property. Params: propval = Whether to expand horizontally. See [gtk.widget.Widget.setHexpand].
bool hexpandSet() @propertyGet `hexpandSet` property. Returns: Whether to use the #GtkWidget:hexpand property. See [gtk.widget.Widget.getHexpandSet].
void hexpandSet(bool propval) @propertySet `hexpandSet` property. Params: propval = Whether to use the #GtkWidget:hexpand property. See [gtk.widget.Widget.getHexpandSet].
int margin() @propertyGet `margin` property. Returns: Sets all four sides' margin at once. If read, returns max margin on any side.
void margin(int propval) @propertySet `margin` property. Params: propval = Sets all four sides' margin at once. If read, returns max margin on any side.
int marginBottom() @propertyGet `marginBottom` property. Returns: Margin on bottom side of widget.
void marginBottom(int propval) @propertySet `marginBottom` property. Params: propval = Margin on bottom side of widget.
int marginEnd() @propertyGet `marginEnd` property. Returns: Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
void marginEnd(int propval) @propertySet `marginEnd` property. Params: propval = Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
int marginLeft() @propertyGet `marginLeft` property. Returns: Margin on left side of widget.
void marginLeft(int propval) @propertySet `marginLeft` property. Params: propval = Margin on left side of widget.
int marginRight() @propertyGet `marginRight` property. Returns: Margin on right side of widget.
void marginRight(int propval) @propertySet `marginRight` property. Params: propval = Margin on right side of widget.
int marginStart() @propertyGet `marginStart` property. Returns: Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
void marginStart(int propval) @propertySet `marginStart` property. Params: propval = Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
int marginTop() @propertyGet `marginTop` property. Returns: Margin on top side of widget.
void marginTop(int propval) @propertySet `marginTop` property. Params: propval = Margin on top side of widget.
string name() @property
void name(string propval) @property
bool noShowAll() @property
void noShowAll(bool propval) @property
double opacity() @propertyGet `opacity` property. Returns: The requested opacity of the widget. See [gtk.widget.Widget.setOpacity] for more details about window opacity.
void opacity(double propval) @propertySet `opacity` property. Params: propval = The requested opacity of the widget. See [gtk.widget.Widget.setOpacity] for more details about window opacity.
void parent(gtk.container.Container propval) @property
bool receivesDefault() @property
void receivesDefault(bool propval) @property
int scaleFactor() @propertyGet `scaleFactor` property. Returns: The scale factor of the widget. See [gtk.widget.Widget.getScaleFactor] for more details about widget scaling.
bool sensitive() @property
void sensitive(bool propval) @property
gtk.style.Style style() @propertyGet `style` property. Returns: The style of the widget, which contains information about how it will look (colors, etc).
void style(gtk.style.Style propval) @propertySet `style` property. Params: propval = The style of the widget, which contains information about how it will look (colors, etc).
string tooltipMarkup() @propertyGet `tooltipMarkup` property. Returns: Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see [gtk.tooltip.Tooltip.se...
void tooltipMarkup(string propval) @propertySet `tooltipMarkup` property. Params: propval = Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see [gtk.tooltip.T...
string tooltipText() @propertyGet `tooltipText` property. Returns: Sets the text of tooltip to be the given string.
void tooltipText(string propval) @propertySet `tooltipText` property. Params: propval = Sets the text of tooltip to be the given string.
gtk.types.Align valign() @propertyGet `valign` property. Returns: How to distribute vertical space if widget gets extra space, see #GtkAlign
void valign(gtk.types.Align propval) @propertySet `valign` property. Params: propval = How to distribute vertical space if widget gets extra space, see #GtkAlign
bool vexpand() @propertyGet `vexpand` property. Returns: Whether to expand vertically. See [gtk.widget.Widget.setVexpand].
void vexpand(bool propval) @propertySet `vexpand` property. Params: propval = Whether to expand vertically. See [gtk.widget.Widget.setVexpand].
bool vexpandSet() @propertyGet `vexpandSet` property. Returns: Whether to use the #GtkWidget:vexpand property. See [gtk.widget.Widget.getVexpandSet].
void vexpandSet(bool propval) @propertySet `vexpandSet` property. Params: propval = Whether to use the #GtkWidget:vexpand property. See [gtk.widget.Widget.getVexpandSet].
bool visible() @property
void visible(bool propval) @property
int widthRequest() @property
void widthRequest(int propval) @property
gdk.window.Window window() @propertyGet `window` property. Returns: The widget's window if it is realized, null otherwise.
gtk.types.TextDirection getDefaultDirection()Obtains the current default reading direction. See [gtk.widget.Widget.setDefaultDirection]. Returns: the current default direction.
gtk.style.Style getDefaultStyle()Returns the default style used by all widgets initially. Returns: the default style. This #GtkStyle object is owned by GTK+ and should not be modified or freed.
void popCompositeChild()Cancels the effect of a previous call to [gtk.widget.Widget.pushCompositeChild].
void pushCompositeChild()Makes all newly-created widgets as composite children until the corresponding [gtk.widget.Widget.popCompositeChild] call.
void setDefaultDirection(gtk.types.TextDirection dir)Sets the default reading direction for widgets where the direction has not been explicitly set by [gtk.widget.Widget.setDirection].
bool activate()For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. Activation is what happens when you press Enter on a widget during key navigation. If widget isn't ...
void addAccelerator(string accelSignal, gtk.accel_group.AccelGroup accelGroup, uint accelKey, gdk.types.ModifierType accelMods, gtk.types.AccelFlags accelFlags)Installs an accelerator for this widget in accelgroup that causes accelsignal to be emitted if the accelerator is activated. The accelgroup needs to be added to the widget’s toplevel via [gtk.win...
void addDeviceEvents(gdk.device.Device device, gdk.types.EventMask events)Adds the device events in the bitfield events to the event mask for widget. See [gtk.widget.Widget.setDeviceEvents] for details.
void addEvents(int events)Adds the events in the bitfield events to the event mask for widget. See [gtk.widget.Widget.setEvents] and the [input handling overview][event-masks] for details.
void addMnemonicLabel(gtk.widget.Widget label)Adds a widget to the list of mnemonic labels for this widget. (See [gtk.widget.Widget.listMnemonicLabels]). Note the list of mnemonic labels for the widget is cleared when the widget is destroyed, ...
uint addTickCallback(gtk.types.TickCallback callback)Queues an animation frame update and adds a callback to be called before each frame. Until the tick callback is removed, it will be called frequently (usually at the frame rate of the output device...
bool canActivateAccel(uint signalId)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 ...
bool childFocus(gtk.types.DirectionType direction)This function is used by custom widget implementations; if you're writing an app, you’d use [gtk.widget.Widget.grabFocus] to move the focus to a particular widget, and [gtk.container.Container.se...
void childNotify(string childProperty)Emits a #GtkWidget::child-notify signal for the [child property][child-properties] child_property on widget.
void classPath(out uint pathLength, out string path, out string pathReversed)Same as [gtk.widget.Widget.path], but always uses the name of a widget’s type, never uses a custom name set with [gtk.widget.Widget.setName].
bool computeExpand(gtk.types.Orientation orientation)Computes whether a container should give this widget extra space when possible. Containers should check this, rather than looking at [gtk.widget.Widget.getHexpand] or [gtk.widget.Widget.getVexpand].
pango.context.Context createPangoContext()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.Widget.getPangoContext]. Returns...
pango.layout.Layout createPangoLayout(string text = null)Creates a new #PangoLayout with the appropriate font map, font description, and base direction for drawing text for this widget.
void destroy()Destroys a widget.
void destroyed(gtk.widget.Widget widgetPointer)This function sets *widgetpointer to null if widgetpointer != null. It’s intended to be used as a callback connected to the “destroy” signal of a widget. You connect [gtk.widget.Widget.destr...
bool deviceIsShadowed(gdk.device.Device device)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 spec...
gdk.drag_context.DragContext dragBegin(gtk.target_list.TargetList targets, gdk.types.DragAction actions, int button, gdk.event.Event event = null)This function is equivalent to [gtk.widget.Widget.dragBeginWithCoordinates], passing -1, -1 as coordinates.
gdk.drag_context.DragContext dragBeginWithCoordinates(gtk.target_list.TargetList targets, gdk.types.DragAction actions, int button, gdk.event.Event event, int x, int y)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.widget.Widget.dragSourceSet] is used.
bool dragCheckThreshold(int startX, int startY, int currentX, int currentY)Checks to see if a mouse drag starting at (startx, starty) and ending at (currentx, currenty) has passed the GTK+ drag threshold, and thus should trigger the beginning of a drag-and-drop operation.
void dragDestAddImageTargets()Add the image targets supported by #GtkSelectionData to the target list of the drag destination. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList.addI...
void dragDestAddTextTargets()Add the text targets supported by #GtkSelectionData to the target list of the drag destination. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList.addTe...
void dragDestAddUriTargets()Add the URI targets supported by #GtkSelectionData to the target list of the drag destination. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList.addUri...
gdk.atom.Atom dragDestFindTarget(gdk.drag_context.DragContext context, gtk.target_list.TargetList targetList = null)Looks for a match between the supported targets of context and the desttargetlist, returning the first matching target, otherwise returning `GDKNONE`. desttargetlist should usually be the return va...
gtk.target_list.TargetList dragDestGetTargetList()Returns the list of targets this widget can accept from drag-and-drop. Returns: the #GtkTargetList, or null if none
bool dragDestGetTrackMotion()Returns whether the widget has been configured to always emit #GtkWidget::drag-motion signals. Returns: true if the widget always emits #GtkWidget::drag-motion events
void dragDestSet(gtk.types.DestDefaults flags, gtk.target_entry.TargetEntry[] targets, gdk.types.DragAction actions)Sets a widget as a potential drop destination, and adds default behaviors.
void dragDestSetProxy(gdk.window.Window proxyWindow, gdk.types.DragProtocol protocol, bool useCoordinates)Sets this widget as a proxy for drops to another window.
void dragDestSetTargetList(gtk.target_list.TargetList targetList = null)Sets the target types that this widget can accept from drag-and-drop. The widget must first be made into a drag destination with [gtk.widget.Widget.dragDestSet].
void dragDestSetTrackMotion(bool trackMotion)Tells the widget to emit #GtkWidget::drag-motion and #GtkWidget::drag-leave events regardless of the targets and the [gtk.types.DestDefaults.Motion] flag.
void dragDestUnset()Clears information about a drop destination set with [gtk.widget.Widget.dragDestSet]. The widget will no longer receive notification of drags.
void dragGetData(gdk.drag_context.DragContext context, gdk.atom.Atom target, uint time)Gets the data associated with a drag. When the data is received or the retrieval fails, GTK+ will emit a #GtkWidget::drag-data-received signal. Failure of the retrieval is indicated by the length f...
void dragHighlight()Highlights a widget as a currently hovered drop target. To end the highlight, call [gtk.widget.Widget.dragUnhighlight]. GTK+ calls this automatically if [gtk.types.DestDefaults.Highlight] is set.
void dragSourceAddImageTargets()Add the writable image targets supported by #GtkSelectionData to the target list of the drag source. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList....
void dragSourceAddTextTargets()Add the text targets supported by #GtkSelectionData to the target list of the drag source. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList.addTextTa...
void dragSourceAddUriTargets()Add the URI targets supported by #GtkSelectionData to the target list of the drag source. The targets are added with info = 0. If you need another value, use [gtk.target_list.TargetList.addUriTarg...
gtk.target_list.TargetList dragSourceGetTargetList()Gets the list of targets this widget can provide for drag-and-drop. Returns: the #GtkTargetList, or null if none
void dragSourceSet(gdk.types.ModifierType startButtonMask, gtk.target_entry.TargetEntry[] targets, gdk.types.DragAction actions)Sets up a widget so that GTK+ will start a drag operation when the user clicks and drags on the widget. The widget must have a window.
void dragSourceSetIconGicon(gio.icon.Icon icon)Sets the icon that will be used for drags from a particular source to icon. See the docs for #GtkIconTheme for more details.
void dragSourceSetIconName(string iconName)Sets the icon that will be used for drags from a particular source to a themed icon. See the docs for #GtkIconTheme for more details.
void dragSourceSetIconPixbuf(gdkpixbuf.pixbuf.Pixbuf pixbuf)Sets the icon that will be used for drags from a particular widget from a #GdkPixbuf. GTK+ retains a reference for pixbuf and will release it when it is no longer needed.
void dragSourceSetIconStock(string stockId)Sets the icon that will be used for drags from a particular source to a stock icon.
void dragSourceSetTargetList(gtk.target_list.TargetList targetList = null)Changes the target types that this widget offers for drag-and-drop. The widget must first be made into a drag source with [gtk.widget.Widget.dragSourceSet].
void dragSourceUnset()Undoes the effects of [gtk.widget.Widget.dragSourceSet].
void dragUnhighlight()Removes a highlight set by [gtk.widget.Widget.dragHighlight] from a widget.
void draw(cairo.context.Context cr)Draws widget to cr. The top left corner of the widget will be drawn to the currently set origin point of cr.
void ensureStyle()Ensures that widget has a style (widget->style).
void errorBell()Notifies the user about an input-related error on this widget. If the #GtkSettings:gtk-error-bell setting is true, it calls [gdk.window.Window.beep], otherwise it does nothing.
bool event(gdk.event.Event event)Rarely-used function. This function is used to emit the event signals on a widget (those signals should never be emitted without using this function to do so). If you want to synthesize an event th...
void freezeChildNotify()Stops emission of #GtkWidget::child-notify signals on widget. The signals are queued until [gtk.widget.Widget.thawChildNotify] is called on widget.
atk.object.ObjectWrap getAccessible()Returns the accessible object that describes the widget to an assistive technology.
gio.action_group.ActionGroup getActionGroup(string prefix)Retrieves the #GActionGroup that was registered using prefix. The resulting #GActionGroup may have been registered to widget or any #GtkWidget in its ancestry.
int getAllocatedBaseline()Returns the baseline that has currently been allocated to widget. This function is intended to be used when implementing handlers for the #GtkWidget::draw function, and when allocating child widget...
int getAllocatedHeight()Returns the height that has currently been allocated to widget. This function is intended to be used when implementing handlers for the #GtkWidget::draw function. Returns: the height of the widget
void getAllocatedSize(out gtk.types.Allocation allocation, out int baseline)Retrieves the widget’s allocated size.
int getAllocatedWidth()Returns the width that has currently been allocated to widget. This function is intended to be used when implementing handlers for the #GtkWidget::draw function. Returns: the width of the widget
void getAllocation(out gtk.types.Allocation allocation)Retrieves the widget’s allocation.
gtk.widget.Widget getAncestor(gobject.types.GType widgetType)Gets the first ancestor of widget with type widgettype. For example, `gtkwidgetgetancestor (widget, GTKTYPEBOX)` gets the first #GtkBox that’s an ancestor of widget. No reference will be added to...
bool getAppPaintable()Determines whether the application intends to draw on the widget in an #GtkWidget::draw handler.
bool getCanDefault()Determines whether widget can be a default widget. See [gtk.widget.Widget.setCanDefault]. Returns: true if widget can be a default widget, false otherwise
bool getCanFocus()Determines whether widget can own the input focus. See [gtk.widget.Widget.setCanFocus]. Returns: true if widget can own the input focus, false otherwise
void getChildRequisition(out gtk.requisition.Requisition requisition)This function is only for use in widget implementations. Obtains widget->requisition, unless someone has forced a particular geometry on the widget (e.g. with [gtk.widget.Widget.setSizeRequest]), i...
bool getChildVisible()Gets the value set with [gtk.widget.Widget.setChildVisible]. If you feel a need to use this function, your code probably needs reorganization.
void getClip(out gtk.types.Allocation clip)Retrieves the widget’s clip area.
gtk.clipboard.Clipboard getClipboard(gdk.atom.Atom selection)Returns the clipboard object for the given selection to be used with widget. widget must have a #GdkDisplay associated with it, so must be attached to a toplevel window.
string getCompositeName()Obtains the composite name of a widget. Returns: the composite name of widget, or null if widget is not a composite child. The string should be freed when it is no longer needed.
bool getDeviceEnabled(gdk.device.Device device)Returns whether device can interact with widget and its children. See [gtk.widget.Widget.setDeviceEnabled].
gdk.types.EventMask getDeviceEvents(gdk.device.Device device)Returns the events mask for the widget corresponding to an specific device. These are the events that the widget will receive when device operates on it.
gtk.types.TextDirection getDirection()Gets the reading direction for a particular widget. See [gtk.widget.Widget.setDirection]. Returns: the reading direction for the widget.
gdk.display.Display getDisplay()Get the #GdkDisplay for the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a #GtkWindow at the top.
bool getDoubleBuffered()Determines whether the widget is double buffered.
int getEvents()Returns the event mask (see #GdkEventMask) for the widget. These are the events that the widget will receive.
bool getFocusOnClick()Returns whether the widget should grab focus when it is clicked with the mouse. See [gtk.widget.Widget.setFocusOnClick]. Returns: true if the widget should grab focus when it is clicked with the mo...
pango.font_map.FontMap getFontMap()Gets the font map that has been set with [gtk.widget.Widget.setFontMap]. Returns: A #PangoFontMap, or null
cairo.font_options.FontOptions getFontOptions()Returns the #cairofontoptionst used for Pango rendering. When not set, the defaults font options for the #GdkScreen will be used. Returns: the #cairofontoptionst or null if not set
gdk.frame_clock.FrameClock getFrameClock()Obtains the frame clock for a widget. The frame clock is a global “ticker” that can be used to drive animations and repaints. The most common reason to get the frame clock is to call [gdk.fram...
gtk.types.Align getHalign()Gets the value of the #GtkWidget:halign property.
bool getHasTooltip()Returns the current value of the has-tooltip property. See #GtkWidget:has-tooltip for more information. Returns: current value of has-tooltip on widget.
bool getHasWindow()Determines whether widget has a #GdkWindow of its own. See [gtk.widget.Widget.setHasWindow]. Returns: true if widget has a window, false otherwise
bool getHexpand()Gets whether the widget would like any available extra horizontal space. When a user resizes a #GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrolla...
bool getHexpandSet()Gets whether [gtk.widget.Widget.setHexpand] has been used to explicitly set the expand flag on this widget.
bool getMapped()Whether the widget is mapped. Returns: true if the widget is mapped, false otherwise.
int getMarginBottom()Gets the value of the #GtkWidget:margin-bottom property. Returns: The bottom margin of widget
int getMarginEnd()Gets the value of the #GtkWidget:margin-end property. Returns: The end margin of widget
int getMarginLeft()Gets the value of the #GtkWidget:margin-left property. Returns: The left margin of widget
int getMarginRight()Gets the value of the #GtkWidget:margin-right property. Returns: The right margin of widget
int getMarginStart()Gets the value of the #GtkWidget:margin-start property. Returns: The start margin of widget
int getMarginTop()Gets the value of the #GtkWidget:margin-top property. Returns: The top margin of widget
gdk.types.ModifierType getModifierMask(gdk.types.ModifierIntent intent)Returns the modifier mask the widget’s windowing system backend uses for a particular purpose.
gtk.rc_style.RcStyle getModifierStyle()Returns the current modifier style for the widget. (As set by [gtk.widget.Widget.modifyStyle].) If no style has previously set, a new #GtkRcStyle will be created with all values unset, and set as t...
string getName()Retrieves the name of a widget. See [gtk.widget.Widget.setName] for the significance of widget names. Returns: name of the widget. This string is owned by GTK+ and should not be modified or freed
bool getNoShowAll()Returns the current value of the #GtkWidget:no-show-all property, which determines whether calls to [gtk.widget.Widget.showAll] will affect this widget. Returns: the current value of the “no-show...
double getOpacity()Fetches the requested opacity for this widget. See [gtk.widget.Widget.setOpacity]. Returns: the requested opacity for this widget.
pango.context.Context getPangoContext()Gets a #PangoContext with the appropriate font map, font description, and base direction for this widget. Unlike the context returned by [gtk.widget.Widget.createPangoContext], this context is owne...
gtk.widget.Widget getParent()Returns the parent container of widget. Returns: the parent container of widget, or null
gdk.window.Window getParentWindow()Gets widget’s parent window, or null if it does not have one. Returns: the parent window of widget, or null if it does not have a parent window.
gtk.widget_path.WidgetPath getPath()Returns the #GtkWidgetPath representing widget, if the widget is not connected to a toplevel widget, a partial path will be created. Returns: The #GtkWidgetPath representing widget
void getPointer(out int x, out int y)Obtains the location of the mouse pointer in widget coordinates. Widget coordinates are a bit odd; for historical reasons, they are defined as widget->window coordinates for widgets that return tru...
void getPreferredHeight(out int minimumHeight, out int naturalHeight)Retrieves a widget’s initial minimum and natural height.
void getPreferredHeightAndBaselineForWidth(int width, out int minimumHeight, out int naturalHeight, out int minimumBaseline, out int naturalBaseline)Retrieves a widget’s minimum and natural height and the corresponding baselines if it would be given the specified width, or the default height if width is -1. The baselines may be -1 which means...
void getPreferredHeightForWidth(int width, out int minimumHeight, out int naturalHeight)Retrieves a widget’s minimum and natural height if it would be given the specified width.
void getPreferredSize(out gtk.requisition.Requisition minimumSize, out gtk.requisition.Requisition naturalSize)Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
void getPreferredWidth(out int minimumWidth, out int naturalWidth)Retrieves a widget’s initial minimum and natural width.
void getPreferredWidthForHeight(int height, out int minimumWidth, out int naturalWidth)Retrieves a widget’s minimum and natural width if it would be given the specified height.
bool getRealized()Determines whether widget is realized. Returns: true if widget is realized, false otherwise
bool getReceivesDefault()Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
gtk.types.SizeRequestMode getRequestMode()Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
void getRequisition(out gtk.requisition.Requisition requisition)Retrieves the widget’s requisition.
gdk.window.Window getRootWindow()Get the root window where this widget is located. This function can only be called after the widget has been added to a widget hierarchy with #GtkWindow at the top.
int getScaleFactor()Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. On traditional systems this is 1, on high density outputs, it can be a higher value (typically 2).
gdk.screen.Screen getScreen()Get the #GdkScreen from the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a #GtkWindow at the top.
bool getSensitive()Returns the widget’s sensitivity (in the sense of returning the value that has been set using [gtk.widget.Widget.setSensitive]).
gtk.settings.Settings getSettings()Gets the settings object holding the settings used for this widget.
void getSizeRequest(out int width, out int height)Gets the size request that was explicitly set for the widget using [gtk.widget.Widget.setSizeRequest]. A value of -1 stored in width or height indicates that that dimension has not been set explici...
gtk.types.StateType getState()Returns the widget’s state. See [gtk.widget.Widget.setState]. Returns: the state of widget.
gtk.types.StateFlags getStateFlags()Returns the widget state as a flag set. It is worth mentioning that the effective [gtk.types.StateFlags.Insensitive] state will be returned, that is, also based on parent insensitivity, even if wid...
gtk.style.Style getStyle()Simply an accessor function that returns widget->style. Returns: the widget’s #GtkStyle
gtk.style_context.StyleContext getStyleContext()Returns the style context associated to widget. The returned object is guaranteed to be the same for the lifetime of widget. Returns: a #GtkStyleContext. This memory is owned by widget and must not...
bool getSupportMultidevice()Returns true if widget is multiple pointer aware. See [gtk.widget.Widget.setSupportMultidevice] for more information. Returns: true if widget is multidevice aware.
gobject.object.ObjectWrap getTemplateChild(gobject.types.GType widgetType, string name)Fetch an object build from the template XML for widget_type in this widget instance.
string getTooltipMarkup()Gets the contents of the tooltip for widget. Returns: the tooltip text, or null. You should free the returned string with [glib.global.gfree] when done.
string getTooltipText()Gets the contents of the tooltip for widget. Returns: the tooltip text, or null. You should free the returned string with [glib.global.gfree] when done.
gtk.window.Window getTooltipWindow()Returns the #GtkWindow of the current tooltip. This can be the GtkWindow created by default, or the custom tooltip window set using [gtk.widget.Widget.setTooltipWindow]. Returns: The #GtkWindow of ...
gtk.widget.Widget getToplevel()This function returns the topmost widget in the container hierarchy widget is a part of. If widget has no parent widgets, it will be returned as the topmost widget. No reference will be added to th...
gtk.types.Align getValign()Gets the value of the #GtkWidget:valign property.
gtk.types.Align getValignWithBaseline()Gets the value of the #GtkWidget:valign property, including [gtk.types.Align.Baseline]. Returns: the vertical alignment of widget
bool getVexpand()Gets whether the widget would like any available extra vertical space.
bool getVexpandSet()Gets whether [gtk.widget.Widget.setVexpand] has been used to explicitly set the expand flag on this widget.
bool getVisible()Determines whether the widget is visible. If you want to take into account whether the widget’s parent is also marked as visible, use [gtk.widget.Widget.isVisible] instead.
gdk.visual.Visual getVisual()Gets the visual that will be used to render widget. Returns: the visual for widget
gdk.window.Window getWindow()Returns the widget’s window if it is realized, null otherwise Returns: widget’s window.
void grabAdd()Makes widget the current grabbed widget.
void grabDefault()Causes widget to become the default widget. widget must be able to be a default widget; typically you would ensure this yourself by calling [gtk.widget.Widget.setCanDefault] with a true value. The ...
void grabFocus()Causes widget to have the keyboard focus for the #GtkWindow it's inside. widget must be a focusable widget, such as a #GtkEntry; something like #GtkFrame won’t work.
void grabRemove()Removes the grab from the given widget.
bool hasDefault()Determines whether widget is the current default widget within its toplevel. See [gtk.widget.Widget.setCanDefault]. Returns: true if widget is the current default widget within its toplevel, false ...
bool hasFocus()Determines if the widget has the global input focus. See [gtk.widget.Widget.isFocus] for the difference between having the global input focus, and only having the focus within a toplevel. Returns: ...
bool hasGrab()Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse).
bool hasRcStyle()Determines if the widget style has been looked up through the rc mechanism. Returns: true if the widget has been looked up through the rc mechanism, false otherwise.
bool hasScreen()Checks whether there is a #GdkScreen is associated with this widget. All toplevel widgets have an associated screen, and all widgets added into a hierarchy with a toplevel window at the top. Return...
bool hasVisibleFocus()Determines if the widget should show a visible indication that it has the global input focus. This is a convenience function for use in ::draw handlers that takes into account whether focus indicat...
void hide()Reverses the effects of [gtk.widget.Widget.show], causing the widget to be hidden (invisible to the user).
bool hideOnDelete()Utility function; intended to be connected to the #GtkWidget::delete-event signal on a #GtkWindow. The function calls [gtk.widget.Widget.hide] on its argument, then returns true. If connected to ::...
bool inDestruction()Returns whether the widget is currently being destroyed. This information can sometimes be used to avoid doing unnecessary work. Returns: true if widget is being destroyed
void initTemplate()Creates and initializes child widgets defined in templates. This function must be called in the instance initializer for any class which assigned itself a template using [gtk.widget_class.WidgetCla...
void inputShapeCombineRegion(cairo.region.Region region = null)Sets an input shape for this widget’s GDK window. This allows for windows which react to mouse click in a nonrectangular region, see [gdk.window.Window.inputShapeCombineRegion] for more information.
void insertActionGroup(string name, gio.action_group.ActionGroup group = null)Inserts group into widget. Children of widget that implement #GtkActionable can then be associated with actions in group by setting their “action-name” to prefix.`action-name`.
bool intersect(gdk.rectangle.Rectangle area, out gdk.rectangle.Rectangle intersection)Computes the intersection of a widget’s area and area, storing the intersection in intersection, and returns true if there was an intersection. intersection may be null if you’re only interest...
bool isAncestor(gtk.widget.Widget ancestor)Determines whether widget is somewhere inside ancestor, possibly with intermediate containers.
bool isComposited()Whether widget can rely on having its alpha channel drawn correctly. On X11 this function returns whether a compositing manager is running for widget’s screen.
bool isDrawable()Determines whether widget can be drawn to. A widget can be drawn to if it is mapped and visible. Returns: true if widget is drawable, false otherwise
bool isFocus()Determines if the widget is the focus widget within its toplevel. (This does not mean that the #GtkWidget:has-focus property is necessarily set; #GtkWidget:has-focus will only be set if the topleve...
bool isSensitive()Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive Returns: true if the widget is effectively sensitive
bool isToplevel()Determines whether widget is a toplevel widget.
bool isVisible()Determines whether the widget and all its parents are marked as visible.
bool keynavFailed(gtk.types.DirectionType direction)This function should be called whenever keyboard navigation within a single widget hits a boundary. The function emits the #GtkWidget::keynav-failed signal on the widget and its return value should...
gobject.closure.Closure[] listAccelClosures()Lists the closures used by widget for accelerator group connections with [gtk.accelgroup.AccelGroup.connectByPath] or [gtk.accelgroup.AccelGroup.connect]. The closures can be used to monitor accele...
string[] listActionPrefixes()Retrieves a null-terminated array of strings containing the prefixes of #GActionGroup's available to widget. Returns: a null-terminated array of strings.
gtk.widget.Widget[] listMnemonicLabels()Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, [gtk.label.Label.setMnemonicWidget]).
void map()This function is only for use in widget implementations. Causes a widget to be mapped if it isn’t already.
bool mnemonicActivate(bool groupCycling)Emits the #GtkWidget::mnemonic-activate signal.
void modifyBase(gtk.types.StateType state, gdk.color.Color color)Sets the base color for a widget in a particular state. All other style values are left untouched. The base color is the background color used along with the text color (see [gtk.widget.Widget.modi...
void modifyBg(gtk.types.StateType state, gdk.color.Color color)Sets the background color for a widget in a particular state.
void modifyCursor(gdk.color.Color primary, gdk.color.Color secondary)Sets the cursor color to use in a widget, overriding the #GtkWidget cursor-color and secondary-cursor-color style properties.
void modifyFg(gtk.types.StateType state, gdk.color.Color color)Sets the foreground color for a widget in a particular state.
void modifyFont(pango.font_description.FontDescription fontDesc = null)Sets the font to use for a widget.
void modifyStyle(gtk.rc_style.RcStyle style)Modifies style values on the widget.
void modifyText(gtk.types.StateType state, gdk.color.Color color)Sets the text color for a widget in a particular state.
void overrideBackgroundColor(gtk.types.StateFlags state, gdk.rgba.RGBA color)Sets the background color to use for a widget.
void overrideColor(gtk.types.StateFlags state, gdk.rgba.RGBA color)Sets the color to use for a widget.
void overrideCursor(gdk.rgba.RGBA cursor, gdk.rgba.RGBA secondaryCursor)Sets the cursor color to use in a widget, overriding the cursor-color and secondary-cursor-color style properties. All other style values are left untouched. See also [gtk.widget.Widget.modifyStyle].
void overrideFont(pango.font_description.FontDescription fontDesc = null)Sets the font to use for a widget. All other style values are left untouched. See [gtk.widget.Widget.overrideColor].
void overrideSymbolicColor(string name, gdk.rgba.RGBA color)Sets a symbolic color for a widget.
void path(out uint pathLength, out string path, out string pathReversed)Obtains the full path to widget. The path is simply the name of a widget and all its parents in the container hierarchy, separated by periods. The name of a widget comes from [gtk.widget.Widget.get...
void queueAllocate()This function is only for use in widget implementations.
void queueComputeExpand()Mark widget as needing to recompute its expand flags. Call this function when setting legacy expand child properties on the child of a container.
void queueDraw()Equivalent to calling [gtk.widget.Widget.queueDrawArea] for the entire area of a widget.
void queueDrawArea(int x, int y, int width, int height)Convenience function that calls [gtk.widget.Widget.queueDrawRegion] on the region created from the given coordinates.
void queueDrawRegion(cairo.region.Region region)Invalidates the area of widget defined by region by calling [gdk.window.Window.invalidateRegion] on the widget’s window and all its child windows. Once the main loop becomes idle (after the curre...
void queueResize()This function is only for use in widget implementations. Flags a widget to have its size renegotiated; should be called when a widget for some reason has a new size request. For example, when you c...
void queueResizeNoRedraw()This function works like [gtk.widget.Widget.queueResize], except that the widget is not invalidated.
void realize()Creates the GDK (windowing system) resources associated with a widget. For example, widget->window will be created when a widget is realized. Normally realization happens implicitly; if you show ...
cairo.region.Region regionIntersect(cairo.region.Region region)Computes the intersection of a widget’s area and region, returning the intersection. The result may be empty, use [cairo.region.Region.isEmpty] to check.
void registerWindow(gdk.window.Window window)Registers a #GdkWindow with the widget and sets it up so that the widget receives events for it. Call [gtk.widget.Widget.unregisterWindow] when destroying the window.
bool removeAccelerator(gtk.accel_group.AccelGroup accelGroup, uint accelKey, gdk.types.ModifierType accelMods)Removes an accelerator from widget, previously installed with [gtk.widget.Widget.addAccelerator].
void removeMnemonicLabel(gtk.widget.Widget label)Removes a widget from the list of mnemonic labels for this widget. (See [gtk.widget.Widget.listMnemonicLabels]). The widget must have previously been added to the list with [gtk.widget.Widget.addMn...
void removeTickCallback(uint id)Removes a tick callback previously registered with [gtk.widget.Widget.addTickCallback].
gdkpixbuf.pixbuf.Pixbuf renderIcon(string stockId, gtk.types.IconSize size, string detail = null)A convenience function that uses the theme settings for widget to look up stockid and render it to a pixbuf. stockid should be a stock icon ID such as #GTKSTOCKOPEN or #GTKSTOCKOK. size should be a...
gdkpixbuf.pixbuf.Pixbuf renderIconPixbuf(string stockId, gtk.types.IconSize size)A convenience function that uses the theme engine and style settings for widget to look up stockid and render it to a pixbuf. stockid should be a stock icon ID such as #GTKSTOCKOPEN or #GTKSTOCKOK....
void reparent(gtk.widget.Widget newParent)Moves a widget from one #GtkContainer to another, handling reference count issues to avoid destroying the widget.
void resetRcStyles()Reset the styles of widget and all descendents, so when they are looked up again, they get the correct values for the currently loaded RC file settings.
void resetStyle()Updates the style context of widget and all descendants by updating its widget path. #GtkContainers may want to use this on a child when reordering it in a way that a different style might apply to...
int sendExpose(gdk.event.Event event)Very rarely-used function. This function is used to emit an expose event on a widget. This function is not normally used directly. The only time it is used is when propagating an expose event to a ...
bool sendFocusChange(gdk.event.Event event)Sends the focus change event to widget
void setAccelPath(string accelPath = null, gtk.accel_group.AccelGroup accelGroup = null)Given an accelerator group, accelgroup, and an accelerator path, accelpath, sets up an accelerator in accelgroup so whenever the key binding that is defined for accelpath is pressed, widget will be...
void setAllocation(gtk.types.Allocation allocation)Sets the widget’s allocation. This should not be used directly, but from within a widget’s size_allocate method.
void setAppPaintable(bool appPaintable)Sets whether the application intends to draw on the widget in an #GtkWidget::draw handler.
void setCanDefault(bool canDefault)Specifies whether widget can be a default widget. See [gtk.widget.Widget.grabDefault] for details about the meaning of “default”.
void setCanFocus(bool canFocus)Specifies whether widget can own the input focus. See [gtk.widget.Widget.grabFocus] for actually setting the input focus on a widget.
void setChildVisible(bool isVisible)Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with [gtk.widget.Widget.show].
void setClip(gtk.types.Allocation clip)Sets the widget’s clip. This must not be used directly, but from within a widget’s size_allocate method. It must be called after [gtk.widget.Widget.setAllocation] (or after chaining up to the ...
void setCompositeName(string name)Sets a widgets composite name. The widget must be a composite child of its parent; see [gtk.widget.Widget.pushCompositeChild].
void setDeviceEnabled(gdk.device.Device device, bool enabled)Enables or disables a #GdkDevice to interact with widget and all its children.
void setDeviceEvents(gdk.device.Device device, gdk.types.EventMask events)Sets the device event mask (see #GdkEventMask) for a widget. The event mask determines which events a widget will receive from device. Keep in mind that different widgets have different default eve...
void setDirection(gtk.types.TextDirection dir)Sets the reading direction on a particular widget. This direction controls the primary direction for widgets containing text, and also the direction in which the children of a container are packed....
void setDoubleBuffered(bool doubleBuffered)Widgets are double buffered by default; you can use this function to turn off the buffering. “Double buffered” simply means that [gdk.window.Window.beginDrawFrame] and [gdk.window.Window.endDra...
void setEvents(int events)Sets the event mask (see #GdkEventMask) 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 ch...
void setFocusOnClick(bool focusOnClick)Sets whether the widget should grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed f...
void setFontMap(pango.font_map.FontMap fontMap = null)Sets the font map to use for Pango rendering. When not set, the widget will inherit the font map from its parent.
void setFontOptions(cairo.font_options.FontOptions options = null)Sets the #cairofontoptions_t used for Pango rendering in this widget. When not set, the default font options for the #GdkScreen will be used.
void setHalign(gtk.types.Align align_)Sets the horizontal alignment of widget. See the #GtkWidget:halign property.
void setHasTooltip(bool hasTooltip)Sets the has-tooltip property on widget to has_tooltip. See #GtkWidget:has-tooltip for more information.
void setHasWindow(bool hasWindow)Specifies whether widget has a #GdkWindow of its own. Note that all realized widgets have a non-null “window” pointer ([gtk.widget.Widget.getWindow] never returns a null window when a widget is...
void setHexpand(bool expand)Sets whether the widget would like any available extra horizontal space. When a user resizes a #GtkWindow, widgets with expand=TRUE generally receive the extra space. For example, a list or scrolla...
void setHexpandSet(bool set)Sets whether the hexpand flag (see [gtk.widget.Widget.getHexpand]) will be used.
void setMapped(bool mapped)Marks the widget as being mapped.
void setMarginBottom(int margin)Sets the bottom margin of widget. See the #GtkWidget:margin-bottom property.
void setMarginEnd(int margin)Sets the end margin of widget. See the #GtkWidget:margin-end property.
void setMarginLeft(int margin)Sets the left margin of widget. See the #GtkWidget:margin-left property.
void setMarginRight(int margin)Sets the right margin of widget. See the #GtkWidget:margin-right property.
void setMarginStart(int margin)Sets the start margin of widget. See the #GtkWidget:margin-start property.
void setMarginTop(int margin)Sets the top margin of widget. See the #GtkWidget:margin-top property.
void setName(string name)Widgets can be named, which allows you to refer to them from a CSS file. You can apply a style to widgets with a particular name in the CSS file. See the documentation for the CSS syntax (on the sa...
void setNoShowAll(bool noShowAll)Sets the #GtkWidget:no-show-all property, which determines whether calls to [gtk.widget.Widget.showAll] will affect this widget.
void setOpacity(double opacity)Request the widget to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Opacity values are clamped to the [0,1] range.). This works on both toplevel wid...
void setParent(gtk.widget.Widget parent)This function is useful only when implementing subclasses of #GtkContainer. Sets the container as the parent of widget, and takes care of some details such as updating the state and style of the ch...
void setParentWindow(gdk.window.Window parentWindow)Sets a non default parent window for widget.
void setRealized(bool realized)Marks the widget as being realized. This function must only be called after all #GdkWindows for the widget have been created and registered.
void setReceivesDefault(bool receivesDefault)Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
void setRedrawOnAllocate(bool redrawOnAllocate)Sets whether the entire widget is queued for drawing when its size allocation changes. By default, this setting is true and the entire widget is redrawn on every size change. If your widget leaves ...
void setSensitive(bool 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 k...
void setSizeRequest(int width, int height)Sets the minimum size of a widget; that is, the widget’s size request will be at least width by height. You can use this function to force a widget to be larger than it normally would be.
void setState(gtk.types.StateType state)This function is for use in widget implementations. Sets the state of a widget (insensitive, prelighted, etc.) Usually you should set the state using wrapper functions such as [gtk.widget.Widget.se...
void setStateFlags(gtk.types.StateFlags flags, bool clear)This function is for use in widget implementations. Turns on flag values in the current widget state (insensitive, prelighted, etc.).
void setStyle(gtk.style.Style style = null)Used to set the #GtkStyle for a widget (widget->style). Since GTK 3, this function does nothing, the passed in style is ignored.
void setSupportMultidevice(bool supportMultidevice)Enables or disables multiple pointer awareness. If this setting is true, widget will start receiving multiple, per device enter/leave events. Note that if custom #GdkWindows are created in #GtkWidg...
void setTooltipMarkup(string markup = null)Sets markup as the contents of the tooltip, which is marked up with the [Pango text markup language][PangoMarkupFormat].
void setTooltipText(string text = null)Sets text as the contents of the tooltip. This function will take care of setting #GtkWidget:has-tooltip to true and of the default handler for the #GtkWidget::query-tooltip signal.
void setTooltipWindow(gtk.window.Window customWindow = null)Replaces the default window used for displaying tooltips with customwindow. GTK+ will take care of showing and hiding customwindow at the right moment, to behave likewise as the default tooltip win...
void setValign(gtk.types.Align align_)Sets the vertical alignment of widget. See the #GtkWidget:valign property.
void setVexpand(bool expand)Sets whether the widget would like any available extra vertical space.
void setVexpandSet(bool set)Sets whether the vexpand flag (see [gtk.widget.Widget.getVexpand]) will be used.
void setVisible(bool visible)Sets the visibility state of widget. Note that setting this to true doesn’t mean the widget is actually viewable, see [gtk.widget.Widget.getVisible].
void setVisual(gdk.visual.Visual visual = null)Sets the visual that should be used for by widget and its children for creating #GdkWindows. The visual must be on the same #GdkScreen as returned by [gtk.widget.Widget.getScreen], so handling the ...
void setWindow(gdk.window.Window window)Sets a widget’s window. This function should only be used in a widget’s #GtkWidget::realize implementation. The `window` passed is usually either new window created with [gdk.window.Window.new_...
void shapeCombineRegion(cairo.region.Region region = null)Sets a shape for this widget’s GDK window. This allows for transparent windows etc., see [gdk.window.Window.shapeCombineRegion] for more information.
void show()Flags a widget to be displayed. Any widget that isn’t shown will not appear on the screen. If you want to show all the widgets in a container, it’s easier to call [gtk.widget.Widget.showAll] on...
void showAll()Recursively shows a widget, and any child widgets (if the widget is a container).
void showNow()Shows a widget. If the widget is an unmapped toplevel widget (i.e. a #GtkWindow that has not yet been shown), enter the main loop and wait for the window to actually be mapped. Be careful; because ...
void sizeAllocate(gtk.types.Allocation allocation)This function is only used by #GtkContainer subclasses, to assign a size and position to their child widgets.
void sizeAllocateWithBaseline(gtk.types.Allocation allocation, int baseline)This function is only used by #GtkContainer subclasses, to assign a size, position and (optionally) baseline to their child widgets.
void sizeRequest(out gtk.requisition.Requisition requisition)This function is typically used when implementing a #GtkContainer subclass. Obtains the preferred size of a widget. The container uses this information to arrange its child widgets and decide what...
void styleAttach()This function attaches the widget’s #GtkStyle to the widget's #GdkWindow. It is a replacement for
void styleGetProperty(string propertyName, gobject.value.Value value)Gets the value of a style property of widget.
void thawChildNotify()Reverts the effect of a previous call to [gtk.widget.Widget.freezeChildNotify]. This causes all queued #GtkWidget::child-notify signals on widget to be emitted.
bool translateCoordinates(gtk.widget.Widget destWidget, int srcX, int srcY, out int destX, out int destY)Translate coordinates relative to srcwidget’s allocation to coordinates relative to destwidget’s allocations. In order to perform this operation, both widgets must be realized, and must share a...
void triggerTooltipQuery()Triggers a tooltip query on the display where the toplevel of widget is located. See [gtk.tooltip.Tooltip.triggerTooltipQuery] for more information.
void unmap()This function is only for use in widget implementations. Causes a widget to be unmapped if it’s currently mapped.
void unparent()This function is only for use in widget implementations. Should be called by implementations of the remove method on #GtkContainer, to dissociate a child from the container.
void unrealize()This function is only useful in widget implementations. Causes a widget to be unrealized (frees all GDK resources associated with the widget, such as widget->window).
void unregisterWindow(gdk.window.Window window)Unregisters a #GdkWindow from the widget that was previously set up with [gtk.widget.Widget.registerWindow]. You need to call this when the window is no longer used by the widget, such as when you ...
void unsetStateFlags(gtk.types.StateFlags flags)This function is for use in widget implementations. Turns off flag values for the current widget state (insensitive, prelighted, etc.). See [gtk.widget.Widget.setStateFlags].
gulong connectAccelClosuresChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `AccelClosuresChanged` signal.
gulong connectButtonPressEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_button.EventButton))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ButtonPressEvent` signal.
gulong connectButtonReleaseEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_button.EventButton))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ButtonReleaseEvent` signal.
gulong connectCanActivateAccel(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == uint))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `CanActivateAccel` signal.
gulong connectChildNotify(T)(string detail = null, T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gobject.param_spec.ParamSpec))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ChildNotify` signal.
gulong connectCompositedChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `CompositedChanged` signal.
gulong connectConfigureEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_configure.EventConfigure))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ConfigureEvent` signal.
gulong connectDamageEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_expose.EventExpose))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DamageEvent` signal.
gulong connectDeleteEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event.Event))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DeleteEvent` signal.
gulong connectDestroy(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Destroy` signal.
gulong connectDestroyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event.Event))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DestroyEvent` signal.
gulong connectDirectionChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.TextDirection))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DirectionChanged` signal.
gulong connectDragBegin(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DragBegin` signal.
gulong connectDragDataDelete(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DragDataDelete` signal.
gulong connectDragDataGet(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == gtk.selection_data.SelectionData))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == uint))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] == uint))) && (Parameters!T.length < 5 || (ParameterStorageClassTuple!T[4] == ParameterStorageClass.none && is(Parameters!T[4] : gtk.widget.Widget))) && Parameters!T.length < 6)Connect to `DragDataGet` signal.
gulong connectDragDataReceived(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == int))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] == gtk.selection_data.SelectionData))) && (Parameters!T.length < 5 || (ParameterStorageClassTuple!T[4] == ParameterStorageClass.none && is(Parameters!T[4] == uint))) && (Parameters!T.length < 6 || (ParameterStorageClassTuple!T[5] == ParameterStorageClass.none && is(Parameters!T[5] == uint))) && (Parameters!T.length < 7 || (ParameterStorageClassTuple!T[6] == ParameterStorageClass.none && is(Parameters!T[6] : gtk.widget.Widget))) && Parameters!T.length < 8)Connect to `DragDataReceived` signal.
gulong connectDragDrop(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == int))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] == uint))) && (Parameters!T.length < 5 || (ParameterStorageClassTuple!T[4] == ParameterStorageClass.none && is(Parameters!T[4] : gtk.widget.Widget))) && Parameters!T.length < 6)Connect to `DragDrop` signal.
gulong connectDragEnd(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `DragEnd` signal.
gulong connectDragFailed(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == gtk.types.DragResult))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : gtk.widget.Widget))) && Parameters!T.length < 4)Connect to `DragFailed` signal.
gulong connectDragLeave(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == uint))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : gtk.widget.Widget))) && Parameters!T.length < 4)Connect to `DragLeave` signal.
gulong connectDragMotion(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.drag_context.DragContext))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == int))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] == uint))) && (Parameters!T.length < 5 || (ParameterStorageClassTuple!T[4] == ParameterStorageClass.none && is(Parameters!T[4] : gtk.widget.Widget))) && Parameters!T.length < 6)Connect to `DragMotion` signal.
gulong connectDraw(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == cairo.context.Context))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `Draw` signal.
gulong connectEnterNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_crossing.EventCrossing))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `EnterNotifyEvent` signal.
gulong connectEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event.Event))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `Event` signal.
gulong connectEventAfter(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event.Event))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `EventAfter` signal.
gulong connectFocus(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.DirectionType))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `Focus` signal.
gulong connectFocusInEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_focus.EventFocus))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `FocusInEvent` signal.
gulong connectFocusOutEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_focus.EventFocus))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `FocusOutEvent` signal.
gulong connectGrabBrokenEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_grab_broken.EventGrabBroken))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `GrabBrokenEvent` signal.
gulong connectGrabFocus(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `GrabFocus` signal.
gulong connectGrabNotify(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == bool))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `GrabNotify` signal.
gulong connectHide(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Hide` signal.
gulong connectHierarchyChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `HierarchyChanged` signal.
gulong connectKeyPressEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_key.EventKey))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `KeyPressEvent` signal.
gulong connectKeyReleaseEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_key.EventKey))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `KeyReleaseEvent` signal.
gulong connectKeynavFailed(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.DirectionType))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `KeynavFailed` signal.
gulong connectLeaveNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_crossing.EventCrossing))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `LeaveNotifyEvent` signal.
gulong connectMap(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Map` signal.
gulong connectMapEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_any.EventAny))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `MapEvent` signal.
gulong connectMnemonicActivate(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == bool))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `MnemonicActivate` signal.
gulong connectMotionNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_motion.EventMotion))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `MotionNotifyEvent` signal.
gulong connectMoveFocus(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.DirectionType))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `MoveFocus` signal.
gulong connectParentSet(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ParentSet` signal.
gulong connectPopupMenu(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `PopupMenu` signal.
gulong connectPropertyNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_property.EventProperty))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `PropertyNotifyEvent` signal.
gulong connectProximityInEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_proximity.EventProximity))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ProximityInEvent` signal.
gulong connectProximityOutEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_proximity.EventProximity))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ProximityOutEvent` signal.
gulong connectQueryTooltip(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == int))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == int))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == bool))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] : gtk.tooltip.Tooltip))) && (Parameters!T.length < 5 || (ParameterStorageClassTuple!T[4] == ParameterStorageClass.none && is(Parameters!T[4] : gtk.widget.Widget))) && Parameters!T.length < 6)Connect to `QueryTooltip` signal.
gulong connectRealize(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Realize` signal.
gulong connectScreenChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gdk.screen.Screen))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ScreenChanged` signal.
gulong connectScrollEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_scroll.EventScroll))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ScrollEvent` signal.
gulong connectSelectionClearEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_selection.EventSelection))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `SelectionClearEvent` signal.
gulong connectSelectionGet(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.selection_data.SelectionData))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == uint))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] == uint))) && (Parameters!T.length < 4 || (ParameterStorageClassTuple!T[3] == ParameterStorageClass.none && is(Parameters!T[3] : gtk.widget.Widget))) && Parameters!T.length < 5)Connect to `SelectionGet` signal.
gulong connectSelectionNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_selection.EventSelection))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `SelectionNotifyEvent` signal.
gulong connectSelectionReceived(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.selection_data.SelectionData))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == uint))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : gtk.widget.Widget))) && Parameters!T.length < 4)Connect to `SelectionReceived` signal.
gulong connectSelectionRequestEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_selection.EventSelection))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `SelectionRequestEvent` signal.
gulong connectShow(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Show` signal.
gulong connectShowHelp(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.WidgetHelpType))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `ShowHelp` signal.
gulong connectSizeAllocate(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.Allocation))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `SizeAllocate` signal.
gulong connectStateChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.StateType))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `StateChanged` signal.
gulong connectStateFlagsChanged(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gtk.types.StateFlags))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `StateFlagsChanged` signal.
gulong connectStyleSet(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.style.Style))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `StyleSet` signal.
gulong connectStyleUpdated(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `StyleUpdated` signal.
gulong connectTouchEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event.Event))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `TouchEvent` signal.
gulong connectUnmap(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Unmap` signal.
gulong connectUnmapEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_any.EventAny))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `UnmapEvent` signal.
gulong connectUnrealize(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && Parameters!T.length < 2)Connect to `Unrealize` signal.
gulong connectVisibilityNotifyEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_visibility.EventVisibility))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `VisibilityNotifyEvent` signal.
gulong connectWindowStateEvent(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == gdk.event_window_state.EventWindowState))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.widget.Widget))) && Parameters!T.length < 3)Connect to `WindowStateEvent` signal.
Constructors
this(void * ptr, Flag!"Take" take)
Methods
T appPaintable(bool propval)
T canDefault(bool propval)
T canFocus(bool propval)
T doubleBuffered(bool propval)Set `doubleBuffered` property. Params: propval = Whether the widget is double buffered. Returns: Builder instance for fluent chaining
T expand(bool propval)Set `expand` property. Params: propval = Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand Returns: Builder instance for fluent chaining
T focusOnClick(bool propval)Set `focusOnClick` property. Params: propval = Whether the widget should grab focus when it is clicked with the mouse.
T halign(gtk.types.Align propval)Set `halign` property. Params: propval = How to distribute horizontal space if widget gets extra space, see #GtkAlign Returns: Builder instance for fluent chaining
T hasTooltip(bool propval)Set `hasTooltip` property. Params: propval = Enables or disables the emission of #GtkWidget::query-tooltip on @widget. A value of true indicates that @widget can have a tooltip, in this case the wi...
T heightRequest(int propval)
T hexpand(bool propval)Set `hexpand` property. Params: propval = Whether to expand horizontally. See [gtk.widget.Widget.setHexpand]. Returns: Builder instance for fluent chaining
T hexpandSet(bool propval)Set `hexpandSet` property. Params: propval = Whether to use the #GtkWidget:hexpand property. See [gtk.widget.Widget.getHexpandSet]. Returns: Builder instance for fluent chaining
T margin(int propval)Set `margin` property. Params: propval = Sets all four sides' margin at once. If read, returns max margin on any side. Returns: Builder instance for fluent chaining
T marginBottom(int propval)Set `marginBottom` property. Params: propval = Margin on bottom side of widget.
T marginEnd(int propval)Set `marginEnd` property. Params: propval = Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
T marginLeft(int propval)Set `marginLeft` property. Params: propval = Margin on left side of widget.
T marginRight(int propval)Set `marginRight` property. Params: propval = Margin on right side of widget.
T marginStart(int propval)Set `marginStart` property. Params: propval = Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
T marginTop(int propval)Set `marginTop` property. Params: propval = Margin on top side of widget.
T name(string propval)
T noShowAll(bool propval)
T opacity(double propval)Set `opacity` property. Params: propval = The requested opacity of the widget. See [gtk.widget.Widget.setOpacity] for more details about window opacity.
T receivesDefault(bool propval)
T sensitive(bool propval)
T style(gtk.style.Style propval)Set `style` property. Params: propval = The style of the widget, which contains information about how it will look (colors, etc). Returns: Builder instance for fluent chaining
T tooltipMarkup(string propval)Set `tooltipMarkup` property. Params: propval = Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see [gtk.tooltip.T...
T tooltipText(string propval)Set `tooltipText` property. Params: propval = Sets the text of tooltip to be the given string.
T valign(gtk.types.Align propval)Set `valign` property. Params: propval = How to distribute vertical space if widget gets extra space, see #GtkAlign Returns: Builder instance for fluent chaining
T vexpand(bool propval)Set `vexpand` property. Params: propval = Whether to expand vertically. See [gtk.widget.Widget.setVexpand]. Returns: Builder instance for fluent chaining
T vexpandSet(bool propval)Set `vexpandSet` property. Params: propval = Whether to use the #GtkWidget:vexpand property. See [gtk.widget.Widget.getVexpandSet]. Returns: Builder instance for fluent chaining
T visible(bool propval)
T widthRequest(int propval)

Fluent builder for [gtk.widget.Widget]

Methods
Widget build()