gtkWidgetGetToplevel: gtkWidgetGetToplevel

Description Usage Arguments Details Value Author(s)

View source: R/gtkFuncs.R

Description

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 the returned widget; it should not be unreferenced.

Usage

1

Arguments

object

a GtkWidget

Details

Note the difference in behavior vs. gtkWidgetGetAncestor; gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) would return NULL if widget wasn't inside a toplevel window, and if the window was inside a GtkWindow-derived widget which was in turn inside the toplevel GtkWindow. While the second case may seem unlikely, it actually happens when a GtkPlug is embedded inside a GtkSocket within the same application.

To reliably find the toplevel GtkWindow, use gtkWidgetGetToplevel and check if the TOPLEVEL flags is set on the result.

1
2
3
4
5
toplevel <- widget$getToplevel()
if (toplevel$flags() & GtkWidgetFlags["toplevel"])
{
  # Perform action on toplevel.
}

Value

[GtkWidget] the topmost ancestor of widget, or widget itself if there's no ancestor. [ transfer none ]

Author(s)

Derived by RGtkGen from GTK+ documentation


RGtk2 documentation built on Oct. 14, 2021, 5:08 p.m.