## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Event

- Goto spec source

# Description

    package Gdk.Event is

This package provides functions dealing with events from the window system.

In GtkAda applications, the events are handled automatically in Gtk.Main.Do_Event, and passed on to the appropriate widgets, so these functions are rarely needed. !! Warning !! This is one of the only package that requires manual memory management in some cases. If you use the function Allocate, you have to use the function Free too...

Binding from C File version 1.3.6

# Packages

### Event_Mask_Properties (new Glib.Generic_Properties.Generic_Internal_Discrete_Property)

    package Event_Mask_Properties is new Generic_Internal_Discrete_Property
         (Gdk_Event_Mask);

# Types

### Gdk_Event_Type

- Goto declaration in source

    type Gdk_Event_Type is
         (Nothing,
          --  No event occurred.

          Delete,
          --  A window delete event was sent by the window manager. The specified
          --  window should be deleted.

          Destroy,
          --  A window has been destroyed.

          Expose,
          --  Part of a window has been uncovered.

          Motion_Notify,
          Button_Press,
          --  A mouse button was pressed.

          Gdk_2button_Press,
          --  Double-click

          Gdk_3button_Press,
          --  Triple-click

          Button_Release,
          --  A mouse button was released.

          Key_Press,
          --  A key was pressed.

          Key_Release,
          --  A key was released.

          Enter_Notify,
          --  A window was entered.

          Leave_Notify,
          --  A window was exited.

          Focus_Change,
          --  The focus window has changed. (The focus window gets keyboard events)

          Configure,
          Map,
          --  A window has been mapped. (It is now visible on the screen).

          Unmap,
          --  A window has been unmapped. (It is no longer visible on the screen).

          Property_Notify,
          Selection_Clear,
          Selection_Request,
          Selection_Notify,
          Proximity_In,
          Proximity_Out,
          Drag_Enter,
          Drag_Leave,
          Drag_Motion,
          Drag_Status,
          Drop_Start,
          Drop_Finished,
          Client_Event,
          Visibility_Notify,
          No_Expose,
          Scroll,
          --  A mouse wheel was scrolled either up or down.

          Window_State,
          Setting,

          Owner_Change,
          --  Emitted when the owner of a selection has changed
          --  Added in gtk+ 2.6
          --  See Gdk.Display.Supports_Selection_Notification

          Grab_Broken
          --  A pointer or keyboard grab was broken
          --  Added in gtk+ 2.8
          );

Note that you need to change the event mask of a widget if you want to be able to get some events. To change this mask, the widget must first be Unrealized.

### Gdk_Event_Mask

- Goto declaration in source

    type Gdk_Event_Mask is mod 2 ** 32;

Note that you need to change the event mask of a widget if you want to be able to get some events. To change this mask, the widget must first be Unrealized.

### Gdk_Visibility_State

- Goto declaration in source

    type Gdk_Visibility_State is
         (Visibility_Unobscured,
          Visibility_Partial,
          Visibility_Fully_Obscured);

### Gdk_Scroll_Direction

- Goto declaration in source

    type Gdk_Scroll_Direction is
         (Scroll_Up,
          Scroll_Down,
          Scroll_Left,
          Scroll_Right);

### Gdk_Notify_Type

- Goto declaration in source

    type Gdk_Notify_Type is
         (Notify_Ancestor,
          Notify_Virtual,
          Notify_Inferior,
          Notify_Non_Linear,
          Notify_Non_Linear_Virtual,
          Notify_Unknown);

### Gdk_Crossing_Mode

- Goto declaration in source

    type Gdk_Crossing_Mode is (Crossing_Normal, Crossing_Grab, Crossing_Ungrab);

### Gdk_Property_State

- Goto declaration in source

    type Gdk_Property_State is (Property_New_Value, Property_Delete);

### Gdk_Window_State

- Goto declaration in source

    type Gdk_Window_State is mod 2 ** 32;

State of a Window. Default is 0.

### Gdk_Setting_Action

- Goto declaration in source

    type Gdk_Setting_Action is
         (Setting_Action_New,
          Setting_Action_Changed,
          Setting_Action_Deleted);

### Gdk_Device_Id

- Goto declaration in source

    type Gdk_Device_Id is new Guint32;

This type is specific to GtkAda. In Gdk, guint32 is used instead.

### Gdk_Event

- Goto declaration in source

    type Gdk_Event is new Gdk.C_Proxy;

### Gdk_Event_Any

- Goto declaration in source

    subtype Gdk_Event_Any is Gdk_Event;

Change from GtkAda1.2.3: There is no longer a tagged type hierarchy, only one type. However there are now a few runtime tests for each of the function, to check whether a given field is available or not. Fields common to all events: Window, Send_Event, Event_Type

### Gdk_Event_Expose

- Goto declaration in source

    subtype Gdk_Event_Expose is Gdk_Event;

The window needs to be redrawn. For efficiency, gtk gives you the smallest area that you need to redraw. Relevant fields: Area, Region, Count Type: Expose

### Gdk_Event_No_Expose

- Goto declaration in source

    subtype Gdk_Event_No_Expose is Gdk_Event;

Indicate that the source region was completely available when parts of a drawable were copied. This is also emitted when a gc whose "exposures" attribute is set to False in a call to Copy_Area or Draw_Pixmap. See the documentation for Gdk.GC.Set_Exposures. No Relevent fields except the common ones Type: No_Expose

### Gdk_Event_Visibility

- Goto declaration in source

    subtype Gdk_Event_Visibility is Gdk_Event;

The visibility state of the window (partially visibly, fully visible, hidden). This event almost never need to be used, since other events are generated at the same time, like expose_events Relevant fields: Visibility_State type: Visibility_Notify

### Gdk_Event_Motion

- Goto declaration in source

    subtype Gdk_Event_Motion is Gdk_Event;

The mouse has moved Relevant fields: Time, X, Y, Axes, State, Is_Hint, Device_Id, X_Root, Y_Root Type: Motion_Notify

### Gdk_Event_Button

- Goto declaration in source

    subtype Gdk_Event_Button is Gdk_Event;

A button was pressed or released. Relevant fields: Time, X, Y, Axes, State, Button, Device_Id, X_Root, Y_Root, Window. Type: Button_Press, Gdk_2Button_Press, Gdk_3Button_Press or Button_Release.

### Gdk_Event_Scroll

- Goto declaration in source

    subtype Gdk_Event_Scroll is Gdk_Event;

A button was pressed or released. Relevant fields: Time, X, Y, State, Direction, Device_Id, X_Root, Y_Root Type: Scroll

### Gdk_Event_Key

- Goto declaration in source

    subtype Gdk_Event_Key is Gdk_Event;

A keyboard key was pressed Relevant fields: Time, State, Key_Val, String, Hardware_Keycode, Group Type: Key_Press, Key_Release

### Gdk_Event_Crossing

- Goto declaration in source

    subtype Gdk_Event_Crossing is Gdk_Event;

The mouse has been moved in or out of the window Relevant fields: SubWindow, Time, X, Y, X_Root, Y_Root, Mode, Detail, Focus, State Type: Enter_Notify, Leave_Notify

### Gdk_Event_Focus

- Goto declaration in source

    subtype Gdk_Event_Focus is Gdk_Event;

The focus has changed for a window. Relevant fields: in Type: Focus_Change

### Gdk_Event_Configure

- Goto declaration in source

    subtype Gdk_Event_Configure is Gdk_Event;

The window configuration has changed: either it was remapped, resized, moved, ... Note that you usually don't have to redraw your window when you receive such an event, since it is followed by an Gdk_Event_Expose. Relevant fields: X, Y, Width, Height Type: Configure

### Gdk_Event_Property

- Goto declaration in source

    subtype Gdk_Event_Property is Gdk_Event;

Some property of the window was modified. GtkAda provides a higher level interface, and you almost never need to use this event. Relevent fields: Atom, Time, Property_State Type: Property_Notify

### Gdk_Event_Selection

- Goto declaration in source

    subtype Gdk_Event_Selection is Gdk_Event;

This is how X11 implements a simple cut-and-paste mechanism. However, GtkAda provides a higher level interface to the selection mechanism, so this event will almost never be used. Relevant fields: Selection, Target, Property, Time, Requestor Type: Selection_Clear, Selection_Request, Selection_Notify

### Gdk_Event_Proximity

- Goto declaration in source

    subtype Gdk_Event_Proximity is Gdk_Event;

This event type will be used pretty rarely. It only is important for XInput aware programs that are drawing their own cursor. This is only used with non standard input devices, like graphic tablets. Relevant fields: Time, Device_Id Type: Proximity_In, Proximity_Out

### Gdk_Event_Client

- Goto declaration in source

    subtype Gdk_Event_Client is Gdk_Event;

This is an event used to send arbitrary data from one X application to another. This event too is almost never used, and is not documented here. Please consult an X11 documentation for more information. Relevant fields: Message_Type, Data Type: Client_Event

### Gdk_Event_Setting

- Goto declaration in source

    subtype Gdk_Event_Setting is Gdk_Event;

??? Relevant fields: Action, Name. Type: ???

### Gdk_Event_Window_State

- Goto declaration in source

    subtype Gdk_Event_Window_State is Gdk_Event;

??? Relevant fields: Changed_Mask, New_Window_State. Type: Delete, Destroy, Map, Unmap ???

### Gdk_Event_DND

- Goto declaration in source

    subtype Gdk_Event_DND is Gdk_Event;

??? Relevant fields: Context, Time, X_Root, Y_Root Type: Drag_Enter, Drag_Leave, Drag_Motion, Drag_Status, Drop_Start, Drop_Finished

### Gdk_Event_Client_Data_Format

- Goto declaration in source

    type Gdk_Event_Client_Data_Format is
         (Char_Array, Short_Array, Long_Array);

### Gdk_Event_Client_Data

- Goto declaration in source

    type Gdk_Event_Client_Data
         (Format : Gdk_Event_Client_Data_Format) is
       record
          case Format is
             when Char_Array =>
                B : String (1 .. Number_Of_Characters);
             when Short_Array =>
                S : Gshort_Array (1 .. Number_Of_Shorts);
             when Long_Array =>
                L : Glong_Array (1 .. Number_Of_Longs);
          end case;
       end record;

### Event_Handler_Func

- Goto declaration in source

    type Event_Handler_Func is access procedure
         (Event : Gdk_Event; Data : System.Address);

### Property_Gdk_Event_Mask

- Goto declaration in source

    type Property_Gdk_Event_Mask is new Event_Mask_Properties.Property;

# Constants & Global variables

### Exposure_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Exposure_Mask            : constant Gdk_Event_Mask := 2 ** 1;

### Pointer_Motion_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Pointer_Motion_Mask      : constant Gdk_Event_Mask := 2 ** 2;

Every time the mouse moves, GtkAda will send a Motion_Notify event. These events will be sent as fast as possible, and your application needs to be able to respond as fast as possible (generally about 200 events per second).

### Pointer_Motion_Hint_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Pointer_Motion_Hint_Mask : constant Gdk_Event_Mask := 2 ** 3;

GtkAda will only send one Motion_Notify event when the mouse moves. The handler should call Gdk.Window.Get_Pointer, to get the current position and signals GtkAda that it is ready to get another Motion_Notify signal. No new Motion_Notify will be sent until Get_Pointer has been called.

### Button_Motion_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button_Motion_Mask       : constant Gdk_Event_Mask := 2 ** 4;

### Button1_Motion_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button1_Motion_Mask      : constant Gdk_Event_Mask := 2 ** 5;

### Button2_Motion_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button2_Motion_Mask      : constant Gdk_Event_Mask := 2 ** 6;

### Button3_Motion_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button3_Motion_Mask      : constant Gdk_Event_Mask := 2 ** 7;

### Button_Press_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button_Press_Mask        : constant Gdk_Event_Mask := 2 ** 8;

### Button_Release_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Button_Release_Mask      : constant Gdk_Event_Mask := 2 ** 9;

### Key_Press_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Key_Press_Mask           : constant Gdk_Event_Mask := 2 ** 10;

### Key_Release_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Key_Release_Mask         : constant Gdk_Event_Mask := 2 ** 11;

### Enter_Notify_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Enter_Notify_Mask        : constant Gdk_Event_Mask := 2 ** 12;

### Leave_Notify_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Leave_Notify_Mask        : constant Gdk_Event_Mask := 2 ** 13;

### Focus_Change_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Focus_Change_Mask        : constant Gdk_Event_Mask := 2 ** 14;

### Structure_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Structure_Mask           : constant Gdk_Event_Mask := 2 ** 15;

### Property_Change_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Property_Change_Mask     : constant Gdk_Event_Mask := 2 ** 16;

### Visibility_Notify_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Visibility_Notify_Mask   : constant Gdk_Event_Mask := 2 ** 17;

### Proximity_In_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Proximity_In_Mask        : constant Gdk_Event_Mask := 2 ** 18;

### Proximity_Out_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Proximity_Out_Mask       : constant Gdk_Event_Mask := 2 ** 19;

### Substructure_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Substructure_Mask        : constant Gdk_Event_Mask := 2 ** 20;

### Scroll_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    Scroll_Mask              : constant Gdk_Event_Mask := 2 ** 21;

### All_Events_Mask

- Goto declaration in source

(Gdk_Event_Mask)

    All_Events_Mask          : constant Gdk_Event_Mask := 16#3FFFFE#;

### Window_State_Withdraw

- Goto declaration in source

(Gdk_Window_State)

    Window_State_Withdraw  : constant Gdk_Window_State := 2 ** 0;

### Window_State_Iconified

- Goto declaration in source

(Gdk_Window_State)

    Window_State_Iconified : constant Gdk_Window_State := 2 ** 1;

Window is iconified on the desktop

### Window_State_Maximized

- Goto declaration in source

(Gdk_Window_State)

    Window_State_Maximized : constant Gdk_Window_State := 2 ** 2;

Window is maximized on the desktop

### Window_State_Sticky

- Goto declaration in source

(Gdk_Window_State)

    Window_State_Sticky    : constant Gdk_Window_State := 2 ** 3;

### Number_Of_Characters

- Goto declaration in source

    Number_Of_Characters : constant := 20;

### Number_Of_Shorts

- Goto declaration in source

    Number_Of_Shorts     : constant := 10;

### Number_Of_Longs

- Goto declaration in source

    Number_Of_Longs      : constant := 5;

### Invalid_Field

- Goto declaration in source

    Invalid_Field : exception;

If a field does not exist for the event you gave, an exception Invalid_Field is raised

# Subprograms & Entries

### Get_Event_Type

- Goto spec in source
- Goto body in source

    function Get_Event_Type (Event: Gdk_Event) return Gdk_Event_Type;

The type of the event.

### Get_Send_Event

- Goto spec in source

    function Get_Send_Event (Event: Gdk_Event) return Boolean;

Set to true if the event was generated by the application, False if generated by the X server/Win32.

### Get_Window

- Goto spec in source
- Goto body in source

    function Get_Window    (Event: Gdk_Event) return Gdk.Gdk_Window;

The window the event occured on. See the function Gdk.Window.Get_User_Data to get the actual widget.

### Get_Time

- Goto spec in source
- Goto body in source

    function Get_Time      (Event: Gdk_Event) return Guint32;

Time when the event occured.

### Get_X

- Goto spec in source

    function Get_X         (Event: Gdk_Event) return Gdouble;

Horizontal coordinate of the mouse when the event occured. The coordinates are relative to the parent window.

### Get_Y

- Goto spec in source

    function Get_Y         (Event: Gdk_Event) return Gdouble;

Vertical coordinate of the mouse when the event occured. The coordinates are relative to the parent window.

### Get_X_Root

- Goto spec in source

    function Get_X_Root    (Event: Gdk_Event) return Gdouble;

Horizontal coordinate of the mouse when the event occured. Relative to the root window.

### Get_Y_Root

- Goto spec in source

    function Get_Y_Root    (Event: Gdk_Event) return Gdouble;

Vertical coordinate of the mouse when the event occured. Relative to the root window.

### Get_Button

- Goto spec in source

    function Get_Button    (Event: Gdk_Event) return Guint;

Number of the button that was pressed.

### Get_State

- Goto spec in source

    function Get_State (Event: Gdk_Event) return Gdk.Types.Gdk_Modifier_Type;

State of the mouse buttons and keyboard keys just prior to the event.

### Get_Subwindow

- Goto spec in source

    function Get_Subwindow (Event: Gdk_Event) return Gdk.Gdk_Window;

Child window for the event. For an Enter_Notify_Event, this is set to the initial window for the pointer; for an Leave_Notify_Event this is set to the window occupied by the pointer in its last position.

### Get_Mode

- Goto spec in source

    function Get_Mode (Event: Gdk_Event) return Gdk_Crossing_Mode;

Return the mode of an Event. Set to indicate whether the events are normal events, pseudo-motion events when a grab activates or pseudo-motion events when a grab deativates.

### Get_Detail

- Goto spec in source

    function Get_Detail (Event: Gdk_Event) return Gdk_Notify_Type;

Set to indicate the notify details. Most applications can ignore events with a Notify Virtual or a Notify_Non_Linear_Virtual detail.

### Get_Focus

- Goto spec in source

    function Get_Focus (Event: Gdk_Event) return Boolean;

Set to true if the window for the event is the focus window.

### Get_Width

- Goto spec in source

    function Get_Width (Event: Gdk_Event) return Gint;

Get the width in a configure event.

### Get_Height

- Goto spec in source

    function Get_Height (Event: Gdk_Event) return Gint;

Get the height in a configure event.

### Get_Direction

- Goto spec in source

    function Get_Direction (Event: Gdk_Event) return Gdk_Scroll_Direction;

Get the direction in a scroll event.

### Get_Device_Id

- Goto spec in source

    function Get_Device_Id (Event: Gdk_Event) return Gdk_Device_Id;

Set to a constant for now in the gtk+ source... Probably useless. Since multiple input devices can be used at the same time, like a mouse and a graphic tablet, this indicates which one generated the event.

### Get_Area

- Goto spec in source

    function Get_Area (Event: Gdk_Event) return Rectangle.Gdk_Rectangle;

The minimal area on which the event applies. For Expose_Events, this is the minimal area to redraw.

### Get_Region

- Goto spec in source
- Goto body in source

    function Get_Region (Event: Gdk_Event) return Gdk.Region.Gdk_Region;

Return the region to which the event applies. Do not free the returned value

### Get_Count

- Goto spec in source

    function Get_Count (Event: Gdk_Event) return Gint;

Number of Expose_Events that are to follow this one. Most applications can ignore the event if Count is not 0, which also allows for optimizations.

### Get_In

- Goto spec in source

    function Get_In (Event: Gdk_Event) return Boolean;

True if the window has gained the focus, False otherwise.

### Get_Is_Hint

- Goto spec in source

    function Get_Is_Hint (Event: Gdk_Event) return Boolean;

???

### Get_Key_Val

- Goto spec in source

    function Get_Key_Val (Event: Gdk_Event) return Gdk.Types.Gdk_Key_Type;

Code of the key that was pressed (and that generated the event).

### Get_Group

- Goto spec in source

    function Get_Group (Event: Gdk_Event) return Guint8;

Group of the key that was pressed;

### Get_Hardware_Keycode

- Goto spec in source

    function Get_Hardware_Keycode (Event: Gdk_Event) return Guint16;

Hardware key code of the key that was pressed.

### Get_String

- Goto spec in source

    function Get_String  (Event: Gdk_Event) return String;

Symbol of the key that was pressed, as a string.

### Get_Atom

- Goto spec in source

    function Get_Atom (Event: Gdk_Event) return Gdk.Types.Gdk_Atom;

Indicate which property has changed. ??? Atom should not be a Guint

### Get_Property_State

- Goto spec in source

    function Get_Property_State (Event: Gdk_Event) return Guint;

??? The return type should be changed.

### Get_Visibility_State

- Goto spec in source

    function Get_Visibility_State (Event: Gdk_Event) return Gdk_Visibility_State;

Return the new visibility state for the window.

### Get_Selection

- Goto spec in source

    function Get_Selection (Event: Gdk_Event) return Gdk.Types.Gdk_Atom;

What was selected in the window...

### Get_Target

- Goto spec in source

    function Get_Target (Event: Gdk_Event) return Gdk.Types.Gdk_Atom;

???

### Get_Property

- Goto spec in source

    function Get_Property (Event: Gdk_Event) return Gdk.Types.Gdk_Atom;

???

### Get_Requestor

- Goto spec in source

    function Get_Requestor (Event: Gdk_Event) return Guint32;

???

### Get_Message_Type

- Goto spec in source

    function Get_Message_Type (Event: Gdk_Event) return Gdk.Types.Gdk_Atom;

???

### Get_Data

- Goto spec in source

    function Get_Data (Event: Gdk_Event) return Gdk_Event_Client_Data;

???

### Set_Window

- Goto spec in source
- Goto body in source

    procedure Set_Window (Event: Gdk_Event;Win: Gdk.Gdk_Window);

Set the Window field of an event.

### Set_X

- Goto spec in source

    procedure Set_X      (Event: Gdk_Event;X: Gdouble);

Set the X field of an event.

### Set_Y

- Goto spec in source

    procedure Set_Y      (Event: Gdk_Event;Y: Gdouble);

Set the Y field of an event.

### Set_Xroot

- Goto spec in source

    procedure Set_Xroot  (Event: Gdk_Event;Xroot: Gdouble);

Set the Xroot field of an event.

### Set_Yroot

- Goto spec in source

    procedure Set_Yroot  (Event: Gdk_Event;Yroot: Gdouble);

Set the Yroot field of an event.

### Set_Width

- Goto spec in source

    procedure Set_Width  (Event: Gdk_Event;Width: Gint);

Set the Width field of an event.

### Set_Height

- Goto spec in source

    procedure Set_Height (Event: Gdk_Event;Height: Gint);

Set the Height field of an event.

### Set_Button

- Goto spec in source

    procedure Set_Button (Event: Gdk_Event;Button: Guint);

Set the Button field of an event.

### Set_Time

- Goto spec in source

    procedure Set_Time (Event: Gdk_Event;Time: Guint32);

Set the time for the event. If Time is 0, then it is set to the current time.

### Set_State

- Goto spec in source

    procedure Set_State (Event: Gdk_Event;State: Gdk.Types.Gdk_Modifier_Type);

Set the State field of an event.

### Set_Subwindow

- Goto spec in source

    procedure Set_Subwindow (Event: Gdk_Event;Window: Gdk.Gdk_Window);

Set the Subwindow field of an event.

### Set_Mode

- Goto spec in source

    procedure Set_Mode (Event: Gdk_Event;Mode: Gdk_Crossing_Mode);

Set the Mode field of an event.

### Set_Detail

- Goto spec in source

    procedure Set_Detail (Event: Gdk_Event;Detail: Gdk_Notify_Type);

Set the Detail field of an event.

### Set_Focus

- Goto spec in source

    procedure Set_Focus (Event: Gdk_Event;Has_Focus: Boolean);

Set the Focus field of an event.

### Set_Area

- Goto spec in source

    procedure Set_Area  (Event: Gdk_Event;Area: Rectangle.Gdk_Rectangle);

Set the Area field of an event.

### Set_In

- Goto spec in source

    procedure Set_In    (Event: Gdk_Event;Focus_In: Boolean);

Set the In field of an event.

### Set_Is_Hint

- Goto spec in source

    procedure Set_Is_Hint (Event: Gdk_Event;Is_Hint: Boolean);

Set the Is_Hint field of an event.

### Set_Key_Val

- Goto spec in source

    procedure Set_Key_Val (Event: Gdk_Event;Key: Gdk.Types.Gdk_Key_Type);

Set the Key_Val field of an event.

### Set_Group

- Goto spec in source

    procedure Set_Group (Event: Gdk_Event;Group: Guint8);

Set the group field of a key event.

### Set_Hardware_Keycode

- Goto spec in source

    procedure Set_Hardware_Keycode (Event: Gdk_Event;Keycode: Guint16);

Set the hardware key code field of a key event.

### Set_Direction

- Goto spec in source

    procedure Set_Direction (Event: Gdk_Event;Direction: Gdk_Scroll_Direction);

Set the direction field of a scroll event.

### Set_Atom

- Goto spec in source

    procedure Set_Atom (Event: Gdk_Event;Atom: Gdk.Types.Gdk_Atom);

Set the Atom field of an event.

### Set_Property_State

- Goto spec in source

    procedure Set_Property_State (Event: Gdk_Event;State: Guint);

Set the Property_State field of an event.

### Set_Visibility_State

- Goto spec in source

    procedure Set_Visibility_State (Event: Gdk_Event;State: Gdk_Visibility_State);

Set the Visibility_State field of an event.

### Set_Selection

- Goto spec in source

    procedure Set_Selection (Event: Gdk_Event;Selection: Gdk.Types.Gdk_Atom);

Set the Selection field of an event.

### Set_Target

- Goto spec in source

    procedure Set_Target (Event: Gdk_Event;Target: Gdk.Types.Gdk_Atom);

Set the Target field of an event.

### Set_Property

- Goto spec in source

    procedure Set_Property (Event: Gdk_Event;Property: Gdk.Types.Gdk_Atom);

Set the Property field of an event.

### Set_Requestor

- Goto spec in source

    procedure Set_Requestor (Event: Gdk_Event;Requestor: Guint32);

Set the Requestor field of an event.

### Set_Message_Type

- Goto spec in source

    procedure Set_Message_Type (Event: Gdk_Event;Typ: Gdk.Types.Gdk_Atom);

Set the Message_Type field of an event.

### Set_String

- Goto spec in source

    procedure Set_String (Event: Gdk_Event;Str: String);

Set the string associated with an event.

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return GType;

Return the type corresponding to a Gdk_Event.

### Deep_Copy

- Goto spec in source

    procedure Deep_Copy (From: Gdk_Event;To: out Gdk_Event);

Deep copy for an event. The C structure is itself duplicated. You need to deallocated it yourself with a call to Free below.

### Get_Graphics_Expose

- Goto spec in source

    procedure Get_Graphics_Expose (Event: out Gdk_Event_Expose;Window: Gdk.Gdk_Window);

Waits for a GraphicsExpose or NoExpose event If it gets a GraphicsExpose event, it returns a pointer to it, otherwise it returns an event for which Is_Created is False. This function can be used to implement scrolling: you must call Gdk.GC.Set_Exposures with True on the GC you are using for the drawing, so that a events are generated for obscured areas and every time a new part of the widget is drawn. However, there is a race condition if multiple scrolls happen before you have finished processing the first one. A workaround is to call Get_Graphics_Expose after every scroll until it returns a null event.

### Events_Pending

- Goto spec in source

    function Events_Pending return Boolean;

Is there any event pending on the queue ?

### Get

- Goto spec in source

    procedure Get (Event: out Gdk_Event);

Get the next event on the queue.

### Peek

- Goto spec in source

    procedure Peek (Event: out Gdk_Event);

Look at the next event on the queue, but leave if there.

### Put

- Goto spec in source
- Goto body in source

    procedure Put (Event: Gdk_Event);

Add an event on the queue - Better to use Gtk.Signal.Emit_By_Name

### Set_Show_Events

- Goto spec in source

    procedure Set_Show_Events (Show_Events: Boolean := True);

For debug purposes, you can choose whether you want to see the events GtkAda receives.

### Get_Show_Events

- Goto spec in source

    function Get_Show_Events return Boolean;

Return the current state of Show_Events.

### Send_Client_Message_To_All

- Goto spec in source
- Goto body in source

    procedure Send_Client_Message_To_All (Event: Gdk_Event);

Low level routine to send an Event to every window.

### Send_Client_Message

- Goto spec in source

    function Send_Client_Message (Event: Gdk_Event;Xid: Guint32) return Boolean;

Low level routine to send an Event to a specified X window.

### Allocate

- Goto spec in source

    procedure Allocate (Event: out Gdk_Event;Event_Type: Gdk_Event_Type;Window: Gdk.Gdk_Window);

Create an event, whose fields are uninitialized. You need to use the function Set_* above to modify them, before you can send the event with Emit_By_Name. !!Note!!: The event has to be freed if you have called this function. Use the function Free below.

### Free

- Goto spec in source

    procedure Free (Event: in out Gdk_Event);

Free the memory (and C structure) associated with an event. You need to call this function only if the event was created through Allocate, not if it was created by GtkAda itself (or you would get a segmentation fault).

### Event_Handler_Set

- Goto spec in source

    procedure Event_Handler_Set (Func: Event_Handler_Func;Data: System.Address);

Set up a new event handler. This handler replaces the default GtkAda event handler, and thus should make sure that all events are correctly handled. Note that managing the memory for Data is your responsability, and Data is passed as is to Func.

### From_Address

- Goto spec in source

    function From_Address (C: System.Address) return Gdk_Event;

Convert a C handler to the matching Event structure.

### To_Address

- Goto spec in source

    function To_Address (C: Gdk_Event) return System.Address;

Convert an event to the underlying C handler.

### Is_Created

- Goto spec in source

    function Is_Created (E: Gdk_Event) return Boolean;

Return True if the underlying C event has been created.

### Get_Event

- Goto spec in source

    function Get_Event (Value: Glib.Values.GValue) return Gdk_Event;

Convert a value into a Gdk_Event.

### Set_Follow_Events

- Goto spec in source

    procedure Set_Follow_Events (Follow_Events: Boolean := True);

Set whether windows should follow events that they normally don't (such as motion events) for event recording purposes. This function is used in cunjonction with GtkAda.Macro

### Get_Follow_Events

- Goto spec in source

    function Get_Follow_Events return Boolean;

Return follow_events value. See Set_Follow_Events for more details.