Top |
A GtkWindowGroup restricts the effect of grabs to windows in the same group, thereby making window groups almost behave like separate applications.
A window can be a member in at most one window group at a time. Windows that have not been explicitly assigned to a group are implicitly treated like windows of the default window group.
GtkWindowGroup objects are referenced by each window in the group,
so once you have added all windows to a GtkWindowGroup, you can drop
the initial reference to the window group with g_object_unref()
. If the
windows in the window group are subsequently destroyed, then they will
be removed from the window group and drop their references on the window
group; when all window have been removed, the window group will be
freed.
GtkWindowGroup *
gtk_window_group_new (void
);
Creates a new GtkWindowGroup object. Grabs added with
gtk_grab_add()
only affect windows within the same GtkWindowGroup.
void gtk_window_group_add_window (GtkWindowGroup *window_group
,GtkWindow *window
);
Adds a window to a GtkWindowGroup.
void gtk_window_group_remove_window (GtkWindowGroup *window_group
,GtkWindow *window
);
Removes a window from a GtkWindowGroup.
GList *
gtk_window_group_list_windows (GtkWindowGroup *window_group
);
Returns a list of the GtkWindows that belong to window_group
.
A newly-allocated list of windows inside the group.
[element-type GtkWindow][transfer container]
Since: 2.14
GtkWidget *
gtk_window_group_get_current_grab (GtkWindowGroup *window_group
);
Gets the current grab widget of the given group,
see gtk_grab_add()
.
Since: 2.22
GtkWidget * gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group
,GdkDevice *device
);
Returns the current grab widget for device
, or NULL
if none.
Since: 3.0