RadioMenuItemProtocol

public protocol RadioMenuItemProtocol : CheckMenuItemProtocol

A radio menu item is a check menu item that belongs to a group. At each instant exactly one of the radio menu items from a group is selected.

The group list does not need to be freed, as each GtkRadioMenuItem will remove itself and its list item when it is destroyed.

The correct way to create a group of radio menu items is approximatively this:

How to create a group of radio menu items.

(C Language Example):

GSList *group = NULL;
GtkWidget *item;
gint i;

for (i = 0; i < 5; i++)
{
  item = gtk_radio_menu_item_new_with_label (group, "This is an example");
  group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item));
  if (i == 1)
    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), TRUE);
}

CSS nodes

(plain Language Example):

menuitem
├── radio.left
╰── <child>

GtkRadioMenuItem has a main CSS node with name menuitem, and a subnode with name radio, which gets the .left or .right style class.

The RadioMenuItemProtocol protocol exposes the methods and properties of an underlying GtkRadioMenuItem instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, see RadioMenuItem. Alternatively, use RadioMenuItemRef as a lighweight, unowned reference if you already have an instance you just want to use.

  • ptr

    Untyped pointer to the underlying GtkRadioMenuItem instance.

    Declaration

    Swift

    var ptr: UnsafeMutableRawPointer! { get }
  • radio_menu_item_ptr Default implementation

    Typed pointer to the underlying GtkRadioMenuItem instance.

    Default Implementation

    Return the stored, untyped pointer as a typed pointer to the GtkRadioMenuItem instance.

    Declaration

    Swift

    var radio_menu_item_ptr: UnsafeMutablePointer<GtkRadioMenuItem>! { get }
  • Required Initialiser for types conforming to RadioMenuItemProtocol

    Declaration

    Swift

    init(raw: UnsafeMutableRawPointer)

RadioMenuItem Class

  • Bind a RadioMenuItemPropertyName source property to a given target object.

    Declaration

    Swift

    @discardableResult
    @inlinable
    func bind<Q, T>(property source_property: RadioMenuItemPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol

    Parameters

    source_property

    the source property to bind

    target

    the target object to bind to

    target_property

    the target property to bind to

    flags

    the flags to pass to the Binding

    transform_from

    ValueTransformer to use for forward transformation

    transform_to

    ValueTransformer to use for backwards transformation

    Return Value

    binding reference or nil in case of an error

  • get(property:) Extension method

    Get the value of a RadioMenuItem property

    Declaration

    Swift

    @inlinable
    func get(property: RadioMenuItemPropertyName) -> GLibObject.Value

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

  • set(property:value:) Extension method

    Set the value of a RadioMenuItem property. Note that this will only have an effect on properties that are writable and not construct-only!

    Declaration

    Swift

    @inlinable
    func set(property: RadioMenuItemPropertyName, value v: GLibObject.Value)

    Parameters

    property

    the property to get the value for

    Return Value

    the value of the named property

RadioMenuItem signals

  • Connect a Swift signal handler to the given, typed RadioMenuItemSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: RadioMenuItemSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    handler

    The Swift signal handler (function or callback) to invoke on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • Connect a C signal handler to the given, typed RadioMenuItemSignalName signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func connect(signal s: RadioMenuItemSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> Int

    Parameters

    signal

    The signal to connect

    flags

    The connection flags to use

    data

    A pointer to user data to provide to the callback

    destroyData

    A GClosureNotify C function to destroy the data pointed to by userData

    signalHandler

    The C function to be called on the given signal

    Return Value

    The signal handler ID (always greater than 0 for successful connections)

  • Note

    This represents the underlying group-changed signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onGroupChanged(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: RadioMenuItemRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    handler

    The signal handler to call Run the given callback whenever the groupChanged signal is emitted

  • groupChangedSignal Extension method

    Typed group-changed signal for using the connect(signal:) methods

    Declaration

    Swift

    static var groupChangedSignal: RadioMenuItemSignalName { get }
  • The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

    Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results in notify being emitted, even if the new value is the same as the old. If they did pass G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

    This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

    (C Language Example):

    g_signal_connect (text_view->buffer, "notify::paste-target-list",
                      G_CALLBACK (gtk_text_view_target_list_notify),
                      text_view)
    

    It is important to note that you must use canonical parameter names as detail strings for the notify signal.

    Note

    This represents the underlying notify::group signal

    Declaration

    Swift

    @discardableResult
    @inlinable
    func onNotifyGroup(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: RadioMenuItemRef, _ pspec: ParamSpecRef) -> Void) -> Int

    Parameters

    flags

    Flags

    unownedSelf

    Reference to instance of self

    pspec

    the GParamSpec of the property which changed.

    handler

    The signal handler to call Run the given callback whenever the notifyGroup signal is emitted

  • notifyGroupSignal Extension method

    Typed notify::group signal for using the connect(signal:) methods

    Declaration

    Swift

    static var notifyGroupSignal: RadioMenuItemSignalName { get }

RadioMenuItem Class: RadioMenuItemProtocol extension (methods and fields)

  • getGroup() Extension method

    Returns the group to which the radio menu item belongs, as a GList of GtkRadioMenuItem. The list belongs to GTK+ and should not be freed.

    Declaration

    Swift

    @inlinable
    func getGroup() -> GLib.SListRef!
  • joinGroup(groupSource:) Extension method

    Joins a GtkRadioMenuItem object to the group of another GtkRadioMenuItem object.

    This function should be used by language bindings to avoid the memory manangement of the opaque GSList of gtk_radio_menu_item_get_group() and gtk_radio_menu_item_set_group().

    A common way to set up a group of GtkRadioMenuItem instances is:

      GtkRadioMenuItem *last_item = NULL;
    
      while ( ...more items to add... )
        {
          GtkRadioMenuItem *radio_item;
    
          radio_item = gtk_radio_menu_item_new (...);
    
          gtk_radio_menu_item_join_group (radio_item, last_item);
          last_item = radio_item;
        }
    

    Declaration

    Swift

    @inlinable
    func joinGroup(groupSource: RadioMenuItemRef? = nil)
  • joinGroup(groupSource:) Extension method

    Joins a GtkRadioMenuItem object to the group of another GtkRadioMenuItem object.

    This function should be used by language bindings to avoid the memory manangement of the opaque GSList of gtk_radio_menu_item_get_group() and gtk_radio_menu_item_set_group().

    A common way to set up a group of GtkRadioMenuItem instances is:

      GtkRadioMenuItem *last_item = NULL;
    
      while ( ...more items to add... )
        {
          GtkRadioMenuItem *radio_item;
    
          radio_item = gtk_radio_menu_item_new (...);
    
          gtk_radio_menu_item_join_group (radio_item, last_item);
          last_item = radio_item;
        }
    

    Declaration

    Swift

    @inlinable
    func joinGroup<RadioMenuItemT>(groupSource: RadioMenuItemT?) where RadioMenuItemT : RadioMenuItemProtocol
  • set(group:) Extension method

    Sets the group of a radio menu item, or changes it.

    Declaration

    Swift

    @inlinable
    func set(group: GLib.SListRef? = nil)
  • set(group:) Extension method

    Sets the group of a radio menu item, or changes it.

    Declaration

    Swift

    @inlinable
    func set<SListT>(group: SListT?) where SListT : SListProtocol
  • group Extension method

    The radio menu item whose group this widget belongs to.

    Declaration

    Swift

    @inlinable
    var group: GLib.SListRef! { get nonmutating set }
  • checkMenuItem Extension method

    Undocumented

    Declaration

    Swift

    @inlinable
    var checkMenuItem: GtkCheckMenuItem { get }