## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

## Index

Package: Toggle_Button

- Goto spec source

# Description

    package Gtk.Toggle_Button is

A Gtk_Toggle_Button is like a regular button, but can be in one of two states, "active" or "inactive". Its visual aspect is modified when the state is changed.

You should consider using a Gtk_Check_Button instead, since it looks nicer and provides more visual clues that the button can be toggled.

### Screenshot

<testgtk>create_toggle_buttons.adb</testgtk>

# Packages

### Implements_Activatable (new Glib.Types.Implements)

    package Implements_Activatable is new Glib.Types.Implements
         (Gtk.Activatable.Gtk_Activatable, Gtk_Toggle_Button_Record, Gtk_Toggle_Button);

### Implements_Buildable (new Glib.Types.Implements)

    package Implements_Buildable is new Glib.Types.Implements
         (Gtk.Buildable.Gtk_Buildable, Gtk_Toggle_Button_Record, Gtk_Toggle_Button);

# Classes

### Gtk_Toggle_Button_Record

- Goto declaration in source

    type Gtk_Toggle_Button_Record is new Gtk_Button_Record with null record;

#### Ancestors:

Gtk.Button.Gtk_Button_Record
Gtk.Bin.Gtk_Bin_Record
Gtk.Container.Gtk_Container_Record
Gtk.Widget.Gtk_Widget_Record
Glib.Object.GObject_Record

#### Immediate Children:

Gtk.Check_Button.Gtk_Check_Button_Record

#### Primitive operations:

Do_Set_Related_Action

- To API doc
- To spec

(overriding Gtk.Button.Do_Set_Related_Action)
Get_Active

- To API doc
- To spec

Get_Inconsistent

- To API doc
- To spec

Get_Mode

- To API doc
- To spec

Get_Related_Action

- To API doc
- To spec

(overriding Gtk.Button.Get_Related_Action)
Get_Use_Action_Appearance

- To API doc
- To spec

(overriding Gtk.Button.Get_Use_Action_Appearance)
Glib.Object.Deallocate

- To API doc
- To spec

(Inherited)
Glib.Object.Get_Type

- To API doc
- To spec

(Inherited)
Glib.Object.Notify

- To API doc
- To spec

(Inherited)
Glib.Object.Ref

- To API doc
- To spec

(Inherited)
Glib.Object.Ref_Sink

- To API doc
- To spec

(Inherited)
Glib.Object.Unref

- To API doc
- To spec

(Inherited)
Gtk.Bin.Get_Child

- To API doc
- To spec

(Inherited)
Gtk.Button.Clicked

- To API doc
- To spec

(Inherited)
Gtk.Button.Enter

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Alignment

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Event_Window

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Focus_On_Click

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Image

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Image_Position

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Label

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Relief

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Use_Stock

- To API doc
- To spec

(Inherited)
Gtk.Button.Get_Use_Underline

- To API doc
- To spec

(Inherited)
Gtk.Button.Leave

- To API doc
- To spec

(Inherited)
Gtk.Button.Pressed

- To API doc
- To spec

(Inherited)
Gtk.Button.Released

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Alignment

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Focus_On_Click

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Image

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Image_Position

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Label

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Relief

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Use_Stock

- To API doc
- To spec

(Inherited)
Gtk.Button.Set_Use_Underline

- To API doc
- To spec

(Inherited)
Gtk.Container.Add

- To API doc
- To spec

(Inherited)
Gtk.Container.Check_Resize

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Set_Property

- To API doc
- To spec

(Inherited)
Gtk.Container.Child_Type

- To API doc
- To spec

(Inherited)
Gtk.Container.Forall

- To API doc
- To spec

(Inherited)
Gtk.Container.Foreach

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Get_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Propagate_Expose

- To API doc
- To spec

(Inherited)
Gtk.Container.Remove

- To API doc
- To spec

(Inherited)
Gtk.Container.Resize_Children

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Border_Width

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Child

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Hadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Focus_Vadjustment

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Reallocate_Redraws

- To API doc
- To spec

(Inherited)
Gtk.Container.Set_Resize_Mode

- To API doc
- To spec

(Inherited)
Gtk.Container.Unset_Focus_Chain

- To API doc
- To spec

(Inherited)
Gtk.Widget.Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Add_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Can_Activate_Accel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Class_Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Create_Pango_Layout

- To API doc
- To spec

(Inherited)
Gtk.Widget.Destroy

- To API doc
- To spec

(Inherited)
Gtk.Widget.Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Ensure_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Error_Bell

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flag_Is_Set

- To API doc
- To spec

(Inherited)
Gtk.Widget.Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Freeze_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Height

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Width

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_X

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Allocation_Y

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Requisition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pango_Context

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Pointer

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Root_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Snapshot

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Toplevel

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Visual

- To API doc
- To spec

(Inherited)
Gtk.Widget.Get_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Default

- To API doc
- To spec

(Inherited)
Gtk.Widget.Grab_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Has_Screen

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide

- To API doc
- To spec

(Inherited)
Gtk.Widget.Hide_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Input_Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Ancestor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Composited

- To API doc
- To spec

(Inherited)
Gtk.Widget.Is_Focus

- To API doc
- To spec

(Inherited)
Gtk.Widget.Keynav_Failed

- To API doc
- To spec

(Inherited)
Gtk.Widget.List_Mnemonic_Labels

- To API doc
- To spec

(Inherited)
Gtk.Widget.Map

- To API doc
- To spec

(Inherited)
Gtk.Widget.Mnemonic_Activate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Base

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Bg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Cursor

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Fg

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Font

- To API doc
- To spec

(Inherited)
Gtk.Widget.Modify_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Path_Reversed

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Clear_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Draw_Area

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Queue_Resize_No_Redraw

- To API doc
- To spec

(Inherited)
Gtk.Widget.Realize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Region_Intersect

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Accelerator

- To API doc
- To spec

(Inherited)
Gtk.Widget.Remove_Mnemonic_Label

- To API doc
- To spec

(Inherited)
Gtk.Widget.Render_Icon

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reparent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Rc_Styles

- To API doc
- To spec

(Inherited)
Gtk.Widget.Reset_Shapes

- To API doc
- To spec

(Inherited)
Gtk.Widget.Restore_Default_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Send_Expose

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Accel_Path

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_App_Paintable

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Child_Visible

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Colormap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Composite_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Direction

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Double_Buffered

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Extension_Events

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Flags

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Has_Tooltip

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Name

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_No_Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Parent_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Redraw_On_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Scroll_Adjustments

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Sensitive

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_State

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Style

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Markup

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Text

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Tooltip_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_UPosition

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_USize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Set_Window

- To API doc
- To spec

(Inherited)
Gtk.Widget.Shape_Combine_Mask

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_All

- To API doc
- To spec

(Inherited)
Gtk.Widget.Show_Now

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Allocate

- To API doc
- To spec

(Inherited)
Gtk.Widget.Size_Request

- To API doc
- To spec

(Inherited)
Gtk.Widget.Style_Get_Property

- To API doc
- To spec

(Inherited)
Gtk.Widget.Thaw_Child_Notify

- To API doc
- To spec

(Inherited)
Gtk.Widget.Trigger_Tooltip_Query

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unmap

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unrealize

- To API doc
- To spec

(Inherited)
Gtk.Widget.Unset_Flags

- To API doc
- To spec

(Inherited)
Set_Active

- To API doc
- To spec

Set_Inconsistent

- To API doc
- To spec

Set_Mode

- To API doc
- To spec

Set_Related_Action

- To API doc
- To spec

(overriding Gtk.Button.Set_Related_Action)
Set_Use_Action_Appearance

- To API doc
- To spec

(overriding Gtk.Button.Set_Use_Action_Appearance)
Sync_Action_Properties

- To API doc
- To spec

(overriding Gtk.Button.Sync_Action_Properties)
Toggled

- To API doc
- To spec

# Types

### Gtk_Toggle_Button

- Goto declaration in source

    type Gtk_Toggle_Button is access all Gtk_Toggle_Button_Record'Class;

# Constants & Global variables

### Active_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Active_Property : constant Glib.Properties.Property_Boolean;

### Draw_Indicator_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Draw_Indicator_Property : constant Glib.Properties.Property_Boolean;

### Inconsistent_Property

- Goto declaration in source

(Glib.Properties.Property_Boolean)

    Inconsistent_Property : constant Glib.Properties.Property_Boolean;

### Signal_Toggled

- Goto declaration in source

(Glib.Signal_Name)

    Signal_Toggled : constant Glib.Signal_Name := "toggled";

# Subprograms & Entries

### Gtk_New

- Goto spec in source

    procedure Gtk_New (Toggle_Button: out Gtk_Toggle_Button;Label: UTF8_String := "");

### Initialize

- Goto spec in source

    procedure Initialize (Toggle_Button: access Gtk_Toggle_Button_Record'Class;Label: UTF8_String := "");

Initialize a button. If Label is "", then no label is created inside the button and you will have to provide your own child through a call to Gtk.Container.Add. This is the recommended way to put a pixmap inside a toggle button.

### Gtk_New_With_Mnemonic

- Goto spec in source

    procedure Gtk_New_With_Mnemonic (Toggle_Button: out Gtk_Toggle_Button;Label: UTF8_String);

### Initialize_With_Mnemonic

- Goto spec in source

    procedure Initialize_With_Mnemonic (Toggle_Button: access Gtk_Toggle_Button_Record'Class;Label: UTF8_String);

Creates a new Gtk.Toggle_Button.Gtk_Toggle_Button containing a label. The label will be created using Gtk.Label.Gtk_New_With_Mnemonic, so underscores in Label indicate the mnemonic for the button. "label": the text of the button, with an underscore in front of the mnemonic character

### Get_Type

- Goto spec in source
- Goto body in source

    function Get_Type return Glib.GType;

### Get_Active

- Goto spec in source

    function Get_Active (Toggle_Button: access Gtk_Toggle_Button_Record) return Boolean;

### Set_Active

- Goto spec in source

    procedure Set_Active (Toggle_Button: access Gtk_Toggle_Button_Record;Is_Active: Boolean);

Change the state of the button. When Is_Active is True, the button is drawn as a pressed button

### Get_Inconsistent

- Goto spec in source

    function Get_Inconsistent (Toggle_Button: access Gtk_Toggle_Button_Record) return Boolean;

### Set_Inconsistent

- Goto spec in source

    procedure Set_Inconsistent (Toggle_Button: access Gtk_Toggle_Button_Record;Setting: Boolean := True);

If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent, you may want to display the toggle in an "in between" state. This function turns on "in between" display. Normally you would turn off the inconsistent state again if the user toggles the toggle button. This has to be done manually, Gtk.Toggle_Button.Set_Inconsistent only affects visual appearance, it doesn't affect the semantics of the button. "setting": True if state is inconsistent

### Get_Mode

- Goto spec in source

    function Get_Mode (Toggle_Button: access Gtk_Toggle_Button_Record) return Boolean;

### Set_Mode

- Goto spec in source

    procedure Set_Mode (Toggle_Button: access Gtk_Toggle_Button_Record;Draw_Indicator: Boolean);

Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with This function only affects instances of classes like Gtk.Check_Button.Gtk_Check_Button and Gtk.Radio_Button.Gtk_Radio_Button that derive from Gtk.Toggle_Button.Gtk_Toggle_Button, not instances of Gtk.Toggle_Button.Gtk_Toggle_Button itself. "draw_indicator": if True, draw the button as a separate indicator and label; if False, draw the button like a normal button

### Toggled

- Goto spec in source

    procedure Toggled (Toggle_Button: access Gtk_Toggle_Button_Record);

### Do_Set_Related_Action

- Goto spec in source

    procedure Do_Set_Related_Action (Self: access Gtk_Toggle_Button_Record;Action: access Gtk.Action.Gtk_Action_Record'Class);

### Get_Related_Action

- Goto spec in source

    function Get_Related_Action (Self: access Gtk_Toggle_Button_Record) return Gtk.Action.Gtk_Action;

### Set_Related_Action

- Goto spec in source

    procedure Set_Related_Action (Self: access Gtk_Toggle_Button_Record;Action: access Gtk.Action.Gtk_Action_Record'Class);

### Get_Use_Action_Appearance

- Goto spec in source

    function Get_Use_Action_Appearance (Self: access Gtk_Toggle_Button_Record) return Boolean;

### Set_Use_Action_Appearance

- Goto spec in source

    procedure Set_Use_Action_Appearance (Self: access Gtk_Toggle_Button_Record;Use_Appearance: Boolean);

### Sync_Action_Properties

- Goto spec in source

    procedure Sync_Action_Properties (Self: access Gtk_Toggle_Button_Record;Action: access Gtk.Action.Gtk_Action_Record'Class);

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Toggle_Button_Record'Class) return Gtk.Activatable.Gtk_Activatable renames Implements_Activatable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Activatable.Gtk_Activatable) return Gtk_Toggle_Button renames Implements_Activatable.To_Object;

### +

- Goto spec in source

    function "+" (Widget: access Gtk_Toggle_Button_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface;

### -

- Goto spec in source

    function "-" (Interf: Gtk.Buildable.Gtk_Buildable) return Gtk_Toggle_Button renames Implements_Buildable.To_Object;