Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
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); 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); 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 (window); }
Synopsis
- newtype ToggleButton = ToggleButton (ManagedPtr ToggleButton)
- class (GObject o, IsDescendantOf ToggleButton o) => IsToggleButton o
- toToggleButton :: (MonadIO m, IsToggleButton o) => o -> m ToggleButton
- noToggleButton :: Maybe ToggleButton
- toggleButtonGetActive :: (HasCallStack, MonadIO m, IsToggleButton a) => a -> m Bool
- toggleButtonNew :: (HasCallStack, MonadIO m) => m ToggleButton
- toggleButtonNewWithLabel :: (HasCallStack, MonadIO m) => Text -> m ToggleButton
- toggleButtonNewWithMnemonic :: (HasCallStack, MonadIO m) => Text -> m ToggleButton
- toggleButtonSetActive :: (HasCallStack, MonadIO m, IsToggleButton a) => a -> Bool -> m ()
- toggleButtonToggled :: (HasCallStack, MonadIO m, IsToggleButton a) => a -> m ()
- constructToggleButtonActive :: IsToggleButton o => Bool -> IO (GValueConstruct o)
- getToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> m Bool
- setToggleButtonActive :: (MonadIO m, IsToggleButton o) => o -> Bool -> m ()
- type C_ToggleButtonToggledCallback = Ptr () -> Ptr () -> IO ()
- type ToggleButtonToggledCallback = IO ()
- afterToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId
- genClosure_ToggleButtonToggled :: MonadIO m => ToggleButtonToggledCallback -> m (GClosure C_ToggleButtonToggledCallback)
- mk_ToggleButtonToggledCallback :: C_ToggleButtonToggledCallback -> IO (FunPtr C_ToggleButtonToggledCallback)
- noToggleButtonToggledCallback :: Maybe ToggleButtonToggledCallback
- onToggleButtonToggled :: (IsToggleButton a, MonadIO m) => a -> ToggleButtonToggledCallback -> m SignalHandlerId
- wrap_ToggleButtonToggledCallback :: ToggleButtonToggledCallback -> C_ToggleButtonToggledCallback
Exported types
newtype ToggleButton Source #
Memory-managed wrapper type.
Instances
Eq ToggleButton Source # | |
Defined in GI.Gtk.Objects.ToggleButton (==) :: ToggleButton -> ToggleButton -> Bool # (/=) :: ToggleButton -> ToggleButton -> Bool # | |
IsGValue ToggleButton Source # | Convert |
Defined in GI.Gtk.Objects.ToggleButton toGValue :: ToggleButton -> IO GValue # fromGValue :: GValue -> IO ToggleButton # | |
GObject ToggleButton Source # | |
Defined in GI.Gtk.Objects.ToggleButton gobjectType :: IO GType # | |
HasParentTypes ToggleButton Source # | |
Defined in GI.Gtk.Objects.ToggleButton | |
type ParentTypes ToggleButton Source # | |
Defined in GI.Gtk.Objects.ToggleButton type ParentTypes ToggleButton = '[Button, Bin, Container, Widget, Object, ImplementorIface, Actionable, Buildable] |
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 # | |
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
.
noToggleButton :: Maybe ToggleButton Source #
A convenience alias for Nothing
:: Maybe
ToggleButton
.
Methods
Overloaded methods
getActive
toggleButtonGetActive Source #
:: (HasCallStack, MonadIO m, IsToggleButton a) | |
=> a |
|
-> m Bool | Returns: a |
Queries a ToggleButton
and returns its current state. Returns True
if
the toggle button is pressed in and False
if it is raised.
new
:: (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 #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m ToggleButton | Returns: a new toggle button. |
Creates a new toggle button with a text label.
newWithMnemonic
toggleButtonNewWithMnemonic Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m ToggleButton | Returns: a new |
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 #
:: (HasCallStack, MonadIO m, IsToggleButton a) | |
=> a |
|
-> Bool | |
-> m () |
toggled
:: (HasCallStack, MonadIO m, IsToggleButton a) | |
=> a |
|
-> m () |
Emits the 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 ]
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
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
genClosure_ToggleButtonToggled :: MonadIO m => ToggleButtonToggledCallback -> m (GClosure C_ToggleButtonToggledCallback) Source #
Wrap the callback into a GClosure
.
mk_ToggleButtonToggledCallback :: C_ToggleButtonToggledCallback -> IO (FunPtr C_ToggleButtonToggledCallback) Source #
Generate a function pointer callable from C code, from a C_ToggleButtonToggledCallback
.
noToggleButtonToggledCallback :: Maybe ToggleButtonToggledCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ToggleButtonToggledCallback
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