#[non_exhaustive]
pub enum EventType {
Show 48 variants Nothing, Delete, Destroy, Expose, MotionNotify, ButtonPress, DoubleButtonPress, TripleButtonPress, ButtonRelease, KeyPress, KeyRelease, EnterNotify, LeaveNotify, FocusChange, Configure, Map, Unmap, PropertyNotify, SelectionClear, SelectionRequest, SelectionNotify, ProximityIn, ProximityOut, DragEnter, DragLeave, DragMotion, DragStatus, DropStart, DropFinished, ClientEvent, VisibilityNotify, Scroll, WindowState, Setting, OwnerChange, GrabBroken, Damage, TouchBegin, TouchUpdate, TouchEnd, TouchCancel, TouchpadSwipe, TouchpadPinch, PadButtonPress, PadButtonRelease, PadRing, PadStrip, PadGroupMode, // some variants omitted
}
Expand description

Specifies the type of the event.

Do not confuse these events with the signals that GTK+ widgets emit. Although many of these events result in corresponding signals being emitted, the events are often transformed or filtered along the way.

In some language bindings, the values [_2buttonPress][Self::_2buttonPress] and [_3buttonPress][Self::_3buttonPress] would translate into something syntactically invalid (eg Gdk.EventType.2ButtonPress, where a symbol is not allowed to start with a number). In that case, the aliases DoubleButtonPress and TripleButtonPress can be used instead.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Nothing

a special code to indicate a null event.

Delete

the window manager has requested that the toplevel window be hidden or destroyed, usually when the user clicks on a special icon in the title bar.

Destroy

the window has been destroyed.

Expose

all or part of the window has become visible and needs to be redrawn.

MotionNotify

the pointer (usually a mouse) has moved.

ButtonPress

a mouse button has been pressed.

DoubleButtonPress

alias for [_2buttonPress][Self::_2buttonPress], added in 3.6.

TripleButtonPress

alias for [_3buttonPress][Self::_3buttonPress], added in 3.6.

ButtonRelease

a mouse button has been released.

KeyPress

a key has been pressed.

KeyRelease

a key has been released.

EnterNotify

the pointer has entered the window.

LeaveNotify

the pointer has left the window.

FocusChange

the keyboard focus has entered or left the window.

Configure

the size, position or stacking order of the window has changed. Note that GTK+ discards these events for WindowType::Child windows.

Map

the window has been mapped.

Unmap

the window has been unmapped.

PropertyNotify

a property on the window has been changed or deleted.

SelectionClear

the application has lost ownership of a selection.

SelectionRequest

another application has requested a selection.

SelectionNotify

a selection has been received.

ProximityIn

an input device has moved into contact with a sensing surface (e.g. a touchscreen or graphics tablet).

ProximityOut

an input device has moved out of contact with a sensing surface.

DragEnter

the mouse has entered the window while a drag is in progress.

DragLeave

the mouse has left the window while a drag is in progress.

DragMotion

the mouse has moved in the window while a drag is in progress.

DragStatus

the status of the drag operation initiated by the window has changed.

DropStart

a drop operation onto the window has started.

DropFinished

the drop operation initiated by the window has completed.

ClientEvent

a message has been received from another application.

VisibilityNotify

the window visibility status has changed.

Scroll

the scroll wheel was turned

WindowState

the state of a window has changed. See WindowState for the possible window states

Setting

a setting has been modified.

OwnerChange

the owner of a selection has changed. This event type was added in 2.6

GrabBroken

a pointer or keyboard grab was broken. This event type was added in 2.8.

Damage

the content of the window has been changed. This event type was added in 2.14.

TouchBegin

A new touch event sequence has just started. This event type was added in 3.4.

TouchUpdate

A touch event sequence has been updated. This event type was added in 3.4.

TouchEnd

A touch event sequence has finished. This event type was added in 3.4.

TouchCancel

A touch event sequence has been canceled. This event type was added in 3.4.

TouchpadSwipe

A touchpad swipe gesture event, the current state is determined by its phase field. This event type was added in 3.18.

TouchpadPinch

A touchpad pinch gesture event, the current state is determined by its phase field. This event type was added in 3.18.

PadButtonPress

A tablet pad button press event. This event type was added in 3.22.

PadButtonRelease

A tablet pad button release event. This event type was added in 3.22.

PadRing

A tablet pad axis event from a “ring”. This event type was added in 3.22.

PadStrip

A tablet pad axis event from a “strip”. This event type was added in 3.22.

PadGroupMode

A tablet pad group mode change. This event type was added in 3.22.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Value type checker.

Get the contained value from a Value. Read more

Feeds this value into the given Hasher. Read more

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

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

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

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

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

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

Returns the type identifier of Self.

Convert a value to a Value.

Returns the type identifer of self. Read more

Type to get the Type from. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

Returns a SendValue clone of self.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.