gi-gtk-3.0.11: Gtk bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.ToggleButton

Contents

Description

A ToggleButton is a Button which will remain “pressed-in” when clicked. Clicking again will cause the toggle button to return to its normal state.

A toggle button is created by calling either toggleButtonNew or toggleButtonNewWithLabel. If using the former, it is advisable to pack a widget, (such as a Label and/or a Image), into the toggle button’s container. (See Button for more information).

The state of a ToggleButton can be set specifically using toggleButtonSetActive, and retrieved using toggleButtonGetActive.

To simply switch the state of a toggle button, use toggleButtonToggled.

CSS nodes

GtkToggleButton has a single CSS node with name button. To differentiate it from a plain Button, it gets the .toggle style class.

## Creating two ToggleButton widgets.

C code

void make_toggles (void) {
   GtkWidget *dialog, *toggle1, *toggle2;
   GtkWidget *content_area;
   const char *text;

   dialog = gtk_dialog_new (text);
   content_area = gtk_dialog_get_content_area ();

   text = "Hi, i’m a toggle button.";
   toggle1 = gtk_toggle_button_new_with_label (text);

   // Makes this toggle button invisible
   gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1),
                               TRUE);

   g_signal_connect (toggle1, "toggled",
                     G_CALLBACK (output_state),
                     NULL);
   gtk_box_pack_start (GTK_BOX (content_area),
                       toggle1, FALSE, FALSE, 2);

   text = "Hi, i’m a toggle button.";
   toggle2 = gtk_toggle_button_new_with_label (text);
   gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2),
                               FALSE);
   g_signal_connect (toggle2, "toggled",
                     G_CALLBACK (output_state),
                     NULL);
   gtk_box_pack_start (GTK_BOX (content_area),
                       toggle2, FALSE, FALSE, 2);

   gtk_widget_show_all (dialog);
}

Synopsis

Exported types

Methods

getActive

toggleButtonGetActive Source #

Arguments

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

toggleButton: a ToggleButton.

-> m Bool

Returns: a Bool value.

Queries a ToggleButton and returns its current state. Returns True if the toggle button is pressed in and False if it is raised.

getInconsistent

toggleButtonGetInconsistent Source #

Arguments

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

toggleButton: a ToggleButton

-> m Bool

Returns: True if the button is displayed as inconsistent, False otherwise

Gets the value set by toggleButtonSetInconsistent.

getMode

toggleButtonGetMode Source #

Arguments

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

toggleButton: a ToggleButton

-> m Bool

Returns: True if the togglebutton is drawn as a separate indicator and label.

Retrieves whether the button is displayed as a separate indicator and label. See toggleButtonSetMode.

new

toggleButtonNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m ToggleButton

Returns: a new toggle button.

Creates a new toggle button. A widget should be packed into the button, as in buttonNew.

newWithLabel

toggleButtonNewWithLabel Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

label: a string containing the message to be placed in the toggle button.

-> m ToggleButton

Returns: a new toggle button.

Creates a new toggle button with a text label.

newWithMnemonic

toggleButtonNewWithMnemonic Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

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

-> m ToggleButton

Returns: a new ToggleButton

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

setActive

toggleButtonSetActive Source #

Arguments

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

toggleButton: a ToggleButton.

-> Bool

isActive: True or False.

-> m () 

Sets the status of the toggle button. Set to True if you want the GtkToggleButton to be “pressed in”, and False to raise it. This action causes the ToggleButton::toggled signal and the Button::clicked signal to be emitted.

setInconsistent

toggleButtonSetInconsistent Source #

Arguments

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

toggleButton: a ToggleButton

-> Bool

setting: True if state is inconsistent

-> m () 

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, toggleButtonSetInconsistent only affects visual appearance, it doesn’t affect the semantics of the button.

setMode

toggleButtonSetMode Source #

Arguments

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

toggleButton: a ToggleButton

-> Bool

drawIndicator: if True, draw the button as a separate indicator and label; if False, draw the button like a normal button

-> m () 

Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with drawIndicator = False to make the button look like a normal button.

This can be used to create linked strip of buttons that work like a StackSwitcher.

This function only affects instances of classes like CheckButton and RadioButton that derive from ToggleButton, not instances of ToggleButton itself.

toggled

toggleButtonToggled Source #

Arguments

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

toggleButton: a ToggleButton.

-> m () 

Emits the ToggleButton::toggled signal on the ToggleButton. There is no good reason for an application ever to call this function.

Properties

active

data ToggleButtonActivePropertyInfo Source #

Instances

AttrInfo ToggleButtonActivePropertyInfo Source # 
type AttrOrigin ToggleButtonActivePropertyInfo Source # 
type AttrLabel ToggleButtonActivePropertyInfo Source # 
type AttrGetType ToggleButtonActivePropertyInfo Source # 
type AttrBaseTypeConstraint ToggleButtonActivePropertyInfo Source # 
type AttrSetTypeConstraint ToggleButtonActivePropertyInfo Source # 
type AttrAllowedOps ToggleButtonActivePropertyInfo Source # 

drawIndicator

data ToggleButtonDrawIndicatorPropertyInfo Source #

Instances

AttrInfo ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrOrigin ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrLabel ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrGetType ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrBaseTypeConstraint ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrSetTypeConstraint ToggleButtonDrawIndicatorPropertyInfo Source # 
type AttrAllowedOps ToggleButtonDrawIndicatorPropertyInfo Source # 

inconsistent

data ToggleButtonInconsistentPropertyInfo Source #

Instances

AttrInfo ToggleButtonInconsistentPropertyInfo Source # 
type AttrOrigin ToggleButtonInconsistentPropertyInfo Source # 
type AttrLabel ToggleButtonInconsistentPropertyInfo Source # 
type AttrGetType ToggleButtonInconsistentPropertyInfo Source # 
type AttrBaseTypeConstraint ToggleButtonInconsistentPropertyInfo Source # 
type AttrSetTypeConstraint ToggleButtonInconsistentPropertyInfo Source # 
type AttrAllowedOps ToggleButtonInconsistentPropertyInfo Source # 

Signals

toggled