Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
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.
- newtype AccelGroup = AccelGroup (ManagedPtr AccelGroup)
- class GObject o => IsAccelGroup o
- toAccelGroup :: IsAccelGroup o => o -> IO AccelGroup
- noAccelGroup :: Maybe AccelGroup
- data AccelGroupActivateMethodInfo
- accelGroupActivate :: (HasCallStack, MonadIO m, IsAccelGroup a, IsObject b) => a -> Word32 -> b -> Word32 -> [ModifierType] -> m Bool
- data AccelGroupConnectMethodInfo
- accelGroupConnect :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> [AccelFlags] -> Closure -> m ()
- data AccelGroupConnectByPathMethodInfo
- accelGroupConnectByPath :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Text -> Closure -> m ()
- data AccelGroupDisconnectMethodInfo
- accelGroupDisconnect :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Maybe Closure -> m Bool
- data AccelGroupDisconnectKeyMethodInfo
- accelGroupDisconnectKey :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> m Bool
- data AccelGroupFindMethodInfo
- accelGroupFind :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> AccelGroupFindFunc -> m AccelKey
- accelGroupFromAccelClosure :: (HasCallStack, MonadIO m) => Closure -> m (Maybe AccelGroup)
- data AccelGroupGetIsLockedMethodInfo
- accelGroupGetIsLocked :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m Bool
- data AccelGroupGetModifierMaskMethodInfo
- accelGroupGetModifierMask :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m [ModifierType]
- data AccelGroupLockMethodInfo
- accelGroupLock :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m ()
- accelGroupNew :: (HasCallStack, MonadIO m) => m AccelGroup
- data AccelGroupQueryMethodInfo
- accelGroupQuery :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> m (Maybe [AccelGroupEntry])
- data AccelGroupUnlockMethodInfo
- accelGroupUnlock :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m ()
- data AccelGroupIsLockedPropertyInfo
- accelGroupIsLocked :: AttrLabelProxy "isLocked"
- getAccelGroupIsLocked :: (MonadIO m, IsAccelGroup o) => o -> m Bool
- data AccelGroupModifierMaskPropertyInfo
- accelGroupModifierMask :: AttrLabelProxy "modifierMask"
- getAccelGroupModifierMask :: (MonadIO m, IsAccelGroup o) => o -> m [ModifierType]
- type AccelGroupAccelActivateCallback = Object -> Word32 -> [ModifierType] -> IO Bool
- data AccelGroupAccelActivateSignalInfo
- type C_AccelGroupAccelActivateCallback = Ptr () -> Ptr Object -> Word32 -> CUInt -> Ptr () -> IO CInt
- afterAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
- genClosure_AccelGroupAccelActivate :: AccelGroupAccelActivateCallback -> IO Closure
- mk_AccelGroupAccelActivateCallback :: C_AccelGroupAccelActivateCallback -> IO (FunPtr C_AccelGroupAccelActivateCallback)
- noAccelGroupAccelActivateCallback :: Maybe AccelGroupAccelActivateCallback
- onAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
- wrap_AccelGroupAccelActivateCallback :: AccelGroupAccelActivateCallback -> Ptr () -> Ptr Object -> Word32 -> CUInt -> Ptr () -> IO CInt
- type AccelGroupAccelChangedCallback = Word32 -> [ModifierType] -> Closure -> IO ()
- data AccelGroupAccelChangedSignalInfo
- type C_AccelGroupAccelChangedCallback = Ptr () -> Word32 -> CUInt -> Ptr Closure -> Ptr () -> IO ()
- afterAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
- genClosure_AccelGroupAccelChanged :: AccelGroupAccelChangedCallback -> IO Closure
- mk_AccelGroupAccelChangedCallback :: C_AccelGroupAccelChangedCallback -> IO (FunPtr C_AccelGroupAccelChangedCallback)
- noAccelGroupAccelChangedCallback :: Maybe AccelGroupAccelChangedCallback
- onAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
- wrap_AccelGroupAccelChangedCallback :: AccelGroupAccelChangedCallback -> Ptr () -> Word32 -> CUInt -> Ptr Closure -> Ptr () -> IO ()
Exported types
newtype AccelGroup Source #
GObject AccelGroup Source # | |
IsObject AccelGroup Source # | |
IsAccelGroup AccelGroup Source # | |
((~) * info (ResolveAccelGroupMethod t AccelGroup), MethodInfo * info AccelGroup p) => IsLabel t (AccelGroup -> p) Source # | |
((~) * info (ResolveAccelGroupMethod t AccelGroup), MethodInfo * info AccelGroup p) => IsLabelProxy t (AccelGroup -> p) Source # | |
HasAttributeList * AccelGroup Source # | |
type AttributeList AccelGroup Source # | |
type SignalList AccelGroup Source # | |
class GObject o => IsAccelGroup o Source #
toAccelGroup :: IsAccelGroup o => o -> IO AccelGroup Source #
Methods
activate
data AccelGroupActivateMethodInfo Source #
((~) * signature (Word32 -> b -> Word32 -> [ModifierType] -> m Bool), MonadIO m, IsAccelGroup a, IsObject b) => MethodInfo * AccelGroupActivateMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a, IsObject b) | |
=> a |
|
-> Word32 |
|
-> b |
|
-> Word32 |
|
-> [ModifierType] |
|
-> m Bool | Returns: |
Finds the first accelerator in accelGroup
that matches
accelKey
and accelMods
, and activates it.
connect
data AccelGroupConnectMethodInfo Source #
((~) * signature (Word32 -> [ModifierType] -> [AccelFlags] -> Closure -> m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupConnectMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> Word32 |
|
-> [ModifierType] |
|
-> [AccelFlags] |
|
-> Closure |
|
-> 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
data AccelGroupConnectByPathMethodInfo Source #
((~) * signature (Text -> Closure -> m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupConnectByPathMethodInfo a signature Source # | |
accelGroupConnectByPath Source #
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> Text |
|
-> Closure |
|
-> 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
data AccelGroupDisconnectMethodInfo Source #
((~) * signature (Maybe Closure -> m Bool), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupDisconnectMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> Maybe Closure |
|
-> m Bool | Returns: |
Removes an accelerator previously installed through
accelGroupConnect
.
Since 2.20 closure
can be Nothing
.
disconnectKey
data AccelGroupDisconnectKeyMethodInfo Source #
((~) * signature (Word32 -> [ModifierType] -> m Bool), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupDisconnectKeyMethodInfo a signature Source # | |
accelGroupDisconnectKey Source #
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> Word32 |
|
-> [ModifierType] |
|
-> m Bool | Returns: |
Removes an accelerator previously installed through
accelGroupConnect
.
find
data AccelGroupFindMethodInfo Source #
((~) * signature (AccelGroupFindFunc -> m AccelKey), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupFindMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> AccelGroupFindFunc |
|
-> m AccelKey | Returns: the key of the first entry passing
|
fromAccelClosure
accelGroupFromAccelClosure Source #
:: (HasCallStack, MonadIO m) | |
=> Closure |
|
-> m (Maybe AccelGroup) | Returns: the |
Finds the AccelGroup
to which closure
is connected;
see accelGroupConnect
.
getIsLocked
data AccelGroupGetIsLockedMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupGetIsLockedMethodInfo a signature Source # | |
accelGroupGetIsLocked Source #
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> m Bool | Returns: |
Locks are added and removed using accelGroupLock
and
accelGroupUnlock
.
Since: 2.14
getModifierMask
data AccelGroupGetModifierMaskMethodInfo Source #
((~) * signature (m [ModifierType]), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupGetModifierMaskMethodInfo a signature Source # | |
accelGroupGetModifierMask Source #
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> 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 #
((~) * signature (m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupLockMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m) | |
=> m AccelGroup | Returns: a new |
Creates a new AccelGroup
.
query
data AccelGroupQueryMethodInfo Source #
((~) * signature (Word32 -> [ModifierType] -> m (Maybe [AccelGroupEntry])), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupQueryMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> Word32 |
|
-> [ModifierType] |
|
-> m (Maybe [AccelGroupEntry]) | Returns: an array of
|
Queries an accelerator group for all entries matching accelKey
and accelMods
.
unlock
data AccelGroupUnlockMethodInfo Source #
((~) * signature (m ()), MonadIO m, IsAccelGroup a) => MethodInfo * AccelGroupUnlockMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsAccelGroup a) | |
=> a |
|
-> m () |
Undoes the last call to accelGroupLock
on this accelGroup
.
Properties
isLocked
data AccelGroupIsLockedPropertyInfo Source #
accelGroupIsLocked :: AttrLabelProxy "isLocked" Source #
getAccelGroupIsLocked :: (MonadIO m, IsAccelGroup o) => o -> m Bool Source #
modifierMask
data AccelGroupModifierMaskPropertyInfo Source #
accelGroupModifierMask :: AttrLabelProxy "modifierMask" Source #
getAccelGroupModifierMask :: (MonadIO m, IsAccelGroup o) => o -> m [ModifierType] Source #
Signals
accelActivate
type AccelGroupAccelActivateCallback = Object -> Word32 -> [ModifierType] -> IO Bool Source #
type C_AccelGroupAccelActivateCallback = Ptr () -> Ptr Object -> Word32 -> CUInt -> Ptr () -> IO CInt Source #
afterAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId Source #
mk_AccelGroupAccelActivateCallback :: C_AccelGroupAccelActivateCallback -> IO (FunPtr C_AccelGroupAccelActivateCallback) Source #
onAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId Source #
wrap_AccelGroupAccelActivateCallback :: AccelGroupAccelActivateCallback -> Ptr () -> Ptr Object -> Word32 -> CUInt -> Ptr () -> IO CInt Source #
accelChanged
type AccelGroupAccelChangedCallback = Word32 -> [ModifierType] -> Closure -> IO () Source #
type C_AccelGroupAccelChangedCallback = Ptr () -> Word32 -> CUInt -> Ptr Closure -> Ptr () -> IO () Source #
afterAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId Source #
mk_AccelGroupAccelChangedCallback :: C_AccelGroupAccelChangedCallback -> IO (FunPtr C_AccelGroupAccelChangedCallback) Source #
onAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId Source #