gi-gtk-3.0.28: Gtk bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
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

static void output_state (GtkToggleButton *source, gpointer user_data) {
  printf ("Active: %d\n", gtk_toggle_button_get_active (source));
}

void make_toggles (void) {
  GtkWidget *window, *toggle1, *toggle2;
  GtkWidget *box;
  const char *text;

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);

  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_container_add (GTK_CONTAINER (box), toggle1);

  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_container_add (GTK_CONTAINER (box), toggle2);

  gtk_container_add (GTK_CONTAINER (window), box);
  gtk_widget_show_all (window);
}
Synopsis

Exported types

newtype ToggleButton Source #

Memory-managed wrapper type.

Instances
GObject ToggleButton Source # 
Instance details

Defined in GI.Gtk.Objects.ToggleButton

Methods

gobjectType :: IO GType #

HasParentTypes ToggleButton Source # 
Instance details

Defined in GI.Gtk.Objects.ToggleButton

type ParentTypes ToggleButton Source # 
Instance details

Defined in GI.Gtk.Objects.ToggleButton

type ParentTypes ToggleButton = Button ': (Bin ': (Container ': (Widget ': (Object ': (ImplementorIface ': (Actionable ': (Activatable ': (Buildable ': ([] :: [Type])))))))))

class (GObject o, IsDescendantOf ToggleButton o) => IsToggleButton o Source #

Type class for types which can be safely cast to ToggleButton, for instance with toToggleButton.

Instances
(GObject o, IsDescendantOf ToggleButton o) => IsToggleButton o Source # 
Instance details

Defined in GI.Gtk.Objects.ToggleButton

toToggleButton :: (MonadIO m, IsToggleButton o) => o -> m ToggleButton Source #

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

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

No description available in the introspection data.

constructToggleButtonActive :: IsToggleButton o => Bool -> IO (GValueConstruct o) Source #

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

getToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> m Bool Source #

Get the value of the “active” property. When overloading is enabled, this is equivalent to

get toggleButton #active

setToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> Bool -> m () Source #

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

set toggleButton [ #active := value ]

drawIndicator

No description available in the introspection data.

constructToggleButtonDrawIndicator :: IsToggleButton o => Bool -> IO (GValueConstruct o) Source #

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

getToggleButtonDrawIndicator :: (MonadIO m, IsToggleButton o) => o -> m Bool Source #

Get the value of the “draw-indicator” property. When overloading is enabled, this is equivalent to

get toggleButton #drawIndicator

setToggleButtonDrawIndicator :: (MonadIO m, IsToggleButton o) => o -> Bool -> m () Source #

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

set toggleButton [ #drawIndicator := value ]

inconsistent

No description available in the introspection data.

constructToggleButtonInconsistent :: IsToggleButton o => Bool -> IO (GValueConstruct o) Source #

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

getToggleButtonInconsistent :: (MonadIO m, IsToggleButton o) => o -> m Bool Source #

Get the value of the “inconsistent” property. When overloading is enabled, this is equivalent to

get toggleButton #inconsistent

setToggleButtonInconsistent :: (MonadIO m, IsToggleButton o) => o -> Bool -> m () Source #

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

set toggleButton [ #inconsistent := value ]

Signals

toggled

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

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

type ToggleButtonToggledCallback = IO () Source #

Should be connected if you wish to perform an action whenever the 'GI.Gtk.Objects.ToggleButton.ToggleButton'\'s state is changed.

afterToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId Source #

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

after toggleButton #toggled callback

onToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId Source #

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

on toggleButton #toggled callback