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 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 RadioMenuItem
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
- newtype RadioMenuItem = RadioMenuItem (ManagedPtr RadioMenuItem)
- class GObject o => IsRadioMenuItem o
- toRadioMenuItem :: (MonadIO m, IsRadioMenuItem o) => o -> m RadioMenuItem
- noRadioMenuItem :: Maybe RadioMenuItem
- radioMenuItemGetGroup :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => a -> m [RadioMenuItem]
- radioMenuItemJoinGroup :: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) => a -> Maybe b -> m ()
- radioMenuItemNew :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => [a] -> m RadioMenuItem
- radioMenuItemNewFromWidget :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => Maybe a -> m RadioMenuItem
- radioMenuItemNewWithLabel :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => [a] -> Text -> m RadioMenuItem
- radioMenuItemNewWithLabelFromWidget :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => Maybe a -> Maybe Text -> m RadioMenuItem
- radioMenuItemNewWithMnemonic :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => [a] -> Text -> m RadioMenuItem
- radioMenuItemNewWithMnemonicFromWidget :: (HasCallStack, MonadIO m, IsRadioMenuItem a) => Maybe a -> Maybe Text -> m RadioMenuItem
- radioMenuItemSetGroup :: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) => a -> [b] -> m ()
- clearRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o) => o -> m ()
- constructRadioMenuItemGroup :: (IsRadioMenuItem o, IsRadioMenuItem a) => a -> IO (GValueConstruct o)
- setRadioMenuItemGroup :: (MonadIO m, IsRadioMenuItem o, IsRadioMenuItem a) => o -> a -> m ()
- type C_RadioMenuItemGroupChangedCallback = Ptr () -> Ptr () -> IO ()
- type RadioMenuItemGroupChangedCallback = IO ()
- afterRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId
- genClosure_RadioMenuItemGroupChanged :: RadioMenuItemGroupChangedCallback -> IO Closure
- mk_RadioMenuItemGroupChangedCallback :: C_RadioMenuItemGroupChangedCallback -> IO (FunPtr C_RadioMenuItemGroupChangedCallback)
- noRadioMenuItemGroupChangedCallback :: Maybe RadioMenuItemGroupChangedCallback
- onRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId
- wrap_RadioMenuItemGroupChangedCallback :: RadioMenuItemGroupChangedCallback -> C_RadioMenuItemGroupChangedCallback
Exported types
newtype RadioMenuItem Source #
Memory-managed wrapper type.
Instances
GObject RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem gobjectType :: RadioMenuItem -> IO GType # | |
IsImplementorIface RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsObject RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsActionable RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsActivatable RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsBuildable RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsBin RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsCheckMenuItem RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsContainer RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsMenuItem RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsWidget RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsRadioMenuItem RadioMenuItem Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem |
class GObject o => IsRadioMenuItem o Source #
Type class for types which can be safely cast to RadioMenuItem
, for instance with toRadioMenuItem
.
Instances
(GObject a, (UnknownAncestorError RadioMenuItem a :: Constraint)) => IsRadioMenuItem a Source # | |
Defined in GI.Gtk.Objects.RadioMenuItem | |
IsRadioMenuItem RadioMenuItem Source # | |
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
getGroup
radioMenuItemGetGroup Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> a |
|
-> m [RadioMenuItem] | Returns: the group
of |
Returns the group to which the radio menu item belongs, as a List
of
RadioMenuItem
. The list belongs to GTK+ and should not be freed.
joinGroup
radioMenuItemJoinGroup Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Joins a RadioMenuItem
object to the group of another RadioMenuItem
object.
This function should be used by language bindings to avoid the memory
manangement of the opaque SList
of radioMenuItemGetGroup
and radioMenuItemSetGroup
.
A common way to set up a group of RadioMenuItem
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
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> [a] |
|
-> m RadioMenuItem | Returns: a new |
Creates a new RadioMenuItem
.
newFromWidget
radioMenuItemNewFromWidget Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> Maybe a |
|
-> m RadioMenuItem | Returns: The new |
Creates a new RadioMenuItem
adding it to the same group as group
.
Since: 2.4
newWithLabel
radioMenuItemNewWithLabel Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> [a] |
|
-> Text |
|
-> m RadioMenuItem | Returns: A new |
Creates a new RadioMenuItem
whose child is a simple Label
.
newWithLabelFromWidget
radioMenuItemNewWithLabelFromWidget Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> Maybe a |
|
-> Maybe Text |
|
-> m RadioMenuItem | Returns: The new |
Creates a new GtkRadioMenuItem whose child is a simple GtkLabel.
The new RadioMenuItem
is added to the same group as group
.
Since: 2.4
newWithMnemonic
radioMenuItemNewWithMnemonic Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> [a] |
|
-> Text |
|
-> m RadioMenuItem | Returns: a new |
Creates a new RadioMenuItem
containing a label. The label
will be created using labelNewWithMnemonic
, so underscores
in label
indicate the mnemonic for the menu item.
newWithMnemonicFromWidget
radioMenuItemNewWithMnemonicFromWidget Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a) | |
=> Maybe a |
|
-> Maybe Text |
|
-> m RadioMenuItem | Returns: The new |
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 RadioMenuItem
is added to the same group as group
.
Since: 2.4
setGroup
radioMenuItemSetGroup Source #
:: (HasCallStack, MonadIO m, IsRadioMenuItem a, IsRadioMenuItem b) | |
=> a |
|
-> [b] |
|
-> 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 “group-changed
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
radioMenuItem #groupChanged callback
genClosure_RadioMenuItemGroupChanged :: RadioMenuItemGroupChangedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_RadioMenuItemGroupChangedCallback :: C_RadioMenuItemGroupChangedCallback -> IO (FunPtr C_RadioMenuItemGroupChangedCallback) Source #
Generate a function pointer callable from C code, from a C_RadioMenuItemGroupChangedCallback
.
noRadioMenuItemGroupChangedCallback :: Maybe RadioMenuItemGroupChangedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
RadioMenuItemGroupChangedCallback
onRadioMenuItemGroupChanged :: (IsRadioMenuItem a, MonadIO m) => a -> RadioMenuItemGroupChangedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “group-changed
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
radioMenuItem #groupChanged callback