| Copyright | Will Thompson and Iñaki García Etxebarria |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
GI.Gtk.Objects.AccelGroup
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
- newtype AccelGroup = AccelGroup (ManagedPtr AccelGroup)
- class (GObject o, IsDescendantOf AccelGroup o) => IsAccelGroup o
- toAccelGroup :: (MonadIO m, IsAccelGroup o) => o -> m AccelGroup
- accelGroupActivate :: (HasCallStack, MonadIO m, IsAccelGroup a, IsObject b) => a -> Word32 -> b -> Word32 -> [ModifierType] -> m Bool
- accelGroupConnect :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> [AccelFlags] -> GClosure C_AccelGroupActivate -> m ()
- accelGroupConnectByPath :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Text -> GClosure b -> m ()
- accelGroupDisconnect :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Maybe (GClosure b) -> m Bool
- accelGroupDisconnectKey :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> m Bool
- accelGroupFind :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> AccelGroupFindFunc -> m AccelKey
- accelGroupFromAccelClosure :: (HasCallStack, MonadIO m) => GClosure a -> m (Maybe AccelGroup)
- accelGroupGetIsLocked :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m Bool
- accelGroupGetModifierMask :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m [ModifierType]
- accelGroupLock :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m ()
- accelGroupNew :: (HasCallStack, MonadIO m) => m AccelGroup
- accelGroupQuery :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> Word32 -> [ModifierType] -> m (Maybe [AccelGroupEntry])
- accelGroupUnlock :: (HasCallStack, MonadIO m, IsAccelGroup a) => a -> m ()
- getAccelGroupIsLocked :: (MonadIO m, IsAccelGroup o) => o -> m Bool
- getAccelGroupModifierMask :: (MonadIO m, IsAccelGroup o) => o -> m [ModifierType]
- type AccelGroupAccelActivateCallback = Object -> Word32 -> [ModifierType] -> IO Bool
- afterAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelActivateCallback) -> m SignalHandlerId
- onAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelActivateCallback) -> m SignalHandlerId
- type AccelGroupAccelChangedCallback = Word32 -> [ModifierType] -> GClosure () -> IO ()
- afterAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelChangedCallback) -> m SignalHandlerId
- onAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelChangedCallback) -> m SignalHandlerId
Exported types
newtype AccelGroup Source #
Memory-managed wrapper type.
Constructors
| AccelGroup (ManagedPtr AccelGroup) |
Instances
| Eq AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup | |
| GObject AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup | |
| ManagedPtrNewtype AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup Methods toManagedPtr :: AccelGroup -> ManagedPtr AccelGroup | |
| TypedObject AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup | |
| HasParentTypes AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup | |
| IsGValue (Maybe AccelGroup) Source # | Convert |
Defined in GI.Gtk.Objects.AccelGroup Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe AccelGroup -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe AccelGroup) | |
| type ParentTypes AccelGroup Source # | |
Defined in GI.Gtk.Objects.AccelGroup type ParentTypes AccelGroup = '[Object] | |
class (GObject o, IsDescendantOf AccelGroup o) => IsAccelGroup o Source #
Type class for types which can be safely cast to AccelGroup, for instance with toAccelGroup.
Instances
| (GObject o, IsDescendantOf AccelGroup o) => IsAccelGroup o Source # | |
Defined in GI.Gtk.Objects.AccelGroup | |
toAccelGroup :: (MonadIO m, IsAccelGroup o) => o -> m AccelGroup Source #
Cast to AccelGroup, for types for which this is known to be safe. For general casts, use castTo.
Methods
Click to display all available methods, including inherited ones
Methods
activate, bindProperty, bindPropertyFull, connect, connectByPath, disconnect, disconnectKey, find, forceFloating, freezeNotify, getv, isFloating, lock, notify, notifyByPspec, query, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unlock, unref, watchClosure.
Getters
getData, getIsLocked, getModifierMask, getProperty, getQdata.
Setters
activate
Arguments
| :: (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
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> Word32 |
|
| -> [ModifierType] |
|
| -> [AccelFlags] |
|
| -> GClosure C_AccelGroupActivate |
|
| -> 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 |
|
| -> Text |
|
| -> GClosure b |
|
| -> 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
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> Maybe (GClosure b) |
|
| -> m Bool | Returns: |
Removes an accelerator previously installed through
accelGroupConnect.
Since 2.20 closure can be Nothing.
disconnectKey
accelGroupDisconnectKey Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> Word32 |
|
| -> [ModifierType] |
|
| -> m Bool | Returns: |
Removes an accelerator previously installed through
accelGroupConnect.
find
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> AccelGroupFindFunc |
|
| -> m AccelKey | Returns: the key of the first entry passing
|
fromAccelClosure
accelGroupFromAccelClosure Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GClosure a |
|
| -> m (Maybe AccelGroup) | Returns: the |
Finds the AccelGroup to which closure is connected;
see accelGroupConnect.
getIsLocked
accelGroupGetIsLocked Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> m Bool | Returns: |
Locks are added and removed using accelGroupLock and
accelGroupUnlock.
Since: 2.14
getModifierMask
accelGroupGetModifierMask Source #
Arguments
| :: (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
Arguments
| :: (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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m AccelGroup | Returns: a new |
Creates a new AccelGroup.
query
Arguments
| :: (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
Arguments
| :: (HasCallStack, MonadIO m, IsAccelGroup a) | |
| => a |
|
| -> m () |
Undoes the last call to accelGroupLock on this accelGroup.
Properties
isLocked
No description available in the introspection data.
getAccelGroupIsLocked :: (MonadIO m, IsAccelGroup o) => o -> m Bool Source #
Get the value of the “is-locked” property.
When overloading is enabled, this is equivalent to
get accelGroup #isLocked
modifierMask
No description available in the introspection data.
getAccelGroupModifierMask :: (MonadIO m, IsAccelGroup o) => o -> m [ModifierType] Source #
Get the value of the “modifier-mask” property.
When overloading is enabled, this is equivalent to
get accelGroup #modifierMask
Signals
accelActivate
type AccelGroupAccelActivateCallback Source #
Arguments
| = Object |
|
| -> Word32 |
|
| -> [ModifierType] |
|
| -> IO Bool | Returns: |
The accel-activate signal is an implementation detail of
AccelGroup and not meant to be used by applications.
afterAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelActivateCallback) -> m SignalHandlerId Source #
Connect a signal handler for the accelActivate signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after accelGroup #accelActivate callback
This signal admits a optional parameter detail.
If it's not Nothing, we will connect to “accel-activate::detail” instead.
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self parameter.
Note that this requires activating the ImplicitParams GHC extension.
onAccelGroupAccelActivate :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelActivateCallback) -> m SignalHandlerId Source #
Connect a signal handler for the accelActivate signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on accelGroup #accelActivate callback
This signal admits a optional parameter detail.
If it's not Nothing, we will connect to “accel-activate::detail” instead.
accelChanged
type AccelGroupAccelChangedCallback Source #
Arguments
| = Word32 |
|
| -> [ModifierType] |
|
| -> GClosure () |
|
| -> IO () |
The accel-changed signal is emitted when an entry is added to or removed from the accel group.
Widgets like AccelLabel which display an associated
accelerator should connect to this signal, and rebuild
their visual representation if the accelClosure is theirs.
afterAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the accelChanged signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after accelGroup #accelChanged callback
This signal admits a optional parameter detail.
If it's not Nothing, we will connect to “accel-changed::detail” instead.
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self parameter.
Note that this requires activating the ImplicitParams GHC extension.
onAccelGroupAccelChanged :: (IsAccelGroup a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => AccelGroupAccelChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the accelChanged signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on accelGroup #accelChanged callback
This signal admits a optional parameter detail.
If it's not Nothing, we will connect to “accel-changed::detail” instead.