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.