Struct libhandy::TabView

source ·
pub struct TabView { /* private fields */ }
Available on crate feature v1_2 only.
Expand description

A dynamic tabbed container.

TabView is a container which shows one child at a time. While it provides keyboard shortcuts for switching between pages, it does not provide a visible tab bar and relies on external widgets for that, such as TabBar.

TabView maintains a TabPage object for each page,which holds additional per-page properties. You can obtain the TabPage for a page with page(), and as return value for append() and other functions for adding children.

TabView only aims to be useful for dynamic tabs in multi-window document-based applications, such as web browsers, file managers, text editors or terminals. It does not aim to replace Gtk::Notebook for use cases such as tabbed dialogs.

As such, it does not support disabling page reordering or detaching, or adding children via [gtk::Buildable][crate::gtk::Buildable].

CSS nodes

TabView has a main CSS node with the name tabview.

It contains the subnode overlay, which contains subnodes stack and widget. The stack subnode contains the added pages.

tabview
╰── overlay
    ├── stack
    │   ╰── [ Children ]
    ╰── widget

Properties

default-icon

Default page icon.

If a page doesn’t provide its own icon via icon, default icon may be used instead for contexts where having an icon is necessary.

TabBar will use default icon for pinned tabs in case the page is not loading, doesn’t have an icon and an indicator. Default icon is never used for tabs that aren’t pinned.

Readable | Writeable

is-transferring-page

Whether a page is being transferred.

This property will be set to TRUE when a drag-n-drop tab transfer starts on any TabView, and to FALSE after it ends.

During the transfer, children cannot receive pointer input and a tab can be safely dropped on the tab view.

Readable

Tab context menu model.

When a context menu is shown for a tab, it will be constructed from the provided menu model. Use setup-menu signal to set up the menu actions for the particular tab.

Readable | Writeable

n-pages

The number of pages in the tab view.

Readable

n-pinned-pages

The number of pinned pages in the tab view.

See TabView::set_page_pinned().

Readable

selected-page

The currently selected page.

Readable | Writeable

shortcut-widget

Tab shortcut widget.

Has the following shortcuts:

  • Ctrl+Page Up - switch to the previous page
  • Ctrl+Page Down - switch to the next page
  • Ctrl+Home - switch to the first page
  • Ctrl+End - switch to the last page
  • Ctrl+Shift+Page Up - move the current page backward
  • Ctrl+Shift+Page Down - move the current page forward
  • Ctrl+Shift+Home - move the current page at the start
  • Ctrl+Shift+End - move the current page at the end
  • Ctrl+Tab - switch to the next page, with looping
  • Ctrl+Shift+Tab - switch to the previous page, with looping
  • Alt+19 - switch to pages 1-9
  • Alt+0 - switch to page 10

These shortcuts are always available on @self_, this property is useful if they should be available globally.

Readable | Writeable

Container

border-width

Readable | Writeable

child

Writeable

resize-mode

Readable | Writeable

Widget

app-paintable

Readable | Writeable

can-default

Readable | Writeable

can-focus

Readable | Writeable

composite-child

Readable

double-buffered

Whether the widget is double buffered.

Readable | Writeable

events

Readable | Writeable

expand

Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand

Readable | Writeable

focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

This property is only relevant for widgets that can take focus.

Before 3.20, several widgets (GtkButton, GtkFileChooserButton, GtkComboBox) implemented this property individually.

Readable | Writeable

halign

How to distribute horizontal space if widget gets extra space, see #GtkAlign

Readable | Writeable

has-default

Readable | Writeable

has-focus

Readable | Writeable

has-tooltip

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 be queried using #GtkWidget::query-tooltip to determine whether it will provide a tooltip or not.

Note that setting this property to true for the first time will change the event masks of the GdkWindows of this widget to include leave-notify and motion-notify events. This cannot and will not be undone when the property is set to false again.

Readable | Writeable

height-request

Readable | Writeable

hexpand

Whether to expand horizontally. See gtk_widget_set_hexpand().

Readable | Writeable

hexpand-set

Whether to use the #GtkWidget:hexpand property. See gtk_widget_get_hexpand_set().

Readable | Writeable

is-focus

Readable | Writeable

margin

Sets all four sides’ margin at once. If read, returns max margin on any side.

Readable | Writeable

margin-bottom

Margin on bottom side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

margin-end

Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

margin-left

Margin on left side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

margin-right

Margin on right side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

margin-start

Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

margin-top

Margin on top side of widget.

This property adds margin outside of the widget’s normal size request, the margin will be added in addition to the size from gtk_widget_set_size_request() for example.

Readable | Writeable

name

Readable | Writeable

no-show-all

Readable | Writeable

opacity

The requested opacity of the widget. See gtk_widget_set_opacity() for more details about window opacity.

Before 3.8 this was only available in GtkWindow

Readable | Writeable

parent

Readable | Writeable

receives-default

Readable | Writeable

scale-factor

The scale factor of the widget. See gtk_widget_get_scale_factor() for more details about widget scaling.

Readable

sensitive

Readable | Writeable

style

The style of the widget, which contains information about how it will look (colors, etc).

Readable | Writeable

tooltip-markup

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_set_markup().

This is a convenience property which will take care of getting the tooltip shown if the given string is not None: #GtkWidget:has-tooltip will automatically be set to true and there will be taken care of #GtkWidget::query-tooltip in the default signal handler.

Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup are set, the last one wins.

Readable | Writeable

tooltip-text

Sets the text of tooltip to be the given string.

Also see gtk_tooltip_set_text().

This is a convenience property which will take care of getting the tooltip shown if the given string is not None: #GtkWidget:has-tooltip will automatically be set to true and there will be taken care of #GtkWidget::query-tooltip in the default signal handler.

Note that if both #GtkWidget:tooltip-text and #GtkWidget:tooltip-markup are set, the last one wins.

Readable | Writeable

valign

How to distribute vertical space if widget gets extra space, see #GtkAlign

Readable | Writeable

vexpand

Whether to expand vertically. See gtk_widget_set_vexpand().

Readable | Writeable

vexpand-set

Whether to use the #GtkWidget:vexpand property. See gtk_widget_get_vexpand_set().

Readable | Writeable

visible

Readable | Writeable

width-request

Readable | Writeable

window

The widget’s window if it is realized, None otherwise.

Readable

Signals

close-page

Emitted after TabView::close_page() has been called for @page.

The handler is expected to call TabView::close_page_finish() to confirm or reject the closing.

The default handler will immediately confirm closing for non-pinned pages, or reject it for pinned pages, equivalent to the following example:

⚠️ The following code is in c ⚠️

static gboolean
close_page_cb (HdyTabView *view,
               HdyTabPage *page,
               gpointer    user_data)
{
  hdy_tab_view_close_page_finish (view, page, !hdy_tab_page_get_pinned (page));

  return GDK_EVENT_STOP;
}

The TabView::close_page_finish() doesn’t have to happen during the handler, so can be used to do asynchronous checks before confirming the closing.

A typical reason to connect to this signal is to show a confirmation dialog for closing a tab.

create-window

Emitted when a tab should be transferred into a new window.

This can happen after a tab has been dropped on desktop.

The signal handler is expected to create a new window, position it as needed and return its TabViewthat the page will be transferred into.

indicator-activated

Emitted after the indicator icon on @page has been activated.

See indicator-icon and indicator-activatable.

page-attached

Emitted when a page has been created or transferred to the view.

A typical reason to connect to this signal would be to connect to page signals for things such as updating window title.

page-detached

Emitted when a page has been removed or transferred to another view.

A typical reason to connect to this signal would be to disconnect signal handlers connected in the page-attached handler.

It is important not to try and destroy the page child in the handler of this function as the child might merely be moved to another window; use child dispose handler for that or do it in sync with your TabView::close_page_finish() calls.

page-reordered

This signal is emitted after @page has been reordered to @position.

setup-menu

Emitted when a context menu is opened or closed for @page.

If the menu has been closed, @page will be set to NULL.

It can be used to set up menu actions before showing the menu, for example disable actions not applicable to @page.

Container

add
check-resize
remove
set-focus-child

Widget

accel-closures-changed
button-press-event

The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_BUTTON_PRESS_MASK mask.

This signal will be sent to the grab widget if there is one.

button-release-event

The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask.

This signal will be sent to the grab widget if there is one.

can-activate-accel

Determines whether an accelerator that activates the signal identified by @signal_id can currently be activated. This signal is present to allow applications and derived widgets to override the default #GtkWidget handling for determining whether an accelerator can be activated.

child-notify

The ::child-notify signal is emitted for each [child property][child-properties] that has changed on an object. The signal’s detail holds the property name.

Detailed

composited-changed

The ::composited-changed signal is emitted when the composited status of @widgets screen changes. See gdk_screen_is_composited().

Action

configure-event

The ::configure-event signal will be emitted when the size, position or stacking of the @widget’s window has changed.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows.

damage-event

Emitted when a redirected window belonging to @widget gets drawn into. The region/area members of the event shows what area of the redirected drawable was drawn into.

delete-event

The ::delete-event signal is emitted if a user requests that a toplevel window is closed. The default handler for this signal destroys the window. Connecting gtk_widget_hide_on_delete() to this signal will cause the window to be hidden instead, so that it can later be shown again without reconstructing it.

destroy

Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.

This signal is not suitable for saving widget state.

destroy-event

The ::destroy-event signal is emitted when a #GdkWindow is destroyed. You rarely get this signal, because most widgets disconnect themselves from their window before they destroy it, so no widget owns the window at destroy time.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows.

direction-changed

The ::direction-changed signal is emitted when the text direction of a widget changes.

drag-begin

The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with e.g. gtk_drag_source_set_icon_pixbuf().

Note that some widgets set up a drag icon in the default handler of this signal, so you may have to use g_signal_connect_after() to override what the default handler did.

drag-data-delete

The ::drag-data-delete signal is emitted on the drag source when a drag with the action GDK_ACTION_MOVE is successfully completed. The signal handler is responsible for deleting the data that has been dropped. What “delete” means depends on the context of the drag operation.

drag-data-get

The ::drag-data-get signal is emitted on the drag source when the drop site requests the data which is dragged. It is the responsibility of the signal handler to fill @data with the data in the format which is indicated by @info. See gtk_selection_data_set() and gtk_selection_data_set_text().

drag-data-received

The ::drag-data-received signal is emitted on the drop site when the dragged data has been received. If the data was received in order to determine whether the drop will be accepted, the handler is expected to call gdk_drag_status() and not finish the drag. If the data was received in response to a #GtkWidget::drag-drop signal (and this is the last target to be received), the handler for this signal is expected to process the received data and then call gtk_drag_finish(), setting the @success parameter depending on whether the data was processed successfully.

Applications must create some means to determine why the signal was emitted and therefore whether to call gdk_drag_status() or gtk_drag_finish().

The handler may inspect the selected action with gdk_drag_context_get_selected_action() before calling gtk_drag_finish(), e.g. to implement GDK_ACTION_ASK as shown in the following example:

⚠️ The following code is in C ⚠️

void
drag_data_received (GtkWidget          *widget,
                    GdkDragContext     *context,
                    gint                x,
                    gint                y,
                    GtkSelectionData   *data,
                    guint               info,
                    guint               time)
{
  if ((data->length >= 0) && (data->format == 8))
    {
      GdkDragAction action;

      // handle data here

      action = gdk_drag_context_get_selected_action (context);
      if (action == GDK_ACTION_ASK)
        {
          GtkWidget *dialog;
          gint response;

          dialog = gtk_message_dialog_new (NULL,
                                           GTK_DIALOG_MODAL |
                                           GTK_DIALOG_DESTROY_WITH_PARENT,
                                           GTK_MESSAGE_INFO,
                                           GTK_BUTTONS_YES_NO,
                                           "Move the data ?\n");
          response = gtk_dialog_run (GTK_DIALOG (dialog));
          gtk_widget_destroy (dialog);

          if (response == GTK_RESPONSE_YES)
            action = GDK_ACTION_MOVE;
          else
            action = GDK_ACTION_COPY;
         }

      gtk_drag_finish (context, TRUE, action == GDK_ACTION_MOVE, time);
    }
  else
    gtk_drag_finish (context, FALSE, FALSE, time);
 }
drag-drop

The ::drag-drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns false and no further processing is necessary. Otherwise, the handler returns true. In this case, the handler must ensure that gtk_drag_finish() is called to let the source know that the drop is done. The call to gtk_drag_finish() can be done either directly or in a #GtkWidget::drag-data-received handler which gets triggered by calling gtk_drag_get_data() to receive the data for one or more of the supported targets.

drag-end

The ::drag-end signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in #GtkWidget::drag-begin.

drag-failed

The ::drag-failed signal is emitted on the drag source when a drag has failed. The signal handler may hook custom code to handle a failed DnD operation based on the type of error, it returns true is the failure has been already handled (not showing the default “drag operation failed” animation), otherwise it returns false.

drag-leave

The ::drag-leave signal is emitted on the drop site when the cursor leaves the widget. A typical reason to connect to this signal is to undo things done in #GtkWidget::drag-motion, e.g. undo highlighting with gtk_drag_unhighlight().

Likewise, the #GtkWidget::drag-leave signal is also emitted before the ::drag-drop signal, for instance to allow cleaning up of a preview item created in the #GtkWidget::drag-motion signal handler.

drag-motion

The ::drag-motion signal is emitted on the drop site when the user moves the cursor over the widget during a drag. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns false and no further processing is necessary. Otherwise, the handler returns true. In this case, the handler is responsible for providing the necessary information for displaying feedback to the user, by calling gdk_drag_status().

If the decision whether the drop will be accepted or rejected can’t be made based solely on the cursor position and the type of the data, the handler may inspect the dragged data by calling gtk_drag_get_data() and defer the gdk_drag_status() call to the #GtkWidget::drag-data-received handler. Note that you must pass #GTK_DEST_DEFAULT_DROP, #GTK_DEST_DEFAULT_MOTION or #GTK_DEST_DEFAULT_ALL to gtk_drag_dest_set() when using the drag-motion signal that way.

Also note that there is no drag-enter signal. The drag receiver has to keep track of whether he has received any drag-motion signals since the last #GtkWidget::drag-leave and if not, treat the drag-motion signal as an “enter” signal. Upon an “enter”, the handler will typically highlight the drop site with gtk_drag_highlight().

⚠️ The following code is in C ⚠️

static void
drag_motion (GtkWidget      *widget,
             GdkDragContext *context,
             gint            x,
             gint            y,
             guint           time)
{
  GdkAtom target;

  PrivateData *private_data = GET_PRIVATE_DATA (widget);

  if (!private_data->drag_highlight)
   {
     private_data->drag_highlight = 1;
     gtk_drag_highlight (widget);
   }

  target = gtk_drag_dest_find_target (widget, context, NULL);
  if (target == GDK_NONE)
    gdk_drag_status (context, 0, time);
  else
   {
     private_data->pending_status
        = gdk_drag_context_get_suggested_action (context);
     gtk_drag_get_data (widget, context, target, time);
   }

  return TRUE;
}

static void
drag_data_received (GtkWidget        *widget,
                    GdkDragContext   *context,
                    gint              x,
                    gint              y,
                    GtkSelectionData *selection_data,
                    guint             info,
                    guint             time)
{
  PrivateData *private_data = GET_PRIVATE_DATA (widget);

  if (private_data->suggested_action)
   {
     private_data->suggested_action = 0;

     // We are getting this data due to a request in drag_motion,
     // rather than due to a request in drag_drop, so we are just
     // supposed to call gdk_drag_status(), not actually paste in
     // the data.

     str = gtk_selection_data_get_text (selection_data);
     if (!data_is_acceptable (str))
       gdk_drag_status (context, 0, time);
     else
       gdk_drag_status (context,
                        private_data->suggested_action,
                        time);
   }
  else
   {
     // accept the drop
   }
}
draw

This signal is emitted when a widget is supposed to render itself. The @widget’s top left corner must be painted at the origin of the passed in context and be sized to the values returned by gtk_widget_get_allocated_width() and gtk_widget_get_allocated_height().

Signal handlers connected to this signal can modify the cairo context passed as @cr in any way they like and don’t need to restore it. The signal emission takes care of calling cairo_save() before and cairo_restore() after invoking the handler.

The signal handler will get a @cr with a clip region already set to the widget’s dirty region, i.e. to the area that needs repainting. Complicated widgets that want to avoid redrawing themselves completely can get the full extents of the clip region with gdk_cairo_get_clip_rectangle(), or they can get a finer-grained representation of the dirty region with cairo_copy_clip_rectangle_list().

enter-notify-event

The ::enter-notify-event will be emitted when the pointer enters the @widget’s window.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_ENTER_NOTIFY_MASK mask.

This signal will be sent to the grab widget if there is one.

event

The GTK+ main loop will emit three signals for each GDK event delivered to a widget: one generic ::event signal, another, more specific, signal that matches the type of event delivered (e.g. #GtkWidget::key-press-event) and finally a generic #GtkWidget::event-after signal.

event-after

After the emission of the #GtkWidget::event signal and (optionally) the second more specific signal, ::event-after will be emitted regardless of the previous two signals handlers return values.

focus
focus-in-event

The ::focus-in-event signal will be emitted when the keyboard focus enters the @widget’s window.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_FOCUS_CHANGE_MASK mask.

focus-out-event

The ::focus-out-event signal will be emitted when the keyboard focus leaves the @widget’s window.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_FOCUS_CHANGE_MASK mask.

grab-broken-event

Emitted when a pointer or keyboard grab on a window belonging to @widget gets broken.

On X11, this happens when the grab window becomes unviewable (i.e. it or one of its ancestors is unmapped), or if the same application grabs the pointer or keyboard again.

grab-focus

Action

grab-notify

The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.

A widget is shadowed by a gtk_grab_add() when the topmost grab widget in the grab stack of its window group is not its ancestor.

hide

The ::hide signal is emitted when @widget is hidden, for example with gtk_widget_hide().

hierarchy-changed

The ::hierarchy-changed signal is emitted when the anchored state of a widget changes. A widget is “anchored” when its toplevel ancestor is a #GtkWindow. This signal is emitted when a widget changes from un-anchored to anchored or vice-versa.

key-press-event

The ::key-press-event signal is emitted when a key is pressed. The signal emission will reoccur at the key-repeat rate when the key is kept pressed.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_KEY_PRESS_MASK mask.

This signal will be sent to the grab widget if there is one.

key-release-event

The ::key-release-event signal is emitted when a key is released.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_KEY_RELEASE_MASK mask.

This signal will be sent to the grab widget if there is one.

keynav-failed

Gets emitted if keyboard navigation fails. See gtk_widget_keynav_failed() for details.

leave-notify-event

The ::leave-notify-event will be emitted when the pointer leaves the @widget’s window.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_LEAVE_NOTIFY_MASK mask.

This signal will be sent to the grab widget if there is one.

map

The ::map signal is emitted when @widget is going to be mapped, that is when the widget is visible (which is controlled with gtk_widget_set_visible()) and all its parents up to the toplevel widget are also visible. Once the map has occurred, #GtkWidget::map-event will be emitted.

The ::map signal can be used to determine whether a widget will be drawn, for instance it can resume an animation that was stopped during the emission of #GtkWidget::unmap.

map-event

The ::map-event signal will be emitted when the @widget’s window is mapped. A window is mapped when it becomes visible on the screen.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows.

mnemonic-activate

The default handler for this signal activates @widget if @group_cycling is false, or just makes @widget grab focus if @group_cycling is true.

motion-notify-event

The ::motion-notify-event signal is emitted when the pointer moves over the widget’s #GdkWindow.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_POINTER_MOTION_MASK mask.

This signal will be sent to the grab widget if there is one.

move-focus

Action

parent-set

The ::parent-set signal is emitted when a new parent has been set on a widget.

This signal gets emitted whenever a widget should pop up a context menu. This usually happens through the standard key binding mechanism; by pressing a certain key while a widget is focused, the user can cause the widget to pop up a menu. For example, the #GtkEntry widget creates a menu with clipboard commands. See the [Popup Menu Migration Checklist][checklist-popup-menu] for an example of how to use this signal.

Action

property-notify-event

The ::property-notify-event signal will be emitted when a property on the @widget’s window has been changed or deleted.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_PROPERTY_CHANGE_MASK mask.

proximity-in-event

To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_PROXIMITY_IN_MASK mask.

This signal will be sent to the grab widget if there is one.

proximity-out-event

To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_PROXIMITY_OUT_MASK mask.

This signal will be sent to the grab widget if there is one.

query-tooltip

Emitted when #GtkWidget:has-tooltip is true and the hover timeout has expired with the cursor hovering “above” @widget; or emitted when @widget got focus in keyboard mode.

Using the given coordinates, the signal handler should determine whether a tooltip should be shown for @widget. If this is the case true should be returned, false otherwise. Note that if @keyboard_mode is true, the values of @x and @y are undefined and should not be used.

The signal handler is free to manipulate @tooltip with the therefore destined function calls.

realize

The ::realize signal is emitted when @widget is associated with a #GdkWindow, which means that gtk_widget_realize() has been called or the widget has been mapped (that is, it is going to be drawn).

screen-changed

The ::screen-changed signal gets emitted when the screen of a widget has changed.

scroll-event

The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_SCROLL_MASK mask.

This signal will be sent to the grab widget if there is one.

selection-clear-event

The ::selection-clear-event signal will be emitted when the the @widget’s window has lost ownership of a selection.

selection-get
selection-notify-event
selection-received
selection-request-event

The ::selection-request-event signal will be emitted when another client requests ownership of the selection owned by the @widget’s window.

show

The ::show signal is emitted when @widget is shown, for example with gtk_widget_show().

show-help

Action

size-allocate
state-changed

The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state().

state-flags-changed

The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().

style-set

The ::style-set signal is emitted when a new style has been set on a widget. Note that style-modifying functions like gtk_widget_modify_base() also cause this signal to be emitted.

Note that this signal is emitted for changes to the deprecated #GtkStyle. To track changes to the #GtkStyleContext associated with a widget, use the #GtkWidget::style-updated signal.

style-updated

The ::style-updated signal is a convenience signal that is emitted when the #GtkStyleContext::changed signal is emitted on the @widget’s associated #GtkStyleContext as returned by gtk_widget_get_style_context().

Note that style-modifying functions like gtk_widget_override_color() also cause this signal to be emitted.

touch-event
unmap

The ::unmap signal is emitted when @widget is going to be unmapped, which means that either it or any of its parents up to the toplevel widget have been set as hidden.

As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget.

unmap-event

The ::unmap-event signal will be emitted when the @widget’s window is unmapped. A window is unmapped when it becomes invisible on the screen.

To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows.

unrealize

The ::unrealize signal is emitted when the #GdkWindow associated with @widget is destroyed, which means that gtk_widget_unrealize() has been called or the widget has been unmapped (that is, it is going to be hidden).

visibility-notify-event

The ::visibility-notify-event will be emitted when the @widget’s window is obscured or unobscured.

To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_VISIBILITY_NOTIFY_MASK mask.

window-state-event

The ::window-state-event will be emitted when the state of the toplevel window associated to the @widget changes.

To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows.

Implements

[trait@gtk::prelude::BinExt], [trait@gtk::prelude::ContainerExt], [trait@gtk::prelude::WidgetExt], [trait@glib::ObjectExt], [trait@gtk::prelude::BuildableExt]

Implementations§

source§

impl TabView

source

pub fn new() -> TabView

Creates a new TabView.

Returns

the newly created TabView

source

pub fn builder() -> TabViewBuilder

Creates a new builder-pattern struct instance to construct TabView objects.

This method returns an instance of TabViewBuilder which can be used to create TabView objects.

source

pub fn add_page( &self, child: &impl IsA<Widget>, parent: Option<&TabPage> ) -> Option<TabPage>

Adds @child to @self with @parent as the parent.

This function can be used to automatically position new pages, and to select the correct page when this page is closed while being selected (see close_page().

If @parent is NULL, this function is equivalent to append().

child

a widget to add

parent

a parent page for @child

Returns

the page object representing @child

source

pub fn append(&self, child: &impl IsA<Widget>) -> Option<TabPage>

Inserts @child as the last non-pinned page.

child

a widget to add

Returns

the page object representing @child

source

pub fn append_pinned(&self, child: &impl IsA<Widget>) -> Option<TabPage>

Inserts @child as the last pinned page.

child

a widget to add

Returns

the page object representing @child

source

pub fn close_other_pages(&self, page: &TabPage)

Requests to close all pages other than @page.

page

a page of @self

source

pub fn close_page(&self, page: &TabPage)

Requests to close @page.

Calling this function will result in close-page signal being emitted for @page. Closing the page can then be confirmed or denied via close_page_finish().

If the page is waiting for a close_page_finish() call, this function will do nothing.

The default handler for close-page will immediately confirm closing the page if it’s non-pinned, or reject it if it’s pinned. This behavior can be changed by registering your own handler for that signal.

If @page was selected, another page will be selected instead:

If the parent value is NULL, the next page will be selected when possible, or if the page was already last, the previous page will be selected instead.

If it’s not NULL, the previous page will be selected if it’s a descendant (possibly indirect) of the parent. If both the previous page and the parent are pinned, the parent will be selected instead.

page

a page of @self

source

pub fn close_page_finish(&self, page: &TabPage, confirm: bool)

Completes a close_page() call for @page.

If @confirm is TRUE, @page will be closed. If it’s FALSE, ite will be reverted to its previous state and close_page() can be called for it again.

This function should not be called unless a custom handler for close-page is used.

page

a page of @self

confirm

whether to confirm or deny closing @page

source

pub fn close_pages_after(&self, page: &TabPage)

Requests to close all pages after @page.

page

a page of @self

source

pub fn close_pages_before(&self, page: &TabPage)

Requests to close all pages before @page.

page

a page of @self

source

pub fn default_icon(&self) -> Option<Icon>

Gets default icon of @self.

Returns

the default icon of @self

source

pub fn is_transferring_page(&self) -> bool

Whether a page is being transferred.

Gets the value of is-transferring-page property.

Returns

whether a page is being transferred

source

pub fn menu_model(&self) -> Option<MenuModel>

Gets the tab context menu model for @self.

Returns

the tab context menu model for @self

source

pub fn n_pages(&self) -> i32

Gets the number of pages in @self.

Returns

the number of pages in @self

source

pub fn n_pinned_pages(&self) -> i32

Gets the number of pinned pages in @self.

See set_page_pinned().

Returns

the number of pinned pages in @self

source

pub fn nth_page(&self, position: i32) -> Option<TabPage>

Gets the TabPage representing the child at @position.

position

the index of the page in @self, starting from 0

Returns

the page object at @position

source

pub fn page(&self, child: &impl IsA<Widget>) -> Option<TabPage>

Gets the TabPage object representing @child.

child

a child in @self

Returns

the TabPage representing @child

source

pub fn page_position(&self, page: &TabPage) -> i32

Finds the position of @page in @self, starting from 0.

page

a page of @self

Returns

the position of @page in @self

source

pub fn pages(&self) -> Option<ListModel>

Returns a [gio::ListModel][crate::gio::ListModel] containing the pages of @self.

This model can be used to keep an up to date view of the pages.

Returns

the model containing pages of @self

source

pub fn selected_page(&self) -> Option<TabPage>

Gets the currently selected page in @self.

Returns

the selected page in @self

source

pub fn shortcut_widget(&self) -> Option<Widget>

Gets the shortcut widget for @self.

Returns

the shortcut widget for @self

source

pub fn insert(&self, child: &impl IsA<Widget>, position: i32) -> Option<TabPage>

Inserts a non-pinned page at @position.

It’s an error to try to insert a page before a pinned page, in that case insert_pinned() should be used instead.

child

a widget to add

position

the position to add @child at, starting from 0

Returns

the page object representing @child

source

pub fn insert_pinned( &self, child: &impl IsA<Widget>, position: i32 ) -> Option<TabPage>

Inserts a pinned page at @position.

It’s an error to try to insert a pinned page after a non-pinned page, in that case insert() should be used instead.

child

a widget to add

position

the position to add @child at, starting from 0

Returns

the page object representing @child

source

pub fn prepend(&self, child: &impl IsA<Widget>) -> Option<TabPage>

Inserts @child as the first non-pinned page.

child

a widget to add

Returns

the page object representing @child

source

pub fn prepend_pinned(&self, child: &impl IsA<Widget>) -> Option<TabPage>

Inserts @child as the first pinned page.

child

a widget to add

Returns

the page object representing @child

source

pub fn reorder_backward(&self, page: &TabPage) -> bool

Reorders @page to before its previous page if possible.

page

a page of @self

Returns

whether @page was moved

source

pub fn reorder_first(&self, page: &TabPage) -> bool

Reorders @page to the first possible position.

page

a page of @self

Returns

whether @page was moved

source

pub fn reorder_forward(&self, page: &TabPage) -> bool

Reorders @page to after its next page if possible.

page

a page of @self

Returns

whether @page was moved

source

pub fn reorder_last(&self, page: &TabPage) -> bool

Reorders @page to the last possible position.

page

a page of @self

Returns

whether @page was moved

source

pub fn reorder_page(&self, page: &TabPage, position: i32) -> bool

Reorders @page to @position.

It’s a programmer error to try to reorder a pinned page after a non-pinned one, or a non-pinned page before a pinned one.

page

a page of @self

position

the position to insert the page at, starting at 0

Returns

whether @page was moved

source

pub fn select_next_page(&self) -> bool

Selects the page after the currently selected page.

If the last page was already selected, this function does nothing.

Returns

whether the selected page was changed

source

pub fn select_previous_page(&self) -> bool

Selects the page before the currently selected page.

If the first page was already selected, this function does nothing.

Returns

whether the selected page was changed

source

pub fn set_default_icon(&self, default_icon: &impl IsA<Icon>)

Sets default page icon for @self.

If a page doesn’t provide its own icon via icon, default icon may be used instead for contexts where having an icon is necessary.

TabBar will use default icon for pinned tabs in case the page is not loading, doesn’t have an icon and an indicator. Default icon is never used for tabs that aren’t pinned.

By default, hdy-tab-icon-missing-symbolic icon is used.

default_icon

the default icon

source

pub fn set_menu_model(&self, menu_model: Option<&impl IsA<MenuModel>>)

Sets the tab context menu model for @self.

When a context menu is shown for a tab, it will be constructed from the provided menu model. Use setup-menu signal to set up the menu actions for the particular tab.

a menu model

source

pub fn set_page_pinned(&self, page: &TabPage, pinned: bool)

Pins or unpins @page.

Pinned pages are guaranteed to be placed before all non-pinned pages; at any given moment the first n-pinned-pages pages in @self are guaranteed to be pinned.

When a page is pinned or unpinned, it’s automatically reordered: pinning a page moves it after other pinned pages; unpinning a page moves it before other non-pinned pages.

Pinned pages can still be reordered between each other.

TabBar will display pinned pages in a compact form, never showing the title or close button, and only showing a single icon, selected in the following order:

  1. indicator-icon
  2. A spinner if loading is TRUE
  3. icon
  4. default-icon

Pinned pages cannot be closed by default, see close-page for how to override that behavior.

page

a page of @self

pinned

whether @page should be pinned

source

pub fn set_selected_page(&self, selected_page: &TabPage)

Sets the currently selected page in @self.

selected_page

a page in @self

source

pub fn set_shortcut_widget(&self, widget: Option<&impl IsA<Widget>>)

Sets the shortcut widget for @self.

widget

a shortcut widget

source

pub fn transfer_page(&self, page: &TabPage, other_view: &TabView, position: i32)

Transfers @page from @self to @other_view.

The @page object will be reused.

It’s a programmer error to try to insert a pinned page after a non-pinned one, or a non-pinned page before a pinned one.

page

a page of @self

other_view

the tab view to transfer the page to

position

the position to insert the page at, starting at 0

source

pub fn connect_close_page<F: Fn(&Self, &TabPage) -> bool + 'static>( &self, f: F ) -> SignalHandlerId

Emitted after close_page() has been called for @page.

The handler is expected to call close_page_finish() to confirm or reject the closing.

The default handler will immediately confirm closing for non-pinned pages, or reject it for pinned pages, equivalent to the following example:

⚠️ The following code is in c ⚠️

static gboolean
close_page_cb (HdyTabView *view,
               HdyTabPage *page,
               gpointer    user_data)
{
  hdy_tab_view_close_page_finish (view, page, !hdy_tab_page_get_pinned (page));

  return GDK_EVENT_STOP;
}

The close_page_finish() doesn’t have to happen during the handler, so can be used to do asynchronous checks before confirming the closing.

A typical reason to connect to this signal is to show a confirmation dialog for closing a tab.

page

a page of the view

source

pub fn connect_create_window<F: Fn(&Self) -> Option<TabView> + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a tab should be transferred into a new window.

This can happen after a tab has been dropped on desktop.

The signal handler is expected to create a new window, position it as needed and return its TabViewthat the page will be transferred into.

Returns

the TabView from the new window

source

pub fn connect_indicator_activated<F: Fn(&Self, &TabPage) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted after the indicator icon on @page has been activated.

See indicator-icon and indicator-activatable.

page

a page of the view

source

pub fn connect_page_attached<F: Fn(&Self, &TabPage, i32) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a page has been created or transferred to the view.

A typical reason to connect to this signal would be to connect to page signals for things such as updating window title.

page

a page of the view

position

the position of the page, starting from 0

source

pub fn connect_page_detached<F: Fn(&Self, &TabPage, i32) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a page has been removed or transferred to another view.

A typical reason to connect to this signal would be to disconnect signal handlers connected in the page-attached handler.

It is important not to try and destroy the page child in the handler of this function as the child might merely be moved to another window; use child dispose handler for that or do it in sync with your close_page_finish() calls.

page

a page of the view

position

the position of the removed page, starting from 0

source

pub fn connect_page_reordered<F: Fn(&Self, &TabPage, i32) + 'static>( &self, f: F ) -> SignalHandlerId

This signal is emitted after @page has been reordered to @position.

page

a page of the view

position

the position @page was moved to, starting at 0

source

pub fn connect_setup_menu<F: Fn(&Self, &TabPage) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a context menu is opened or closed for @page.

If the menu has been closed, @page will be set to NULL.

It can be used to set up menu actions before showing the menu, for example disable actions not applicable to @page.

page

a page of @self_

source

pub fn connect_default_icon_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_is_transferring_page_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_menu_model_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_n_pages_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_n_pinned_pages_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_selected_page_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_shortcut_widget_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Trait Implementations§

source§

impl Clone for TabView

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TabView

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TabView

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Display for TabView

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl HasParamSpec for TabView

§

type ParamSpec = ParamSpecObject

§

type SetValue = TabView

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, TabView>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for TabView

source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for TabView

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for TabView

§

type Parent = Bin

source§

impl<OT: ObjectType> PartialEq<OT> for TabView

source§

fn eq(&self, other: &OT) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for TabView

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for TabView

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for TabView

source§

impl IsA<Bin> for TabView

source§

impl IsA<Buildable> for TabView

source§

impl IsA<Container> for TabView

source§

impl IsA<Widget> for TabView

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<O> BinExt for O
where O: IsA<Bin>,

§

fn child(&self) -> Option<Widget>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<O> BuildableExt for O
where O: IsA<Buildable>,

§

fn add_child( &self, builder: &impl IsA<Builder>, child: &impl IsA<Object>, type_: Option<&str> )

§

fn construct_child( &self, builder: &impl IsA<Builder>, name: &str ) -> Option<Object>

§

fn internal_child( &self, builder: &impl IsA<Builder>, childname: &str ) -> Option<Object>

§

fn parser_finished(&self, builder: &impl IsA<Builder>)

§

fn set_buildable_property( &self, builder: &impl IsA<Builder>, name: &str, value: &Value )

§

impl<O> BuildableExtManual for O
where O: IsA<Buildable>,

§

fn buildable_name(&self) -> Option<String>

§

fn set_buildable_name(&self, name: &str)

§

impl<T> Cast for T
where T: ObjectType,

§

fn upcast<T>(self) -> T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
§

fn upcast_ref<T>(&self) -> &T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
§

fn downcast<T>(self) -> Result<T, Self>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a subclass or interface implementor T. Read more
§

fn downcast_ref<T>(&self) -> Option<&T>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
§

fn dynamic_cast<T>(self) -> Result<T, Self>
where T: ObjectType,

Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while upcast will do many checks at compile-time already. downcast will perform the same checks at runtime as dynamic_cast, but will also ensure some amount of compile-time safety. Read more
§

fn dynamic_cast_ref<T>(&self) -> Option<&T>
where T: ObjectType,

Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
§

unsafe fn unsafe_cast<T>(self) -> T
where T: ObjectType,

Casts to T unconditionally. Read more
§

unsafe fn unsafe_cast_ref<T>(&self) -> &T
where T: ObjectType,

Casts to &T unconditionally. Read more
§

impl<O> ContainerExt for O
where O: IsA<Container>,

§

fn add(&self, widget: &impl IsA<Widget>)

§

fn check_resize(&self)

§

fn child_notify(&self, child: &impl IsA<Widget>, child_property: &str)

§

fn child_notify_by_pspec( &self, child: &impl IsA<Widget>, pspec: impl AsRef<ParamSpec> )

§

fn child_type(&self) -> Type

§

fn forall<P>(&self, callback: P)
where P: FnMut(&Widget),

§

fn foreach<P>(&self, callback: P)
where P: FnMut(&Widget),

§

fn border_width(&self) -> u32

§

fn children(&self) -> Vec<Widget>

§

fn focus_child(&self) -> Option<Widget>

§

fn focus_hadjustment(&self) -> Option<Adjustment>

§

fn focus_vadjustment(&self) -> Option<Adjustment>

§

fn path_for_child(&self, child: &impl IsA<Widget>) -> Option<WidgetPath>

§

fn propagate_draw(&self, child: &impl IsA<Widget>, cr: &Context)

§

fn remove(&self, widget: &impl IsA<Widget>)

§

fn set_border_width(&self, border_width: u32)

§

fn set_focus_chain(&self, focusable_widgets: &[Widget])

👎Deprecated: Since 3.24
§

fn set_focus_child(&self, child: Option<&impl IsA<Widget>>)

§

fn set_focus_hadjustment(&self, adjustment: &impl IsA<Adjustment>)

§

fn set_focus_vadjustment(&self, adjustment: &impl IsA<Adjustment>)

§

fn unset_focus_chain(&self)

👎Deprecated: Since 3.24
§

fn set_child<P>(&self, child: Option<&P>)
where P: IsA<Widget>,

§

fn resize_mode(&self) -> ResizeMode

§

fn set_resize_mode(&self, resize_mode: ResizeMode)

§

fn connect_add<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Widget) + 'static,

§

fn connect_check_resize<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_remove<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Widget) + 'static,

§

fn connect_set_focus_child<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Widget) + 'static,

§

fn connect_border_width_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_child_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_resize_mode_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

impl<O> ContainerExtManual for O
where O: IsA<Container>,

§

fn child_property_value( &self, child: &impl IsA<Widget>, property_name: &str ) -> Value

§

fn child_property<V>(&self, child: &impl IsA<Widget>, property_name: &str) -> V
where V: for<'b> FromValue<'b> + 'static,

§

fn child_set_property( &self, child: &impl IsA<Widget>, property_name: &str, value: &dyn ToValue )

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T
where T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

§

impl<U> IsSubclassableExt for U
where U: IsClass + ParentClassIs,

§

fn parent_class_init<T>(class: &mut Class<U>)
where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

impl<T> ObjectExt for T
where T: ObjectType,

§

fn is<U>(&self) -> bool
where U: StaticType,

Returns true if the object is an instance of (can be cast to) T.
§

fn type_(&self) -> Type

Returns the type of the object.
§

fn object_class(&self) -> &Class<Object>

Returns the [ObjectClass] of the object. Read more
§

fn class(&self) -> &Class<T>
where T: IsClass,

Returns the class of the object.
§

fn class_of<U>(&self) -> Option<&Class<U>>
where U: IsClass,

Returns the class of the object in the given type T. Read more
§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>
where U: IsInterface,

Returns the interface T of the object. Read more
§

fn set_property(&self, property_name: &str, value: impl Into<Value>)

Sets the property property_name of the object to value value. Read more
§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
§

fn property<V>(&self, property_name: &str) -> V
where V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

unsafe fn set_data<QD>(&self, key: &str, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
§

fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> R
where R: TryFromClosureReturnValue,

Emit signal by signal id. Read more
§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as [Self::emit] but takes Value for the arguments.
§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R
where R: TryFromClosureReturnValue,

Emit signal by its name. Read more
§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>

Emit signal by its name. Read more
§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> R
where R: TryFromClosureReturnValue,

Emit signal by its name with details. Read more
§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by its name with details. Read more
§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> R
where R: TryFromClosureReturnValue,

Emit signal by signal id with details. Read more
§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by signal id with details. Read more
§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
where F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
§

fn bind_property<'f, 't, O, 'a>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str ) -> BindingBuilder<'a, 'f, 't>
where O: ObjectType,

Bind property source_property on this object to the target_property on the target object. Read more
§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
§

impl<T> Property for T
where T: HasParamSpec,

§

type Value = T

§

impl<T> PropertyGet for T
where T: HasParamSpec,

§

type Value = T

§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

§

impl<T> StaticTypeExt for T
where T: StaticType,

§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TransparentType for T
where T: TransparentPtrType,

§

type GlibType = <T as GlibPtrDefault>::GlibType

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

§

fn try_from_closure_return_value(v: Option<Value>) -> Result<T, BoolError>

source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<O> WidgetExt for O
where O: IsA<Widget>,

§

fn activate(&self) -> bool

§

fn add_accelerator( &self, accel_signal: &str, accel_group: &impl IsA<AccelGroup>, accel_key: u32, accel_mods: ModifierType, accel_flags: AccelFlags )

§

fn add_device_events(&self, device: &Device, events: EventMask)

§

fn add_mnemonic_label(&self, label: &impl IsA<Widget>)

§

fn can_activate_accel(&self, signal_id: u32) -> bool

§

fn child_focus(&self, direction: DirectionType) -> bool

§

fn child_notify(&self, child_property: &str)

§

fn compute_expand(&self, orientation: Orientation) -> bool

§

fn create_pango_context(&self) -> Context

§

fn create_pango_layout(&self, text: Option<&str>) -> Layout

§

fn device_is_shadowed(&self, device: &Device) -> bool

§

fn drag_begin_with_coordinates( &self, targets: &TargetList, actions: DragAction, button: i32, event: Option<&Event>, x: i32, y: i32 ) -> Option<DragContext>

§

fn drag_check_threshold( &self, start_x: i32, start_y: i32, current_x: i32, current_y: i32 ) -> bool

§

fn drag_dest_add_image_targets(&self)

§

fn drag_dest_add_text_targets(&self)

§

fn drag_dest_add_uri_targets(&self)

§

fn drag_dest_find_target( &self, context: &DragContext, target_list: Option<&TargetList> ) -> Option<Atom>

§

fn drag_dest_get_target_list(&self) -> Option<TargetList>

§

fn drag_dest_get_track_motion(&self) -> bool

§

fn drag_dest_set_target_list(&self, target_list: Option<&TargetList>)

§

fn drag_dest_set_track_motion(&self, track_motion: bool)

§

fn drag_dest_unset(&self)

§

fn drag_get_data(&self, context: &DragContext, target: &Atom, time_: u32)

§

fn drag_highlight(&self)

§

fn drag_source_add_image_targets(&self)

§

fn drag_source_add_text_targets(&self)

§

fn drag_source_add_uri_targets(&self)

§

fn drag_source_get_target_list(&self) -> Option<TargetList>

§

fn drag_source_set_icon_gicon(&self, icon: &impl IsA<Icon>)

§

fn drag_source_set_icon_name(&self, icon_name: &str)

§

fn drag_source_set_icon_pixbuf(&self, pixbuf: &Pixbuf)

§

fn drag_source_set_target_list(&self, target_list: Option<&TargetList>)

§

fn drag_source_unset(&self)

§

fn drag_unhighlight(&self)

§

fn draw(&self, cr: &Context)

§

fn error_bell(&self)

§

fn event(&self, event: &Event) -> bool

§

fn freeze_child_notify(&self)

§

fn accessible(&self) -> Option<Object>

§

fn action_group(&self, prefix: &str) -> Option<ActionGroup>

§

fn allocated_baseline(&self) -> i32

§

fn allocated_height(&self) -> i32

§

fn allocated_size(&self) -> (Rectangle, i32)

§

fn allocated_width(&self) -> i32

§

fn allocation(&self) -> Rectangle

§

fn ancestor(&self, widget_type: Type) -> Option<Widget>

§

fn is_app_paintable(&self) -> bool

§

fn can_default(&self) -> bool

§

fn can_focus(&self) -> bool

§

fn is_child_visible(&self) -> bool

§

fn clip(&self) -> Rectangle

§

fn clipboard(&self, selection: &Atom) -> Clipboard

§

fn device_is_enabled(&self, device: &Device) -> bool

§

fn device_events(&self, device: &Device) -> EventMask

§

fn direction(&self) -> TextDirection

§

fn display(&self) -> Display

§

fn is_double_buffered(&self) -> bool

§

fn gets_focus_on_click(&self) -> bool

§

fn font_map(&self) -> Option<FontMap>

§

fn font_options(&self) -> Option<FontOptions>

§

fn frame_clock(&self) -> Option<FrameClock>

§

fn halign(&self) -> Align

§

fn has_tooltip(&self) -> bool

§

fn has_window(&self) -> bool

§

fn hexpands(&self) -> bool

§

fn is_hexpand_set(&self) -> bool

§

fn is_mapped(&self) -> bool

§

fn margin_bottom(&self) -> i32

§

fn margin_end(&self) -> i32

§

fn margin_start(&self) -> i32

§

fn margin_top(&self) -> i32

§

fn modifier_mask(&self, intent: ModifierIntent) -> ModifierType

§

fn widget_name(&self) -> GString

§

fn is_no_show_all(&self) -> bool

§

fn opacity(&self) -> f64

§

fn pango_context(&self) -> Context

§

fn parent(&self) -> Option<Widget>

§

fn parent_window(&self) -> Option<Window>

§

fn path(&self) -> WidgetPath

§

fn preferred_height(&self) -> (i32, i32)

§

fn preferred_height_and_baseline_for_width( &self, width: i32 ) -> (i32, i32, i32, i32)

§

fn preferred_height_for_width(&self, width: i32) -> (i32, i32)

§

fn preferred_size(&self) -> (Requisition, Requisition)

§

fn preferred_width(&self) -> (i32, i32)

§

fn preferred_width_for_height(&self, height: i32) -> (i32, i32)

§

fn is_realized(&self) -> bool

§

fn receives_default(&self) -> bool

§

fn request_mode(&self) -> SizeRequestMode

§

fn scale_factor(&self) -> i32

§

fn screen(&self) -> Option<Screen>

§

fn get_sensitive(&self) -> bool

§

fn settings(&self) -> Option<Settings>

§

fn size_request(&self) -> (i32, i32)

§

fn state_flags(&self) -> StateFlags

§

fn style_context(&self) -> StyleContext

§

fn supports_multidevice(&self) -> bool

§

fn template_child(&self, widget_type: Type, name: &str) -> Option<Object>

§

fn tooltip_markup(&self) -> Option<GString>

§

fn tooltip_text(&self) -> Option<GString>

§

fn tooltip_window(&self) -> Option<Window>

§

fn toplevel(&self) -> Option<Widget>

§

fn valign(&self) -> Align

§

fn valign_with_baseline(&self) -> Align

§

fn vexpands(&self) -> bool

§

fn is_vexpand_set(&self) -> bool

§

fn get_visible(&self) -> bool

§

fn visual(&self) -> Option<Visual>

§

fn window(&self) -> Option<Window>

§

fn grab_add(&self)

§

fn grab_default(&self)

§

fn grab_focus(&self)

§

fn grab_remove(&self)

§

fn has_default(&self) -> bool

§

fn has_focus(&self) -> bool

§

fn has_grab(&self) -> bool

§

fn has_screen(&self) -> bool

§

fn has_visible_focus(&self) -> bool

§

fn hide(&self)

§

fn in_destruction(&self) -> bool

§

fn init_template(&self)

§

fn input_shape_combine_region(&self, region: Option<&Region>)

§

fn insert_action_group(&self, name: &str, group: Option<&impl IsA<ActionGroup>>)

§

fn is_ancestor(&self, ancestor: &impl IsA<Widget>) -> bool

§

fn is_drawable(&self) -> bool

§

fn is_focus(&self) -> bool

§

fn is_sensitive(&self) -> bool

§

fn is_toplevel(&self) -> bool

§

fn is_visible(&self) -> bool

§

fn keynav_failed(&self, direction: DirectionType) -> bool

§

fn list_accel_closures(&self) -> Vec<Closure>

§

fn list_action_prefixes(&self) -> Vec<GString>

§

fn list_mnemonic_labels(&self) -> Vec<Widget>

§

fn map(&self)

§

fn mnemonic_activate(&self, group_cycling: bool) -> bool

§

fn queue_allocate(&self)

§

fn queue_compute_expand(&self)

§

fn queue_draw(&self)

§

fn queue_draw_area(&self, x: i32, y: i32, width: i32, height: i32)

§

fn queue_draw_region(&self, region: &Region)

§

fn queue_resize(&self)

§

fn queue_resize_no_redraw(&self)

§

fn realize(&self)

§

fn register_window(&self, window: &Window)

§

fn remove_accelerator( &self, accel_group: &impl IsA<AccelGroup>, accel_key: u32, accel_mods: ModifierType ) -> bool

§

fn remove_mnemonic_label(&self, label: &impl IsA<Widget>)

§

fn reset_style(&self)

§

fn send_focus_change(&self, event: &Event) -> bool

§

fn set_accel_path( &self, accel_path: Option<&str>, accel_group: Option<&impl IsA<AccelGroup>> )

§

fn set_allocation(&self, allocation: &Rectangle)

§

fn set_app_paintable(&self, app_paintable: bool)

§

fn set_can_default(&self, can_default: bool)

§

fn set_can_focus(&self, can_focus: bool)

§

fn set_child_visible(&self, is_visible: bool)

§

fn set_clip(&self, clip: &Rectangle)

§

fn set_device_enabled(&self, device: &Device, enabled: bool)

§

fn set_device_events(&self, device: &Device, events: EventMask)

§

fn set_direction(&self, dir: TextDirection)

§

fn set_focus_on_click(&self, focus_on_click: bool)

§

fn set_font_map(&self, font_map: Option<&impl IsA<FontMap>>)

§

fn set_font_options(&self, options: Option<&FontOptions>)

§

fn set_halign(&self, align: Align)

§

fn set_has_tooltip(&self, has_tooltip: bool)

§

fn set_has_window(&self, has_window: bool)

§

fn set_hexpand(&self, expand: bool)

§

fn set_hexpand_set(&self, set: bool)

§

fn set_mapped(&self, mapped: bool)

§

fn set_margin_bottom(&self, margin: i32)

§

fn set_margin_end(&self, margin: i32)

§

fn set_margin_start(&self, margin: i32)

§

fn set_margin_top(&self, margin: i32)

§

fn set_widget_name(&self, name: &str)

§

fn set_no_show_all(&self, no_show_all: bool)

§

fn set_opacity(&self, opacity: f64)

§

fn set_parent(&self, parent: &impl IsA<Widget>)

§

fn set_parent_window(&self, parent_window: &Window)

§

fn set_realized(&self, realized: bool)

§

fn set_receives_default(&self, receives_default: bool)

§

fn set_redraw_on_allocate(&self, redraw_on_allocate: bool)

§

fn set_sensitive(&self, sensitive: bool)

§

fn set_size_request(&self, width: i32, height: i32)

§

fn set_state_flags(&self, flags: StateFlags, clear: bool)

§

fn set_support_multidevice(&self, support_multidevice: bool)

§

fn set_tooltip_markup(&self, markup: Option<&str>)

§

fn set_tooltip_text(&self, text: Option<&str>)

§

fn set_tooltip_window(&self, custom_window: Option<&impl IsA<Window>>)

§

fn set_valign(&self, align: Align)

§

fn set_vexpand(&self, expand: bool)

§

fn set_vexpand_set(&self, set: bool)

§

fn set_visible(&self, visible: bool)

§

fn set_visual(&self, visual: Option<&Visual>)

§

fn set_window(&self, window: Window)

§

fn shape_combine_region(&self, region: Option<&Region>)

§

fn show(&self)

§

fn show_all(&self)

§

fn show_now(&self)

§

fn size_allocate(&self, allocation: &Rectangle)

§

fn size_allocate_with_baseline(&self, allocation: &mut Rectangle, baseline: i32)

§

fn style_get_property(&self, property_name: &str) -> Value

§

fn thaw_child_notify(&self)

§

fn translate_coordinates( &self, dest_widget: &impl IsA<Widget>, src_x: i32, src_y: i32 ) -> Option<(i32, i32)>

§

fn trigger_tooltip_query(&self)

§

fn unmap(&self)

§

fn unparent(&self)

§

fn unrealize(&self)

§

fn unregister_window(&self, window: &Window)

§

fn unset_state_flags(&self, flags: StateFlags)

§

fn is_composite_child(&self) -> bool

§

fn expands(&self) -> bool

§

fn set_expand(&self, expand: bool)

§

fn set_has_default(&self, has_default: bool)

§

fn set_has_focus(&self, has_focus: bool)

§

fn height_request(&self) -> i32

§

fn set_height_request(&self, height_request: i32)

§

fn set_is_focus(&self, is_focus: bool)

§

fn margin(&self) -> i32

§

fn set_margin(&self, margin: i32)

§

fn width_request(&self) -> i32

§

fn set_width_request(&self, width_request: i32)

§

fn connect_accel_closures_changed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_button_press_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventButton) -> Propagation + 'static,

§

fn connect_button_release_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventButton) -> Propagation + 'static,

§

fn connect_can_activate_accel<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, u32) -> bool + 'static,

§

fn connect_child_notify<F>(&self, detail: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&Self, &ParamSpec) + 'static,

§

fn connect_configure_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventConfigure) -> bool + 'static,

§

fn connect_damage_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventExpose) -> bool + 'static,

§

fn connect_delete_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn connect_destroy<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_destroy_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn connect_direction_changed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, TextDirection) + 'static,

§

fn connect_drag_begin<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext) + 'static,

§

fn connect_drag_data_delete<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext) + 'static,

§

fn connect_drag_data_get<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, &SelectionData, u32, u32) + 'static,

§

fn connect_drag_data_received<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, i32, i32, &SelectionData, u32, u32) + 'static,

§

fn connect_drag_drop<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, i32, i32, u32) -> bool + 'static,

§

fn connect_drag_end<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext) + 'static,

§

fn connect_drag_failed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, DragResult) -> Propagation + 'static,

§

fn connect_drag_leave<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, u32) + 'static,

§

fn connect_drag_motion<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &DragContext, i32, i32, u32) -> bool + 'static,

§

fn connect_draw<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Context) -> Propagation + 'static,

§

fn connect_enter_notify_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventCrossing) -> Propagation + 'static,

§

fn connect_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn connect_event_after<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) + 'static,

§

fn connect_focus<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, DirectionType) -> Propagation + 'static,

§

fn connect_focus_in_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventFocus) -> Propagation + 'static,

§

fn connect_focus_out_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventFocus) -> Propagation + 'static,

§

fn connect_grab_broken_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventGrabBroken) -> Propagation + 'static,

§

fn connect_grab_focus<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn emit_grab_focus(&self)

§

fn connect_grab_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, bool) + 'static,

§

fn connect_hide<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_hierarchy_changed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, Option<&Widget>) + 'static,

§

fn connect_key_press_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventKey) -> Propagation + 'static,

§

fn connect_key_release_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventKey) -> Propagation + 'static,

§

fn connect_keynav_failed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, DirectionType) -> Propagation + 'static,

§

fn connect_leave_notify_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventCrossing) -> Propagation + 'static,

§

fn connect_map<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_mnemonic_activate<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, bool) -> Propagation + 'static,

§

fn connect_motion_notify_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventMotion) -> Propagation + 'static,

§

fn connect_move_focus<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, DirectionType) + 'static,

§

fn emit_move_focus(&self, direction: DirectionType)

§

fn connect_parent_set<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, Option<&Widget>) + 'static,

§

fn connect_popup_menu<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) -> bool + 'static,

§

fn emit_popup_menu(&self) -> bool

§

fn connect_property_notify_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventProperty) -> Propagation + 'static,

§

fn connect_proximity_in_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventProximity) -> Propagation + 'static,

§

fn connect_proximity_out_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventProximity) -> Propagation + 'static,

§

fn connect_query_tooltip<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, i32, i32, bool, &Tooltip) -> bool + 'static,

§

fn connect_realize<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_screen_changed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, Option<&Screen>) + 'static,

§

fn connect_scroll_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventScroll) -> Propagation + 'static,

§

fn connect_selection_clear_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventSelection) -> Propagation + 'static,

§

fn connect_selection_get<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &SelectionData, u32, u32) + 'static,

§

fn connect_selection_notify_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventSelection) -> Propagation + 'static,

§

fn connect_selection_received<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &SelectionData, u32) + 'static,

§

fn connect_selection_request_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventSelection) -> Propagation + 'static,

§

fn connect_show<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_show_help<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, WidgetHelpType) -> bool + 'static,

§

fn emit_show_help(&self, help_type: WidgetHelpType) -> bool

§

fn connect_size_allocate<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Rectangle) + 'static,

§

fn connect_state_flags_changed<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, StateFlags) + 'static,

§

fn connect_style_updated<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_touch_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn connect_unmap<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_unrealize<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_window_state_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &EventWindowState) -> Propagation + 'static,

§

fn connect_app_paintable_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_can_default_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_can_focus_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_composite_child_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_events_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_expand_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_focus_on_click_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_halign_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_has_default_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_has_focus_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_has_tooltip_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_height_request_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_hexpand_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_hexpand_set_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_is_focus_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_margin_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_margin_bottom_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_margin_end_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_margin_start_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_margin_top_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_name_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_no_show_all_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_opacity_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_parent_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_receives_default_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_scale_factor_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_sensitive_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_tooltip_markup_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_tooltip_text_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_valign_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_vexpand_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_vexpand_set_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_visible_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_width_request_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

fn connect_window_notify<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self) + 'static,

§

impl<O> WidgetExtManual for O
where O: IsA<Widget>,

§

fn drag_dest_set( &self, flags: DestDefaults, targets: &[TargetEntry], actions: DragAction )

§

fn drag_source_set( &self, start_button_mask: ModifierType, targets: &[TargetEntry], actions: DragAction )

§

fn intersect( &self, area: &Rectangle, intersection: Option<&mut Rectangle> ) -> bool

§

fn connect_map_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn connect_unmap_event<F>(&self, f: F) -> SignalHandlerId
where F: Fn(&Self, &Event) -> Propagation + 'static,

§

fn add_tick_callback<P>(&self, callback: P) -> TickCallbackId
where P: Fn(&Self, &FrameClock) -> ControlFlow + 'static,

§

fn add_events(&self, events: EventMask)

§

fn events(&self) -> EventMask

§

fn set_events(&self, events: EventMask)

§

unsafe fn destroy(&self)

Calls gtk_widget_destroy() on this widget. Read more
§

fn hide_on_delete(&self) -> Propagation

§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

§

impl<Super, Sub> MayDowncastTo<Sub> for Super
where Super: IsA<Super>, Sub: IsA<Super>,