gi-gtk-3.0.32: Gtk bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.RadioMenuItem

Contents

Description

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 tRadioMenuItem 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 code

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 code

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.

Synopsis

Exported types

newtype RadioMenuItem Source #

Memory-managed wrapper type.

Constructors

RadioMenuItem (ManagedPtr RadioMenuItem) 
Instances
Eq RadioMenuItem Source # 
Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

GObject RadioMenuItem Source # 
Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

Methods

gobjectType :: IO GType

IsGValue RadioMenuItem Source #

Convert RadioMenuItem to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

Methods

toGValue :: RadioMenuItem -> IO GValue

fromGValue :: GValue -> IO RadioMenuItem

HasParentTypes RadioMenuItem Source # 
Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

type ParentTypes RadioMenuItem Source # 
Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

type ParentTypes RadioMenuItem = CheckMenuItem ': (MenuItem ': (Bin ': (Container ': (Widget ': (Object ': (ImplementorIface ': (Actionable ': (Activatable ': (Buildable ': ([] :: [Type]))))))))))

class (GObject o, IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o Source #

Type class for types which can be safely cast to RadioMenuItem, for instance with toRadioMenuItem.

Instances
(GObject o, IsDescendantOf RadioMenuItem o) => IsRadioMenuItem o Source # 
Instance details

Defined in GI.Gtk.Objects.RadioMenuItem

toRadioMenuItem :: (MonadIO m, IsRadioMenuItem o) => o -> m RadioMenuItem Source #

Cast to RadioMenuItem, for types for which this is known to be safe. For general casts, use castTo.

noRadioMenuItem :: Maybe RadioMenuItem Source #

A convenience alias for Nothing :: Maybe RadioMenuItem.

Methods

Overloaded methods

getGroup

radioMenuItemGetGroup Source #

Arguments

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

radioMenuItem: a tRadioMenuItem

-> m [RadioMenuItem]

Returns: the group of radioMenuItem

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

joinGroup

radioMenuItemJoinGroup Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) 
=> a

radioMenuItem: a tRadioMenuItem

-> Maybe b

groupSource: a tRadioMenuItem whose group we are joining, or Nothing to remove the radioMenuItem from its current group

-> m () 

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

This function should be used by language bindings to avoid the memory manangement of the opaque tSList of radioMenuItemGetGroup and radioMenuItemSetGroup.

A common way to set up a group of tRadioMenuItem 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;
   }

Since: 3.18

new

radioMenuItemNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> [a]

group: the group to which the radio menu item is to be attached, or Nothing

-> m RadioMenuItem

Returns: a new tRadioMenuItem

Creates a new tRadioMenuItem.

newFromWidget

radioMenuItemNewFromWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> Maybe a

group: An existing tRadioMenuItem

-> m RadioMenuItem

Returns: The new tRadioMenuItem

Creates a new tRadioMenuItem adding it to the same group as group.

Since: 2.4

newWithLabel

radioMenuItemNewWithLabel Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> [a]

group: group the radio menu item is inside, or Nothing

-> Text

label: the text for the label

-> m RadioMenuItem

Returns: A new tRadioMenuItem

Creates a new tRadioMenuItem whose child is a simple tLabel.

newWithLabelFromWidget

radioMenuItemNewWithLabelFromWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> Maybe a

group: an existing tRadioMenuItem

-> Maybe Text

label: the text for the label

-> m RadioMenuItem

Returns: The new tRadioMenuItem

Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. The new tRadioMenuItem is added to the same group as group.

Since: 2.4

newWithMnemonic

radioMenuItemNewWithMnemonic Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> [a]

group: group the radio menu item is inside, or Nothing

-> Text

label: the text of the button, with an underscore in front of the mnemonic character

-> m RadioMenuItem

Returns: a new tRadioMenuItem

Creates a new tRadioMenuItem containing a label. The label will be created using labelNewWithMnemonic, so underscores in label indicate the mnemonic for the menu item.

newWithMnemonicFromWidget

radioMenuItemNewWithMnemonicFromWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a) 
=> Maybe a

group: An existing tRadioMenuItem

-> Maybe Text

label: the text of the button, with an underscore in front of the mnemonic character

-> m RadioMenuItem

Returns: The new tRadioMenuItem

Creates a new GtkRadioMenuItem containing a label. The label will be created using labelNewWithMnemonic, so underscores in label indicate the mnemonic for the menu item.

The new tRadioMenuItem is added to the same group as group.

Since: 2.4

setGroup

radioMenuItemSetGroup Source #

Arguments

:: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) 
=> a

radioMenuItem: a tRadioMenuItem.

-> [b]

group: the new group, or Nothing.

-> m () 

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

Properties

group

The radio menu item whose group this widget belongs to.

Since: 2.8

clearRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o) => o -> m () Source #

Set the value of the “group” property to Nothing. When overloading is enabled, this is equivalent to

clear #group

constructRadioMenuItemGroup :: (IsRadioMenuItem o, IsRadioMenuItem a) => a -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “group” property. This is rarely needed directly, but it is used by new.

setRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o, IsRadioMenuItem a) => o -> a -> m () Source #

Set the value of the “group” property. When overloading is enabled, this is equivalent to

set radioMenuItem [ #group := value ]

Signals

groupChanged

type C_RadioMenuItemGroupChangedCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type RadioMenuItemGroupChangedCallback = IO () Source #

No description available in the introspection data.

afterRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the groupChanged signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after radioMenuItem #groupChanged callback

onRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the groupChanged signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on radioMenuItem #groupChanged callback