class Gtk::Popover
Overview
Gtk::Popover
is a bubble-like context popup.
It is primarily meant to provide context-dependent information
or options. Popovers are attached to a parent widget. By default,
they point to the whole widget area, although this behavior can be
changed with Gtk::Popover#pointing_to=
.
The position of a popover relative to the widget it is attached to
can also be changed with Gtk::Popover#position=
By default, Gtk::Popover
performs a grab, in order to ensure input
events get redirected to it while it is shown, and also so the popover
is dismissed in the expected situations (clicks outside the popover,
or the Escape key being pressed). If no such modal behavior is desired
on a popover, Gtk::Popover#autohide=
may be called on it to
tweak its behavior.
Gtk::Popover as menu replacement
Gtk::Popover
is often used to replace menus. The best was to do this
is to use the Gtk::PopoverMenu
subclass which supports being
populated from a GMenuModel
with Gtk::PopoverMenu#new_from_model
.
WARNING ⚠️ The following code is in xml ⚠️
<section>
<attribute name="display-hint">horizontal-buttons</attribute>
<item>
<attribute name="label">Cut</attribute>
<attribute name="action">app.cut</attribute>
<attribute name="verb-icon">edit-cut-symbolic</attribute>
</item>
<item>
<attribute name="label">Copy</attribute>
<attribute name="action">app.copy</attribute>
<attribute name="verb-icon">edit-copy-symbolic</attribute>
</item>
<item>
<attribute name="label">Paste</attribute>
<attribute name="action">app.paste</attribute>
<attribute name="verb-icon">edit-paste-symbolic</attribute>
</item>
</section>
CSS nodes
popover[.menu]
├── arrow
╰── contents.background
╰── <child>
The contents child node always gets the .background style class
and the popover itself gets the .menu style class if the popover
is menu-like (i.e. Gtk::PopoverMenu
).
Particular uses of Gtk::Popover
, such as touch selection popups or
magnifiers in Gtk::Entry
or Gtk::TextView
get style classes like
.touch-selection or .magnifier to differentiate from plain popovers.
When styling a popover directly, the popover node should usually not have any background. The visible part of the popover can have a shadow. To specify it in CSS, set the box-shadow of the contents node.
Note that, in order to accomplish appropriate arrow visuals, Gtk::Popover
uses custom drawing for the arrow node. This makes it possible for the
arrow to change its shape dynamically, but it also limits the possibilities
of styling it using CSS. In particular, the arrow gets drawn over the
content node's border and shadow, so they look like one shape, which
means that the border width of the content node and the arrow node should
be the same. The arrow also does not support any border shape other than
solid, no border-radius, only one border width (border-bottom-width is
used) and no box-shadow.
Included Modules
Direct Known Subclasses
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/popover.crConstructors
-
.new : self
Creates a new
Gtk::Popover
. - .new(*, accessible_role : Gtk::AccessibleRole? = nil, autohide : Bool? = nil, can_focus : Bool? = nil, can_target : Bool? = nil, cascade_popdown : Bool? = nil, child : Gtk::Widget? = nil, css_classes : Enumerable(String)? = nil, css_name : String? = nil, cursor : Gdk::Cursor? = nil, default_widget : Gtk::Widget? = nil, focus_on_click : Bool? = nil, focusable : Bool? = nil, halign : Gtk::Align? = nil, has_arrow : Bool? = nil, has_default : Bool? = nil, has_focus : Bool? = nil, has_tooltip : Bool? = nil, height_request : Int32? = nil, hexpand : Bool? = nil, hexpand_set : Bool? = nil, layout_manager : Gtk::LayoutManager? = nil, margin_bottom : Int32? = nil, margin_end : Int32? = nil, margin_start : Int32? = nil, margin_top : Int32? = nil, mnemonics_visible : Bool? = nil, name : String? = nil, opacity : Float64? = nil, overflow : Gtk::Overflow? = nil, parent : Gtk::Widget? = nil, pointing_to : Gdk::Rectangle? = nil, position : Gtk::PositionType? = nil, receives_default : Bool? = nil, root : Gtk::Root? = nil, scale_factor : Int32? = nil, sensitive : Bool? = nil, tooltip_markup : String? = nil, tooltip_text : String? = nil, valign : Gtk::Align? = nil, vexpand : Bool? = nil, vexpand_set : Bool? = nil, visible : Bool? = nil, width_request : Int32? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
- #activate_default_signal
-
#autohide : Bool
Returns whether the popover is modal.
-
#autohide=(autohide : Bool) : Nil
Sets whether @popover is modal.
- #autohide? : Bool
-
#cascade_popdown : Bool
Returns whether the popover will close after a modal child is closed.
-
#cascade_popdown=(cascade_popdown : Bool) : Nil
If @cascade_popdown is
true
, the popover will be closed when a child modal popover is closed. - #cascade_popdown? : Bool
-
#child : Gtk::Widget?
Gets the child widget of @popover.
-
#child=(child : Gtk::Widget?) : Nil
Sets the child widget of @popover.
- #closed_signal
- #default_widget : Gtk::Widget?
-
#default_widget=(widget : Gtk::Widget?) : Nil
Sets the default widget of a
Gtk::Popover
. -
#has_arrow : Bool
Gets whether this popover is showing an arrow pointing at the widget that it is relative to.
-
#has_arrow=(has_arrow : Bool) : Nil
Sets whether this popover should draw an arrow pointing at the widget it is relative to.
- #has_arrow? : Bool
-
#mnemonics_visible : Bool
Gets whether mnemonics are visible.
-
#mnemonics_visible=(mnemonics_visible : Bool) : Nil
Sets whether mnemonics should be visible.
- #mnemonics_visible? : Bool
-
#offset(x_offset : Int32?, y_offset : Int32?) : Nil
Gets the offset previous set with gtk_popover_set_offset().
-
#pointing_to : Gdk::Rectangle
Gets the rectangle that the popover points to.
-
#pointing_to=(rect : Gdk::Rectangle?) : Nil
Sets the rectangle that @popover points to.
-
#popdown : Nil
Pops @popover down.
-
#popup : Nil
Pops @popover up.
-
#position : Gtk::PositionType
Returns the preferred position of @popover.
-
#position=(position : Gtk::PositionType) : Nil
Sets the preferred position for @popover to appear.
-
#present : Nil
Presents the popover to the user.
-
#set_offset(x_offset : Int32, y_offset : Int32) : Nil
Sets the offset to use when calculating the position of the popover.
Instance methods inherited from module Gtk::ShortcutManager
to_unsafe
to_unsafe
Class methods inherited from module Gtk::ShortcutManager
g_type : UInt64
g_type
Instance methods inherited from module Gtk::Native
realize : Nil
realize,
renderer : Gsk::Renderer
renderer,
surface : Gdk::Surface
surface,
surface_transform(x : Float64, y : Float64) : Nil
surface_transform,
to_unsafe
to_unsafe,
unrealize : Nil
unrealize
Class methods inherited from module Gtk::Native
for_surface(surface : Gdk::Surface) : Gtk::Native?
for_surface,
g_type : UInt64
g_type
Instance methods inherited from module Gtk::ConstraintTarget
to_unsafe
to_unsafe
Class methods inherited from module Gtk::ConstraintTarget
g_type : UInt64
g_type
Instance methods inherited from module Gtk::Buildable
buildable_id : String?
buildable_id,
to_unsafe
to_unsafe
Class methods inherited from module Gtk::Buildable
g_type : UInt64
g_type
Instance methods inherited from module Gtk::Accessible
accessible_role : Gtk::AccessibleRole
accessible_role,
accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole
accessible_role=,
reset_property(property : Gtk::AccessibleProperty) : Nil
reset_property,
reset_relation(relation : Gtk::AccessibleRelation) : Nil
reset_relation,
reset_state(state : Gtk::AccessibleState) : Nil
reset_state,
to_unsafe
to_unsafe,
update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil
update_property,
update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil
update_relation,
update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil
update_state
Class methods inherited from module Gtk::Accessible
g_type : UInt64
g_type
Instance methods inherited from class Gtk::Widget
action_set_enabled(action_name : String, enabled : Bool) : Nil
action_set_enabled,
activate : Bool
activate,
activate_action(name : String, args : _?) : Bool
activate_action,
activate_default : Nil
activate_default,
add_controller(controller : Gtk::EventController) : Nil
add_controller,
add_css_class(css_class : String) : Nil
add_css_class,
add_mnemonic_label(label : Gtk::Widget) : Nil
add_mnemonic_label,
add_tick_callback(callback : Gtk::TickCallback) : UInt32
add_tick_callback,
allocate(width : Int32, height : Int32, baseline : Int32, transform : Gsk::Transform?) : Nil
allocate,
allocated_baseline : Int32
allocated_baseline,
allocated_height : Int32
allocated_height,
allocated_width : Int32
allocated_width,
allocation : Gdk::Rectangle
allocation,
ancestor(widget_type : UInt64) : Gtk::Widget?
ancestor,
can_focus : Bool
can_focus,
can_focus=(can_focus : Bool) : Nil
can_focus=,
can_focus? : Bool
can_focus?,
can_target : Bool
can_target,
can_target=(can_target : Bool) : Nil
can_target=,
can_target? : Bool
can_target?,
child_focus(direction : Gtk::DirectionType) : Bool
child_focus,
child_visible : Bool
child_visible,
child_visible=(child_visible : Bool) : Nil
child_visible=,
clipboard : Gdk::Clipboard
clipboard,
compute_bounds(target : Gtk::Widget) : Graphene::Rect
compute_bounds,
compute_expand(orientation : Gtk::Orientation) : Bool
compute_expand,
compute_point(target : Gtk::Widget, point : Graphene::Point) : Graphene::Point
compute_point,
compute_transform(target : Gtk::Widget) : Graphene::Matrix
compute_transform,
contains(x : Float64, y : Float64) : Bool
contains,
create_pango_context : Pango::Context
create_pango_context,
create_pango_layout(text : String?) : Pango::Layout
create_pango_layout,
css_classes : Enumerable(String)
css_classes,
css_classes=(classes : Enumerable(String)) : Nil
css_classes=,
css_name : String
css_name,
css_name=(value : String) : String
css_name=,
cursor : Gdk::Cursor?
cursor,
cursor=(cursor : Gdk::Cursor?) : Nil
cursor=,
cursor_from_name=(name : String?) : Nil
cursor_from_name=,
destroy_signal
destroy_signal,
direction : Gtk::TextDirection
direction,
direction=(dir : Gtk::TextDirection) : Nil
direction=,
direction_changed_signal
direction_changed_signal,
display : Gdk::Display
display,
dispose_template(widget_type : UInt64) : Nil
dispose_template,
drag_check_threshold(start_x : Int32, start_y : Int32, current_x : Int32, current_y : Int32) : Bool
drag_check_threshold,
error_bell : Nil
error_bell,
first_child : Gtk::Widget?
first_child,
focus_child : Gtk::Widget?
focus_child,
focus_child=(child : Gtk::Widget?) : Nil
focus_child=,
focus_on_click : Bool
focus_on_click,
focus_on_click=(focus_on_click : Bool) : Nil
focus_on_click=,
focus_on_click? : Bool
focus_on_click?,
focusable : Bool
focusable,
focusable=(focusable : Bool) : Nil
focusable=,
focusable? : Bool
focusable?,
font_map : Pango::FontMap?
font_map,
font_map=(font_map : Pango::FontMap?) : Nil
font_map=,
font_options : Cairo::FontOptions?
font_options,
font_options=(options : Cairo::FontOptions?) : Nil
font_options=,
frame_clock : Gdk::FrameClock?
frame_clock,
grab_focus : Bool
grab_focus,
halign : Gtk::Align
halign,
halign=(align : Gtk::Align) : Nil
halign=,
has_css_class(css_class : String) : Bool
has_css_class,
has_default : Bool
has_default,
has_default? : Bool
has_default?,
has_focus : Bool
has_focus,
has_focus? : Bool
has_focus?,
has_tooltip : Bool
has_tooltip,
has_tooltip=(has_tooltip : Bool) : Nil
has_tooltip=,
has_tooltip? : Bool
has_tooltip?,
has_visible_focus : Bool
has_visible_focus,
height : Int32
height,
height_request : Int32
height_request,
height_request=(value : Int32) : Int32
height_request=,
hexpand : Bool
hexpand,
hexpand=(expand : Bool) : Nil
hexpand=,
hexpand? : Bool
hexpand?,
hexpand_set : Bool
hexpand_set,
hexpand_set=(set : Bool) : Nil
hexpand_set=,
hexpand_set? : Bool
hexpand_set?,
hide : Nil
hide,
hide_signal
hide_signal,
in_destruction : Bool
in_destruction,
init_template : Nil
init_template,
insert_action_group(name : String, group : Gio::ActionGroup?) : Nil
insert_action_group,
insert_after(parent : Gtk::Widget, previous_sibling : Gtk::Widget?) : Nil
insert_after,
insert_before(parent : Gtk::Widget, next_sibling : Gtk::Widget?) : Nil
insert_before,
is_ancestor(ancestor : Gtk::Widget) : Bool
is_ancestor,
is_drawable : Bool
is_drawable,
is_focus : Bool
is_focus,
is_sensitive : Bool
is_sensitive,
is_visible : Bool
is_visible,
keynav_failed(direction : Gtk::DirectionType) : Bool
keynav_failed,
keynav_failed_signal
keynav_failed_signal,
last_child : Gtk::Widget?
last_child,
layout_manager : Gtk::LayoutManager?
layout_manager,
layout_manager=(layout_manager : Gtk::LayoutManager?) : Nil
layout_manager=,
list_mnemonic_labels : GLib::List
list_mnemonic_labels,
map : Nil
map,
map_signal
map_signal,
mapped : Bool
mapped,
margin_bottom : Int32
margin_bottom,
margin_bottom=(margin : Int32) : Nil
margin_bottom=,
margin_end : Int32
margin_end,
margin_end=(margin : Int32) : Nil
margin_end=,
margin_start : Int32
margin_start,
margin_start=(margin : Int32) : Nil
margin_start=,
margin_top : Int32
margin_top,
margin_top=(margin : Int32) : Nil
margin_top=,
measure(orientation : Gtk::Orientation, for_size : Int32) : Nil
measure,
mnemonic_activate(group_cycling : Bool) : Bool
mnemonic_activate,
mnemonic_activate_signal
mnemonic_activate_signal,
move_focus_signal
move_focus_signal,
name : String
name,
name=(name : String) : Nil
name=,
native : Gtk::Native?
native,
next_sibling : Gtk::Widget?
next_sibling,
observe_children : Gio::ListModel
observe_children,
observe_controllers : Gio::ListModel
observe_controllers,
opacity : Float64
opacity,
opacity=(opacity : Float64) : Nil
opacity=,
overflow : Gtk::Overflow
overflow,
overflow=(overflow : Gtk::Overflow) : Nil
overflow=,
pango_context : Pango::Context
pango_context,
parent : Gtk::Widget?
parent,
parent=(parent : Gtk::Widget) : Nil
parent=,
pick(x : Float64, y : Float64, flags : Gtk::PickFlags) : Gtk::Widget?
pick,
preferred_size : Gtk::Requisition
preferred_size,
prev_sibling : Gtk::Widget?
prev_sibling,
primary_clipboard : Gdk::Clipboard
primary_clipboard,
query_tooltip_signal
query_tooltip_signal,
queue_allocate : Nil
queue_allocate,
queue_draw : Nil
queue_draw,
queue_resize : Nil
queue_resize,
realize : Nil
realize,
realize_signal
realize_signal,
realized : Bool
realized,
receives_default : Bool
receives_default,
receives_default=(receives_default : Bool) : Nil
receives_default=,
receives_default? : Bool
receives_default?,
remove_controller(controller : Gtk::EventController) : Nil
remove_controller,
remove_css_class(css_class : String) : Nil
remove_css_class,
remove_mnemonic_label(label : Gtk::Widget) : Nil
remove_mnemonic_label,
remove_tick_callback(id : UInt32) : Nil
remove_tick_callback,
request_mode : Gtk::SizeRequestMode
request_mode,
root : Gtk::Root?
root,
scale_factor : Int32
scale_factor,
sensitive : Bool
sensitive,
sensitive=(sensitive : Bool) : Nil
sensitive=,
sensitive? : Bool
sensitive?,
set_size_request(width : Int32, height : Int32) : Nil
set_size_request,
set_state_flags(flags : Gtk::StateFlags, clear : Bool) : Nil
set_state_flags,
settings : Gtk::Settings
settings,
should_layout : Bool
should_layout,
show : Nil
show,
show_signal
show_signal,
size(orientation : Gtk::Orientation) : Int32
size,
size_allocate(allocation : Gdk::Rectangle, baseline : Int32) : Nil
size_allocate,
size_request : Nil
size_request,
snapshot_child(child : Gtk::Widget, snapshot : Gtk::Snapshot) : Nil
snapshot_child,
state_flags : Gtk::StateFlags
state_flags,
state_flags_changed_signal
state_flags_changed_signal,
style_context : Gtk::StyleContext
style_context,
tooltip_markup : String?
tooltip_markup,
tooltip_markup=(value : String) : Stringtooltip_markup=(markup : String?) : Nil tooltip_markup=, tooltip_text : String? tooltip_text, tooltip_text=(value : String) : String
tooltip_text=(text : String?) : Nil tooltip_text=, translate_coordinates(dest_widget : Gtk::Widget, src_x : Float64, src_y : Float64) : Bool translate_coordinates, trigger_tooltip_query : Nil trigger_tooltip_query, unmap : Nil unmap, unmap_signal unmap_signal, unparent : Nil unparent, unrealize : Nil unrealize, unrealize_signal unrealize_signal, unset_state_flags(flags : Gtk::StateFlags) : Nil unset_state_flags, valign : Gtk::Align valign, valign=(align : Gtk::Align) : Nil valign=, vexpand : Bool vexpand, vexpand=(expand : Bool) : Nil vexpand=, vexpand? : Bool vexpand?, vexpand_set : Bool vexpand_set, vexpand_set=(set : Bool) : Nil vexpand_set=, vexpand_set? : Bool vexpand_set?, visible : Bool visible, visible=(visible : Bool) : Nil visible=, visible? : Bool visible?, width : Int32 width, width_request : Int32 width_request, width_request=(value : Int32) : Int32 width_request=
Constructor methods inherited from class Gtk::Widget
newnew(*, accessible_role : Gtk::AccessibleRole? = nil, can_focus : Bool? = nil, can_target : Bool? = nil, css_classes : Enumerable(String)? = nil, css_name : String? = nil, cursor : Gdk::Cursor? = nil, focus_on_click : Bool? = nil, focusable : Bool? = nil, halign : Gtk::Align? = nil, has_default : Bool? = nil, has_focus : Bool? = nil, has_tooltip : Bool? = nil, height_request : Int32? = nil, hexpand : Bool? = nil, hexpand_set : Bool? = nil, layout_manager : Gtk::LayoutManager? = nil, margin_bottom : Int32? = nil, margin_end : Int32? = nil, margin_start : Int32? = nil, margin_top : Int32? = nil, name : String? = nil, opacity : Float64? = nil, overflow : Gtk::Overflow? = nil, parent : Gtk::Widget? = nil, receives_default : Bool? = nil, root : Gtk::Root? = nil, scale_factor : Int32? = nil, sensitive : Bool? = nil, tooltip_markup : String? = nil, tooltip_text : String? = nil, valign : Gtk::Align? = nil, vexpand : Bool? = nil, vexpand_set : Bool? = nil, visible : Bool? = nil, width_request : Int32? = nil) new
Class methods inherited from class Gtk::Widget
default_direction : Gtk::TextDirection
default_direction,
default_direction=(dir : Gtk::TextDirection) : Nil
default_direction=,
g_type : UInt64
g_type
Instance methods inherited from module Gtk::ConstraintTarget
to_unsafe
to_unsafe
Class methods inherited from module Gtk::ConstraintTarget
g_type : UInt64
g_type
Instance methods inherited from module Gtk::Buildable
buildable_id : String?
buildable_id,
to_unsafe
to_unsafe
Class methods inherited from module Gtk::Buildable
g_type : UInt64
g_type
Instance methods inherited from module Gtk::Accessible
accessible_role : Gtk::AccessibleRole
accessible_role,
accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole
accessible_role=,
reset_property(property : Gtk::AccessibleProperty) : Nil
reset_property,
reset_relation(relation : Gtk::AccessibleRelation) : Nil
reset_relation,
reset_state(state : Gtk::AccessibleState) : Nil
reset_state,
to_unsafe
to_unsafe,
update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil
update_property,
update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil
update_relation,
update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil
update_state
Class methods inherited from module Gtk::Accessible
g_type : UInt64
g_type
Constructor methods inherited from class GObject::InitiallyUnowned
new
new
Class methods inherited from class GObject::InitiallyUnowned
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Class Method Detail
Instance Method Detail
Sets whether @popover is modal.
A modal popover will grab the keyboard focus on it when being displayed. Focus will wrap around within the popover. Clicking outside the popover area or pressing Esc will dismiss the popover.
Called this function on an already showing popup with a new autohide value different from the current one, will cause the popup to be hidden.
If @cascade_popdown is true
, the popover will be
closed when a child modal popover is closed.
If false
, @popover will stay visible.
Sets the default widget of a Gtk::Popover
.
The default widget is the widget that’s activated when the user
presses Enter in a dialog (for example). This function sets or
unsets the default widget for a Gtk::Popover
.
Gets whether this popover is showing an arrow pointing at the widget that it is relative to.
Sets whether this popover should draw an arrow pointing at the widget it is relative to.
Gets the offset previous set with gtk_popover_set_offset().
Gets the rectangle that the popover points to.
If a rectangle to point to has been set, this function will
return true
and fill in @rect with such rectangle, otherwise
it will return false
and fill in @rect with the parent
widget coordinates.
Sets the rectangle that @popover points to.
This is in the coordinate space of the @popover parent.
Pops @popover down.
This may have the side-effect of closing a parent popover as well. See [property@Gtk.Popover:cascade-popdown].
Sets the preferred position for @popover to appear.
If the @popover is currently visible, it will be immediately updated.
This preference will be respected where possible, although
on lack of space (eg. if close to the window edges), the
Gtk::Popover
may choose to appear on the opposite side.
Sets the offset to use when calculating the position of the popover.
These values are used when preparing the Gdk::PopupLayout
for positioning the popover.