Trait gdk4::prelude::PopupExt

source ·
pub trait PopupExt: 'static {
    // Required methods
    fn is_autohide(&self) -> bool;
    fn parent(&self) -> Option<Surface>;
    fn position_x(&self) -> i32;
    fn position_y(&self) -> i32;
    fn rect_anchor(&self) -> Gravity;
    fn surface_anchor(&self) -> Gravity;
    fn present(&self, width: i32, height: i32, layout: &PopupLayout) -> bool;
}
Expand description

Trait containing all Popup methods.

Implementors

Popup

Required Methods§

source

fn is_autohide(&self) -> bool

Returns whether this popup is set to hide on outside clicks.

Returns

true if @self will autohide

source

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

Returns the parent surface of a popup.

Returns

the parent surface

source

fn position_x(&self) -> i32

Obtains the position of the popup relative to its parent.

Returns

the X coordinate of @self position

source

fn position_y(&self) -> i32

Obtains the position of the popup relative to its parent.

Returns

the Y coordinate of @self position

source

fn rect_anchor(&self) -> Gravity

Gets the current popup rectangle anchor.

The value returned may change after calling present(), or after the signal::Surface::layout signal is emitted.

Returns

the current rectangle anchor value of @self

source

fn surface_anchor(&self) -> Gravity

Gets the current popup surface anchor.

The value returned may change after calling present(), or after the signal::Surface::layout signal is emitted.

Returns

the current surface anchor value of @self

source

fn present(&self, width: i32, height: i32, layout: &PopupLayout) -> bool

Present @self after having processed the PopupLayout rules.

If the popup was previously now showing, it will be showed, otherwise it will change position according to @layout.

After calling this function, the result should be handled in response to the signal::GdkSurface::layout signal being emitted. The resulting popup position can be queried using position_x(), position_y(), and the resulting size will be sent as parameters in the layout signal. Use rect_anchor() and surface_anchor() to get the resulting anchors.

Presenting may fail, for example if the @self is set to autohide and is immediately hidden upon being presented. If presenting failed, the signal::Surface::layout signal will not me emitted.

width

the unconstrained popup width to layout

height

the unconstrained popup height to layout

layout

the PopupLayout object used to layout

Returns

false if it failed to be presented, otherwise true.

Implementors§

source§

impl<O: IsA<Popup>> PopupExt for O