Class
HandyLeaflet
since: 1.0
Description [src]
class Handy.Leaflet : Gtk.Container
implements Atk.ImplementorIface, Gtk.Buildable, Gtk.Orientable, Handy.Swipeable {
/* No available fields */
}
An adaptive container acting like a box or a stack.
The HdyLeaflet
widget can display its children like a GtkBox
does
or like a GtkStack
does, adapting to size changes by switching
between the two modes.
When there is enough space the children are displayed side by side, otherwise only one is displayed and the leaflet is said to be “folded”. The threshold is dictated by the preferred minimum sizes of the children. When a leaflet is folded, the children can be navigated using swipe gestures.
The “over” and “under” transition types stack the children one on top of the other, while the “slide” transition puts the children side by side. While navigating to a child on the side or below can be performed by swiping the current child away, navigating to an upper child requires dragging it from the edge where it resides. This doesn’t affect non-dragging swipes.
The “over” and “under” transitions can draw their shadow on top of the
window’s transparent areas, like the rounded corners. This is a side-effect
of allowing shadows to be drawn on top of OpenGL areas. It can be mitigated
by using HdyWindow
or HdyApplicationWindow
as they will crop
anything drawn beyond the rounded corners.
The child property navigatable
can be set on HdyLeaflet
children to
determine whether they can be navigated to when folded. If FALSE
, the child
will be ignored by hdy_leaflet_get_adjacent_child()
,
hdy_leaflet_navigate()
, and swipe gestures. This can be used used to
prevent switching to widgets like separators.
CSS nodes
HdyLeaflet
has a single CSS node with name leaflet
. The node will get the
style classes .folded
when it is folded, .unfolded
when it’s not, or none
if it didn’t compute its fold yet.
Available since: 1.0
Instance methods
hdy_leaflet_get_can_swipe_back
Gets whether swipe gestures switch to the previous navigatable child.
since: 1.0
hdy_leaflet_get_can_swipe_forward
Gets whether swipe gestures switch to the next navigatable child.
since: 1.0
hdy_leaflet_get_child_by_name
Finds the child of self
with the name given as the argument.
since: 1.0
hdy_leaflet_get_child_transition_duration
Gets the amount of time that transitions between children will take.
since: 1.0
hdy_leaflet_get_child_transition_running
Returns whether self
is currently in a transition from one page to another.
since: 1.0
hdy_leaflet_get_homogeneous
Gets whether self
is homogeneous for the given fold and orientation.
since: 1.0
hdy_leaflet_get_interpolate_size
Gets whether to interpolate between the sizes of children on page switches.
since: 1.0
hdy_leaflet_get_mode_transition_duration
Gets the amount of time that transitions between modes in self
will take.
since: 1.0
hdy_leaflet_get_transition_type
Gets the animation type that will be used for transitions between modes and children.
since: 1.0
hdy_leaflet_insert_child_after
Inserts child
in the position after sibling
in the list of children.
since: 1.2
hdy_leaflet_reorder_child_after
Moves child
to the position after sibling
in the list of children.
since: 1.2
hdy_leaflet_set_can_swipe_back
Sets whether swipe gestures switch to the previous navigatable child.
since: 1.0
hdy_leaflet_set_can_swipe_forward
Sets whether swipe gestures switch to the next navigatable child.
since: 1.0
hdy_leaflet_set_child_transition_duration
Sets the duration that transitions between children in self
will take.
since: 1.0
hdy_leaflet_set_homogeneous
Sets whether to be homogeneous for the given fold and orientation.
since: 1.0
hdy_leaflet_set_interpolate_size
Sets whether self
will interpolate its size when changing the visible child.
since: 1.0
hdy_leaflet_set_mode_transition_duration
Sets the duration that transitions between modes in self
will take.
since: 1.0
hdy_leaflet_set_transition_type
Sets the animation type that will be used for transitions between modes and children.
since: 1.0
hdy_leaflet_set_visible_child
Sets the currently visible widget when the leaflet is folded.
since: 1.0
Methods inherited from GtkContainer (33)
Please see GtkContainer for a full list of methods.
Methods inherited from GtkBuildable (10)
gtk_buildable_add_child
Adds a child to buildable
. type
is an optional string
describing how the child should be added.
gtk_buildable_construct_child
Constructs a child of buildable
with the name name
.
gtk_buildable_custom_finished
This is similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
gtk_buildable_custom_tag_end
This is called at the end of each custom element handled by the buildable.
gtk_buildable_custom_tag_start
This is called for each unknown element under <child>
.
gtk_buildable_get_internal_child
Get the internal child called childname
of the buildable
object.
gtk_buildable_get_name
Gets the name of the buildable
object.
gtk_buildable_parser_finished
Called when the builder finishes the parsing of a
[GtkBuilder UI definition][BUILDER-UI].
Note that this will be called once for each time
gtk_builder_add_from_file()
or gtk_builder_add_from_string()
is called on a builder.
gtk_buildable_set_buildable_property
Sets the property name name
to value
on the buildable
object.
gtk_buildable_set_name
Sets the name of the buildable
object.
Methods inherited from GtkOrientable (2)
gtk_orientable_get_orientation
Retrieves the orientation of the orientable
.
gtk_orientable_set_orientation
Sets the orientation of the orientable
.
Methods inherited from HdySwipeable (8)
hdy_swipeable_emit_child_switched
Emits HdySwipeable::child-switched
signal.
since: 1.0
hdy_swipeable_get_cancel_progress
Gets the progress self
will snap back to after the gesture is canceled.
since: 1.0
hdy_swipeable_get_distance
Gets the swipe distance of self
.
since: 1.0
hdy_swipeable_get_progress
Gets the current progress of self
.
since: 1.0
hdy_swipeable_get_snap_points
Gets the snap points of self
.
since: 1.0
hdy_swipeable_get_swipe_area
Gets the area self
can start a swipe from for the given direction and
gesture type.
since: 1.0
hdy_swipeable_get_swipe_tracker
Gets the HdySwipeTracker
used by this swipeable widget.
since: 1.0
hdy_swipeable_switch_child
Switches to child with index index
.
since: 1.0
Properties
Handy.Leaflet:can-swipe-back
Whether swipe gestures allow switching to the previous navigatable child.
since: 1.0
Handy.Leaflet:can-swipe-forward
Whether swipe gestures allow switching to the next navigatable child.
since: 1.0
Handy.Leaflet:child-transition-duration
The child transition animation duration, in milliseconds.
since: 1.0
Handy.Leaflet:hhomogeneous-folded
Whether to allocate the same width for all children when folded.
since: 1.0
Handy.Leaflet:hhomogeneous-unfolded
Whether to allocate the same width for all children when unfolded.
since: 1.0
Handy.Leaflet:interpolate-size
Whether the size should smoothly change when changing between children.
since: 1.0
Handy.Leaflet:mode-transition-duration
The mode transition animation duration, in milliseconds.
since: 1.0
Handy.Leaflet:transition-type
The animation type used for transitions between modes and children.
since: 1.0
Handy.Leaflet:vhomogeneous-folded
Whether to allocates the same height for all children when folded.
since: 1.0
Handy.Leaflet:vhomogeneous-unfolded
Whether to allocate the same height for all children when unfolded.
since: 1.0
Handy.Leaflet:visible-child-name
The name of the widget currently visible when the leaflet is folded.
since: 1.0
Properties inherited from GtkContainer (3)
Gtk.Container:border-width
Gtk.Container:child
Gtk.Container:resize-mode
Properties inherited from GtkWidget (39)
Gtk.Widget:app-paintable
Gtk.Widget:can-default
Gtk.Widget:can-focus
Gtk.Widget:composite-child
Gtk.Widget:double-buffered
Whether the widget is double buffered.
Gtk.Widget:events
Gtk.Widget:expand
Whether to expand in both directions. Setting this sets both GtkWidget:hexpand
and GtkWidget:vexpand
.
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space, see GtkAlign
.
Gtk.Widget:has-default
Gtk.Widget:has-focus
Gtk.Widget: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.
Gtk.Widget:height-request
Gtk.Widget:hexpand
Whether to expand horizontally. See gtk_widget_set_hexpand().
Gtk.Widget:hexpand-set
Whether to use the GtkWidget:hexpand
property. See gtk_widget_get_hexpand_set().
Gtk.Widget:is-focus
Gtk.Widget:margin
Sets all four sides’ margin at once. If read, returns max margin on any side.
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
Gtk.Widget:margin-end
Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
Gtk.Widget:margin-left
Margin on left side of widget.
Gtk.Widget:margin-right
Margin on right side of widget.
Gtk.Widget:margin-start
Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
Gtk.Widget:margin-top
Margin on top side of widget.
Gtk.Widget:name
Gtk.Widget:no-show-all
Gtk.Widget:opacity
The requested opacity of the widget. See gtk_widget_set_opacity()
for
more details about window opacity.
Gtk.Widget:parent
Gtk.Widget:receives-default
Gtk.Widget:scale-factor
The scale factor of the widget. See gtk_widget_get_scale_factor()
for
more details about widget scaling.
Gtk.Widget:sensitive
Gtk.Widget:style
The style of the widget, which contains information about how it will look (colors, etc).
Gtk.Widget: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().
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space, see GtkAlign
.
Gtk.Widget:vexpand
Whether to expand vertically. See gtk_widget_set_vexpand().
Gtk.Widget:vexpand-set
Whether to use the GtkWidget:vexpand
property. See gtk_widget_get_vexpand_set().
Gtk.Widget:visible
Gtk.Widget:width-request
Gtk.Widget:window
The widget’s window if it is realized, NULL
otherwise.
Properties inherited from GtkOrientable (1)
Gtk.Orientable:orientation
The orientation of the orientable.
Signals
Signals inherited from GtkContainer (4)
GtkContainer::add
GtkContainer::check-resize
GtkContainer::remove
GtkContainer::set-focus-child
Signals inherited from GtkWidget (69)
GtkWidget::accel-closures-changed
GtkWidget::button-press-event
The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.
GtkWidget::button-release-event
The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.
GtkWidget::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.
GtkWidget::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.
GtkWidget::composited-changed
The ::composited-changed signal is emitted when the composited
status of widgets
screen changes.
See gdk_screen_is_composited().
GtkWidget::configure-event
The ::configure-event signal will be emitted when the size, position or
stacking of the widget
‘s window has changed.
GtkWidget::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.
GtkWidget::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.
GtkWidget::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.
GtkWidget::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.
GtkWidget::direction-changed
The ::direction-changed signal is emitted when the text direction of a widget changes.
GtkWidget::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().
GtkWidget::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.
GtkWidget::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().
GtkWidget::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.
GtkWidget::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.
GtkWidget::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
.
GtkWidget::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
.
GtkWidget::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().
GtkWidget::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().
GtkWidget::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().
GtkWidget::enter-notify-event
The ::enter-notify-event will be emitted when the pointer enters
the widget
‘s window.
GtkWidget::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.
GtkWidget::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.
GtkWidget::focus
GtkWidget::focus-in-event
The ::focus-in-event signal will be emitted when the keyboard focus
enters the widget
‘s window.
GtkWidget::focus-out-event
The ::focus-out-event signal will be emitted when the keyboard focus
leaves the widget
‘s window.
GtkWidget::grab-broken-event
Emitted when a pointer or keyboard grab on a window belonging
to widget
gets broken.
GtkWidget::grab-focus
GtkWidget::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.
GtkWidget::hide
The ::hide signal is emitted when widget
is hidden, for example with gtk_widget_hide().
GtkWidget::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.
GtkWidget::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.
GtkWidget::key-release-event
The ::key-release-event signal is emitted when a key is released.
GtkWidget::keynav-failed
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed()
for details.
GtkWidget::leave-notify-event
The ::leave-notify-event will be emitted when the pointer leaves
the widget
‘s window.
GtkWidget::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.
GtkWidget::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.
GtkWidget::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
.
GtkWidget::motion-notify-event
The ::motion-notify-event signal is emitted when the pointer moves
over the widget’s GdkWindow
.
GtkWidget::move-focus
GtkWidget::parent-set
The ::parent-set signal is emitted when a new parent has been set on a widget.
GtkWidget::popup-menu
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.
GtkWidget::property-notify-event
The ::property-notify-event signal will be emitted when a property on
the widget
‘s window has been changed or deleted.
GtkWidget::proximity-in-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_IN_MASK mask.
GtkWidget::proximity-out-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_OUT_MASK mask.
GtkWidget::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.
GtkWidget::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).
GtkWidget::screen-changed
The ::screen-changed signal gets emitted when the screen of a widget has changed.
GtkWidget::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.
GtkWidget::selection-clear-event
The ::selection-clear-event signal will be emitted when the
the widget
‘s window has lost ownership of a selection.
GtkWidget::selection-get
GtkWidget::selection-notify-event
GtkWidget::selection-received
GtkWidget::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.
GtkWidget::show
The ::show signal is emitted when widget
is shown, for example with gtk_widget_show().
GtkWidget::show-help
GtkWidget::size-allocate
GtkWidget::state-changed
The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state().
GtkWidget::state-flags-changed
The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().
GtkWidget::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.
GtkWidget::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().
GtkWidget::touch-event
GtkWidget::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.
GtkWidget::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.
GtkWidget::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).
GtkWidget::visibility-notify-event
The ::visibility-notify-event will be emitted when the widget
‘s
window is obscured or unobscured.
GtkWidget::window-state-event
The ::window-state-event will be emitted when the state of the
toplevel window associated to the widget
changes.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.