package Gtk_Accel_Flags_Properties is new Generic_Internal_Discrete_Property (Gtk_Accel_Flags);
type Gtk_Accel_Group_Record is new GObject_Record with null record;
type Gtk_Accel_Group is access all Gtk_Accel_Group_Record'Class;
type Gtk_Accel_Key is record Accel_Key : Gdk.Types.Gdk_Key_Type; Accel_Mods : Gdk.Types.Gdk_Modifier_Type; Accel_Flags : Gtk_Accel_Flags; end record;
type Gtk_Accel_Group_Activate is access function (Accel_Group : access Gtk_Accel_Group_Record'Class; Acceleratable : Glib.Object.GObject; Keyval : Gdk.Types.Gdk_Key_Type; Modifier : Gdk.Types.Gdk_Modifier_Type) return Boolean;
type C_Gtk_Accel_Group_Activate is access function (Accel_Group : System.Address; Acceleratable : System.Address; Keyval : Gdk.Types.Gdk_Key_Type; Modifier : Gdk.Types.Gdk_Modifier_Type) return Boolean;
type Gtk_Accel_Group_Find_Func is access function (Key : Gtk_Accel_Key; Closure : System.Address) return Boolean;
type Property_Gtk_Accel_Flags is new Gtk_Accel_Flags_Properties.Property;
type Cb_Gtk_Accel_Group_GObject_Guint_Gdk_Modifier_Type_Boolean is not null access function (Self : access Gtk_Accel_Group_Record'Class; Acceleratable : not null access Glib.Object.GObject_Record'Class; Keyval : Guint; Modifier : Gdk.Types.Gdk_Modifier_Type) return Boolean;
type Cb_GObject_GObject_Guint_Gdk_Modifier_Type_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Acceleratable : not null access Glib.Object.GObject_Record'Class; Keyval : Guint; Modifier : Gdk.Types.Gdk_Modifier_Type) return Boolean;
type Cb_Gtk_Accel_Group_Guint_Gdk_Modifier_Type_Address_Void is not null access procedure (Self : access Gtk_Accel_Group_Record'Class; Keyval : Guint; Modifier : Gdk.Types.Gdk_Modifier_Type; Accel_Closure : System.Address);
type Cb_GObject_Guint_Gdk_Modifier_Type_Address_Void is not null access procedure (Self : access Glib.Object.GObject_Record'Class; Keyval : Guint; Modifier : Gdk.Types.Gdk_Modifier_Type; Accel_Closure : System.Address);
Accel_Visible : constant Gtk_Accel_Flags := 1;
Accel_Locked : constant Gtk_Accel_Flags := 2;
Accel_Mask : constant Gtk_Accel_Flags := 7;
Is_Locked_Property : constant Glib.Properties.Property_Boolean;
Modifier_Mask_Property : constant Glib.Properties.Property_Boxed;
Signal_Accel_Activate : constant Glib.Signal_Name := "accel-activate";
Signal_Accel_Changed : constant Glib.Signal_Name := "accel-changed";
function From_Object_Free
| ( | B | : access Gtk_Accel_Key) return Gtk_Accel_Key; |
procedure Gtk_New
| ( | Accel_Group | : out Gtk_Accel_Group); |
procedure Initialize
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record'Class); |
function Gtk_Accel_Group_New return Gtk_Accel_Group;
function Get_Type return Glib.GType;
function Activate
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Accel_Quark | : Glib.GQuark; | |
| Acceleratable | : not null access Glib.Object.GObject_Record'Class; | |
| Accel_Key | : Guint; | |
| Accel_Mods | : Gdk.Types.Gdk_Modifier_Type) return Boolean; |
procedure Connect
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Accel_Key | : Guint; | |
| Accel_Mods | : Gdk.Types.Gdk_Modifier_Type; | |
| Accel_Flags | : Gtk_Accel_Flags; | |
| Closure | : C_Gtk_Accel_Group_Activate); |
procedure Connect_By_Path
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Accel_Path | : UTF8_String; | |
| Closure | : C_Gtk_Accel_Group_Activate); |
function Disconnect
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Closure | : C_Gtk_Accel_Group_Activate) return Boolean; |
function Disconnect_Key
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Accel_Key | : Guint; | |
| Accel_Mods | : Gdk.Types.Gdk_Modifier_Type) return Boolean; |
function Find
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record; |
| Find_Func | : Gtk_Accel_Group_Find_Func) return Gtk_Accel_Key; |
function Get_Is_Locked
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record) return Boolean; |
function Get_Modifier_Mask
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record) return Gdk.Types.Gdk_Modifier_Type; |
procedure Lock
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record); |
procedure Unlock
| ( | Accel_Group | : not null access Gtk_Accel_Group_Record); |
function From_Accel_Closure
| ( | Closure | : C_Gtk_Accel_Group_Activate) return Gtk_Accel_Group; |
function Accel_Groups_Activate
| ( | Object | : not null access Glib.Object.GObject_Record'Class; |
| Accel_Key | : Gdk.Types.Gdk_Key_Type; | |
| Accel_Mods | : Gdk.Types.Gdk_Modifier_Type) return Boolean; |
function From_Object
| ( | Object | : not null access Glib.Object.GObject_Record'Class) return Glib.Object.Object_List.GSlist; |
function Accelerator_Valid
| ( | Keyval | : Gdk.Types.Gdk_Key_Type; |
| Modifiers | : Gdk.Types.Gdk_Modifier_Type) return Boolean; |
procedure Accelerator_Parse
| ( | Accelerator | : UTF8_String; |
| Accelerator_Key | : out Gdk.Types.Gdk_Key_Type; | |
| Accelerator_Mods | : out Gdk.Types.Gdk_Modifier_Type); |
function Accelerator_Name
| ( | Accelerator_Key | : Gdk.Types.Gdk_Key_Type; |
| Accelerator_Mods | : Gdk.Types.Gdk_Modifier_Type) return UTF8_String; |
function Accelerator_Get_Label
| ( | Accelerator_Key | : Gdk.Types.Gdk_Key_Type; |
| Accelerator_Mods | : Gdk.Types.Gdk_Modifier_Type) return UTF8_String; |
procedure Set_Default_Mod_Mask
| ( | Default_Mod_Mask | : Gdk.Types.Gdk_Modifier_Type); |
function Get_Default_Mod_Mask return Gdk.Types.Gdk_Modifier_Type;
procedure On_Accel_Activate
| ( | Self | : not null access Gtk_Accel_Group_Record; |
| Call | : Cb_Gtk_Accel_Group_GObject_Guint_Gdk_Modifier_Type_Boolean; | |
| After | : Boolean := False); |
procedure On_Accel_Activate
| ( | Self | : not null access Gtk_Accel_Group_Record; |
| Call | : Cb_GObject_GObject_Guint_Gdk_Modifier_Type_Boolean; | |
| Slot | : not null access Glib.Object.GObject_Record'Class; | |
| After | : Boolean := False); |
procedure On_Accel_Changed
| ( | Self | : not null access Gtk_Accel_Group_Record; |
| Call | : Cb_Gtk_Accel_Group_Guint_Gdk_Modifier_Type_Address_Void; | |
| After | : Boolean := False); |
procedure On_Accel_Changed
| ( | Self | : not null access Gtk_Accel_Group_Record; |
| Call | : Cb_GObject_Guint_Gdk_Modifier_Type_Address_Void; | |
| Slot | : not null access Glib.Object.GObject_Record'Class; | |
| After | : Boolean := False); |
A Gtk.Accel_Group.Gtk_Accel_Group represents a group of keyboard accelerators, typically attached to a toplevel Gtk.Window.Gtk_Window (with Gtk.Window.Add_Accel_Group). Usually you won't need to create a Gtk.Accel_Group.Gtk_Accel_Group directly; instead, when using Gtk.UI_Manager.Gtk_UI_Manager, GTK+ automatically sets up the accelerators for your menus in the ui manager's Gtk.Accel_Group.Gtk_Accel_Group.
Note that 'accelerators' are different from 'mnemonics'. Accelerators are shortcuts for activating a menu item; they appear alongside the menu item they're a shortcut for. For example "Ctrl+Q" might appear alongside the "Quit" menu item. Mnemonics are shortcuts for GUI elements such as text entries or buttons; they appear as underlined characters. See Gtk.Label.Gtk_New_With_Mnemonic. Menu items can have both accelerators and mnemonics, of course.