gi-gtk-3.0.11: Gtk bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.AccelGroup

Contents

Description

A AccelGroup represents a group of keyboard accelerators, typically attached to a toplevel Window (with windowAddAccelGroup). Usually you won’t need to create a AccelGroup directly; instead, when using UIManager, GTK+ automatically sets up the accelerators for your menus in the ui manager’s AccelGroup.

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 labelNewWithMnemonic. Menu items can have both accelerators and mnemonics, of course.

Synopsis

Exported types

Methods

activate

accelGroupActivate Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a, IsObject b) 
=> a

accelGroup: a AccelGroup

-> Word32

accelQuark: the quark for the accelerator name

-> b

acceleratable: the Object, usually a Window, on which to activate the accelerator

-> Word32

accelKey: accelerator keyval from a key event

-> [ModifierType]

accelMods: keyboard state mask from a key event

-> m Bool

Returns: True if an accelerator was activated and handled this keypress

Finds the first accelerator in accelGroup that matches accelKey and accelMods, and activates it.

connect

accelGroupConnect Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: the accelerator group to install an accelerator in

-> Word32

accelKey: key value of the accelerator

-> [ModifierType]

accelMods: modifier combination of the accelerator

-> [AccelFlags]

accelFlags: a flag mask to configure this accelerator

-> Closure

closure: closure to be executed upon accelerator activation

-> m () 

Installs an accelerator in this group. When accelGroup is being activated in response to a call to accelGroupsActivate, closure will be invoked if the accelKey and accelMods from accelGroupsActivate match those of this connection.

The signature used for the closure is that of AccelGroupActivate.

Note that, due to implementation details, a single closure can only be connected to one accelerator group.

connectByPath

accelGroupConnectByPath Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: the accelerator group to install an accelerator in

-> Text

accelPath: path used for determining key and modifiers

-> Closure

closure: closure to be executed upon accelerator activation

-> m () 

Installs an accelerator in this group, using an accelerator path to look up the appropriate key and modifiers (see accelMapAddEntry). When accelGroup is being activated in response to a call to accelGroupsActivate, closure will be invoked if the accelKey and accelMods from accelGroupsActivate match the key and modifiers for the path.

The signature used for the closure is that of AccelGroupActivate.

Note that accelPath string will be stored in a GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with internStaticString.

disconnect

accelGroupDisconnect Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: the accelerator group to remove an accelerator from

-> Maybe Closure

closure: the closure to remove from this accelerator group, or Nothing to remove all closures

-> m Bool

Returns: True if the closure was found and got disconnected

Removes an accelerator previously installed through accelGroupConnect.

Since 2.20 closure can be Nothing.

disconnectKey

accelGroupDisconnectKey Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: the accelerator group to install an accelerator in

-> Word32

accelKey: key value of the accelerator

-> [ModifierType]

accelMods: modifier combination of the accelerator

-> m Bool

Returns: True if there was an accelerator which could be removed, False otherwise

Removes an accelerator previously installed through accelGroupConnect.

find

accelGroupFind Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: a AccelGroup

-> AccelGroupFindFunc

findFunc: a function to filter the entries of accelGroup with

-> m AccelKey

Returns: the key of the first entry passing findFunc. The key is owned by GTK+ and must not be freed.

Finds the first entry in an accelerator group for which findFunc returns True and returns its AccelKey.

fromAccelClosure

accelGroupFromAccelClosure Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Closure

closure: a Closure

-> m (Maybe AccelGroup)

Returns: the AccelGroup to which closure is connected, or Nothing

Finds the AccelGroup to which closure is connected; see accelGroupConnect.

getIsLocked

accelGroupGetIsLocked Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: a AccelGroup

-> m Bool

Returns: True if there are 1 or more locks on the accelGroup, False otherwise.

Locks are added and removed using accelGroupLock and accelGroupUnlock.

Since: 2.14

getModifierMask

accelGroupGetModifierMask Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: a AccelGroup

-> m [ModifierType]

Returns: the modifier mask for this accel group.

Gets a ModifierType representing the mask for this accelGroup. For example, GDK_CONTROL_MASK, GDK_SHIFT_MASK, etc.

Since: 2.14

lock

data AccelGroupLockMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupLockMethodInfo a signature Source # 

accelGroupLock Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: a AccelGroup

-> m () 

Locks the given accelerator group.

Locking an acelerator group prevents the accelerators contained within it to be changed during runtime. Refer to accelMapChangeEntry about runtime accelerator changes.

If called more than once, accelGroup remains locked until accelGroupUnlock has been called an equivalent number of times.

new

accelGroupNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m AccelGroup

Returns: a new AccelGroup object

Creates a new AccelGroup.

query

accelGroupQuery Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: the accelerator group to query

-> Word32

accelKey: key value of the accelerator

-> [ModifierType]

accelMods: modifier combination of the accelerator

-> m (Maybe [AccelGroupEntry])

Returns: an array of nEntries AccelGroupEntry elements, or Nothing. The array is owned by GTK+ and must not be freed.

Queries an accelerator group for all entries matching accelKey and accelMods.

unlock

data AccelGroupUnlockMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupUnlockMethodInfo a signature Source # 

accelGroupUnlock Source #

Arguments

:: (HasCallStack, MonadIO m, IsAccelGroup a) 
=> a

accelGroup: a AccelGroup

-> m () 

Undoes the last call to accelGroupLock on this accelGroup.

Properties

isLocked

data AccelGroupIsLockedPropertyInfo Source #

Instances

AttrInfo AccelGroupIsLockedPropertyInfo Source # 
type AttrOrigin AccelGroupIsLockedPropertyInfo Source # 
type AttrLabel AccelGroupIsLockedPropertyInfo Source # 
type AttrGetType AccelGroupIsLockedPropertyInfo Source # 
type AttrBaseTypeConstraint AccelGroupIsLockedPropertyInfo Source # 
type AttrSetTypeConstraint AccelGroupIsLockedPropertyInfo Source # 
type AttrAllowedOps AccelGroupIsLockedPropertyInfo Source # 

modifierMask

data AccelGroupModifierMaskPropertyInfo Source #

Instances

AttrInfo AccelGroupModifierMaskPropertyInfo Source # 
type AttrOrigin AccelGroupModifierMaskPropertyInfo Source # 
type AttrLabel AccelGroupModifierMaskPropertyInfo Source # 
type AttrGetType AccelGroupModifierMaskPropertyInfo Source # 
type AttrBaseTypeConstraint AccelGroupModifierMaskPropertyInfo Source # 
type AttrSetTypeConstraint AccelGroupModifierMaskPropertyInfo Source # 
type AttrAllowedOps AccelGroupModifierMaskPropertyInfo Source # 

Signals

accelActivate

accelChanged