[]Struct gtk::ToggleButton

pub struct ToggleButton(_, _);

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 ToggleButton::new or ToggleButton::new_with_label. 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 ToggleButtonExt::set_active, and retrieved using ToggleButtonExt::get_active.

To simply switch the state of a toggle button, use ToggleButtonExt::toggled.

CSS nodes

ToggleButton 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.

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);
}

Implements

ToggleButtonExt, ButtonExt, BinExt, ContainerExt, WidgetExt, glib::object::ObjectExt, BuildableExt, ActionableExt, WidgetExtManual, BuildableExtManual

Methods

impl ToggleButton[src]

pub fn new() -> ToggleButton[src]

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

Returns

a new toggle button.

pub fn new_with_label(label: &str) -> ToggleButton[src]

Creates a new toggle button with a text label.

label

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

Returns

a new toggle button.

pub fn new_with_mnemonic(label: &str) -> ToggleButton[src]

Creates a new ToggleButton containing a label. The label will be created using Label::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

Returns

a new ToggleButton

Trait Implementations

impl Clone for ToggleButton

impl Debug for ToggleButton

impl Default for ToggleButton[src]

impl Display for ToggleButton[src]

impl Eq for ToggleButton

impl Hash for ToggleButton

impl IsA<Actionable> for ToggleButton

impl IsA<Bin> for ToggleButton

impl IsA<Buildable> for ToggleButton

impl IsA<Button> for ToggleButton

impl IsA<Container> for ToggleButton

impl IsA<ToggleButton> for CheckButton

impl IsA<ToggleButton> for MenuButton

impl IsA<ToggleButton> for RadioButton

impl IsA<Widget> for ToggleButton

impl Ord for ToggleButton

impl<T: ObjectType> PartialEq<T> for ToggleButton

impl<T: ObjectType> PartialOrd<T> for ToggleButton

impl StaticType for ToggleButton

Auto Trait Implementations

impl RefUnwindSafe for ToggleButton

impl !Send for ToggleButton

impl !Sync for ToggleButton

impl Unpin for ToggleButton

impl UnwindSafe for ToggleButton

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 

impl<T> Cast for T where
    T: ObjectType, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType, 

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.