## GtkCheckMenuItem

GtkCheckMenuItem — A menu item with a check box

## Functions

GtkWidget * | gtk_check_menu_item_new ()
GtkWidget * | gtk_check_menu_item_new_with_label ()
GtkWidget * | gtk_check_menu_item_new_with_mnemonic ()
gboolean | gtk_check_menu_item_get_active ()
void | gtk_check_menu_item_set_active ()
void | gtk_check_menu_item_set_show_toggle ()
void | gtk_check_menu_item_toggled ()
gboolean | gtk_check_menu_item_get_inconsistent ()
void | gtk_check_menu_item_set_inconsistent ()
void | gtk_check_menu_item_set_draw_as_radio ()
gboolean | gtk_check_menu_item_get_draw_as_radio ()

## Properties

gboolean | active | Read / Write
gboolean | draw-as-radio | Read / Write
gboolean | inconsistent | Read / Write

## Style Properties

gint | indicator-size | Read

## Signals

void | toggled | Run First

## Types and Values

struct | GtkCheckMenuItem
#define | gtk_check_menu_item_set_state

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBin
                            ╰── GtkItem
                                ╰── GtkMenuItem
                                    ╰── GtkCheckMenuItem
                                        ╰── GtkRadioMenuItem

## Implemented Interfaces

GtkCheckMenuItem implements AtkImplementorIface, GtkBuildable and GtkActivatable.

## Includes

    #include <gtk/gtk.h>

## Description

A GtkCheckMenuItem is a menu item that maintains the state of a boolean value in addition to a GtkMenuItem's usual role in activating application code.

A check box indicating the state of the boolean value is displayed at the left side of the GtkMenuItem. Activating the GtkMenuItem toggles the value.

## Functions

### gtk_check_menu_item_new ()

    GtkWidget *
    gtk_check_menu_item_new (void);

Creates a new GtkCheckMenuItem.

#### Returns

a new GtkCheckMenuItem.

### gtk_check_menu_item_new_with_label ()

    GtkWidget *
    gtk_check_menu_item_new_with_label (const gchar *label);

Creates a new GtkCheckMenuItem with a label.

#### Parameters

label | the string to use for the label. |

#### Returns

a new GtkCheckMenuItem.

### gtk_check_menu_item_new_with_mnemonic ()

    GtkWidget *
    gtk_check_menu_item_new_with_mnemonic (const gchar *label);

Creates a new GtkCheckMenuItem containing a label. The label will be created using `gtk_label_new_with_mnemonic()`, so underscores in `label` indicate the mnemonic for the menu item.

#### Parameters

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

#### Returns

a new GtkCheckMenuItem

### gtk_check_menu_item_get_active ()

    gboolean
    gtk_check_menu_item_get_active (GtkCheckMenuItem *check_menu_item);

Returns whether the check menu item is active. See `gtk_check_menu_item_set_active()`.

#### Parameters

check_menu_item | a GtkCheckMenuItem |

#### Returns

`TRUE` if the menu item is checked.

### gtk_check_menu_item_set_active ()

    void
    gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item,
                                    gboolean is_active);

Sets the active state of the menu item's check box.

#### Parameters

check_menu_item | a GtkCheckMenuItem. |
is_active | boolean value indicating whether the check box is active. |

### gtk_check_menu_item_set_show_toggle ()

    void
    gtk_check_menu_item_set_show_toggle (GtkCheckMenuItem *menu_item,
                                         gboolean always);

`gtk_check_menu_item_set_show_toggle` is deprecated and should not be used in newly-written code.

Controls whether the check box is shown at all times. Normally the check box is shown only when it is active or while the menu item is selected.

#### Parameters

menu_item | a GtkCheckMenuItem. |
always | boolean value indicating whether to always show the check box. |

### gtk_check_menu_item_toggled ()

    void
    gtk_check_menu_item_toggled (GtkCheckMenuItem *check_menu_item);

Emits the GtkCheckMenuItem::toggled signal.

#### Parameters

check_menu_item | a GtkCheckMenuItem. |

### gtk_check_menu_item_get_inconsistent ()

    gboolean
    gtk_check_menu_item_get_inconsistent (GtkCheckMenuItem *check_menu_item);

Retrieves the value set by `gtk_check_menu_item_set_inconsistent()`.

#### Parameters

check_menu_item | a GtkCheckMenuItem |

#### Returns

`TRUE` if inconsistent

### gtk_check_menu_item_set_inconsistent ()

    void
    gtk_check_menu_item_set_inconsistent (GtkCheckMenuItem *check_menu_item,
                                          gboolean setting);

If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a boolean setting, and the current values in that range are inconsistent, you may want to display the check in an "in between" state. This function turns on "in between" display. Normally you would turn off the inconsistent state again if the user explicitly selects a setting. This has to be done manually, `gtk_check_menu_item_set_inconsistent()` only affects visual appearance, it doesn't affect the semantics of the widget.

#### Parameters

check_menu_item | a GtkCheckMenuItem |
setting | `TRUE` to display an "inconsistent" third state check |

### gtk_check_menu_item_set_draw_as_radio ()

    void
    gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_item,
                                           gboolean draw_as_radio);

Sets whether `check_menu_item` is drawn like a GtkRadioMenuItem

#### Parameters

check_menu_item | a GtkCheckMenuItem |
draw_as_radio | whether `check_menu_item` is drawn like a GtkRadioMenuItem |

Since 2.4

### gtk_check_menu_item_get_draw_as_radio ()

    gboolean
    gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item);

Returns whether `check_menu_item` looks like a GtkRadioMenuItem

#### Parameters

check_menu_item | a GtkCheckMenuItem |

#### Returns

Whether `check_menu_item` looks like a GtkRadioMenuItem

Since 2.4

## Types and Values

### struct GtkCheckMenuItem

    struct GtkCheckMenuItem;

The GtkCheckMenuItem struct contains the following fields. (These fields should be considered read-only. They should never be set by an application.)

guint active; | TRUE if the check box is active.

### gtk_check_menu_item_set_state

    #define gtk_check_menu_item_set_state		gtk_check_menu_item_set_active

`gtk_check_menu_item_set_state` is deprecated and should not be used in newly-written code.

Use `gtk_check_menu_item_set_active()` instead.

Sets the active state of the menu item's check box.

## Property Details

### The `“active”` property

      “active”                   gboolean

Whether the menu item is checked.

Flags: Read / Write

Default value: FALSE

### The `“draw-as-radio”` property

      “draw-as-radio”            gboolean

Whether the menu item looks like a radio menu item.

Flags: Read / Write

Default value: FALSE

### The `“inconsistent”` property

      “inconsistent”             gboolean

Whether to display an "inconsistent" state.

Flags: Read / Write

Default value: FALSE

## Style Property Details

### The `“indicator-size”` style property

      “indicator-size”           gint

Size of check or radio indicator.

Flags: Read

Allowed values: >= 0

Default value: 13

## Signal Details

### The `“toggled”` signal

    void
    user_function (GtkCheckMenuItem *checkmenuitem,
                   gpointer          user_data)

This signal is emitted when the state of the check box is changed.

A signal handler can examine the `active` field of the GtkCheckMenuItem struct to discover the new state.

#### Parameters

checkmenuitem | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run First