ActionGroup
open class ActionGroup : GLibObject.Object, ActionGroupProtocol
Actions are organised into groups. An action group is essentially a
map from names to GtkAction objects.
All actions that would make sense to use in a particular context should be in a single group. Multiple action groups may be used for a particular user interface. In fact, it is expected that most nontrivial applications will make use of multiple groups. For example, in an application that can edit multiple documents, one group holding global actions (e.g. quit, about, new), and one group per document holding actions that act on that document (eg. save, cut/copy/paste, etc). Each window’s menus would be constructed from a combination of two action groups.
Accelerators ##
Accelerators are handled by the GTK+ accelerator map. All actions are
assigned an accelerator path (which normally has the form
<Actions>/group-name/action-name) and a shortcut is associated with
this accelerator path. All menuitems and toolitems take on this accelerator
path. The GTK+ accelerator map code makes sure that the correct shortcut
is displayed next to the menu item.
GtkActionGroup as GtkBuildable #
The GtkActionGroup implementation of the GtkBuildable interface accepts
GtkAction objects as <child> elements in UI definitions.
Note that it is probably more common to define actions and action groups in the code, since they are directly related to what the code can do.
The GtkActionGroup implementation of the GtkBuildable interface supports
a custom <accelerator> element, which has attributes named “key“ and
“modifiers“ and allows to specify accelerators. This is similar to the
<accelerator> element of GtkWidget, the main difference is that
it doesn’t allow you to specify a signal.
A GtkDialog UI definition fragment.
<object class="GtkActionGroup" id="actiongroup">
<child>
<object class="GtkAction" id="About">
<property name="name">About</property>
<property name="stock_id">gtk-about</property>
<signal handler="about_activate" name="activate"/>
</object>
<accelerator key="F1" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK"/>
</child>
</object>
The ActionGroup type acts as a reference-counted owner of an underlying GtkActionGroup instance.
It provides the methods that can operate on this data type through ActionGroupProtocol conformance.
Use ActionGroup as a strong reference or owner of a GtkActionGroup instance.
-
Designated initialiser from the underlying `C` data type.This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
ActionGroupinstance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkActionGroup>)Parameters
oppointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkActionGroup>)Parameters
oppointer to the underlying object
-
Optional initialiser from a non-mutating
gpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)Parameters
opgpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointerto the underlyingCdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)Parameters
oppointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkActionGroup>?)Parameters
oppointer to the underlying object
-
Optional initialiser from the underlying
Cdata type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkActionGroup>?)Parameters
oppointer to the underlying object
-
Designated initialiser from the underlying
Cdata type. Will retainGtkActionGroup. i.e., ownership is transferred to theActionGroupinstance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkActionGroup>)Parameters
oppointer to the underlying object
-
Reference intialiser for a related type that implements
ActionGroupProtocolWill retainGtkActionGroup.Declaration
Swift
@inlinable public init<T>(actionGroup other: T) where T : ActionGroupProtocolParameters
otheran instance of a related type that implements
ActionGroupProtocol -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)Parameters
cPointerpointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)Parameters
praw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)Parameters
pmutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)Parameters
rawmutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ActionGroupProtocol.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)Parameters
popaque pointer to the underlying object
-
Creates a new
GtkActionGroupobject. The name of the action group is used when associating keybindings with the actions.new is deprecated: This method is deprecated.
Declaration
Swift
@available(*, deprecated) @inlinable public init(name: UnsafePointer<gchar>!)
View on GitHub
Install in Dash
ActionGroup Class Reference