Package ch.bailu.gtk.gtk
Class ToggleButton
- All Implemented Interfaces:
PointerInterface
A `GtkToggleButton` is a button which remains “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 [ctor@Gtk.ToggleButton.new] or
[ctor@Gtk.ToggleButton.new_with_label]. If using the former, it is advisable
to pack a widget, (such as a `GtkLabel` and/or a `GtkImage`), into the toggle
button’s container. (See [class@Gtk.Button] for more information).
The state of a `GtkToggleButton` can be set specifically using
[method@Gtk.ToggleButton.set_active], and retrieved using
[method@Gtk.ToggleButton.get_active].
To simply switch the state of a toggle button, use
[method@Gtk.ToggleButton.toggled].
## Grouping
Toggle buttons can be grouped together, to form mutually exclusive
groups - only one of the buttons can be toggled at a time, and toggling
another one will switch the currently toggled one off.
To add a `GtkToggleButton` to a group, use [method@Gtk.ToggleButton.set_group].
## CSS nodes
`GtkToggleButton` has a single CSS node with name button. To differentiate
it from a plain `GtkButton`, it gets the `.toggle` style class.
## Creating two `GtkToggleButton` widgets.
```c
static void
output_state (GtkToggleButton *source,
gpointer user_data)
{
g_print ("Toggle button "%s" is active: %s",
gtk_button_get_label (GTK_BUTTON (source)),
gtk_toggle_button_get_active (source) ? "Yes" : "No");
}
static void
make_toggles (void)
{
GtkWidget *window, *toggle1, *toggle2;
GtkWidget *box;
const char *text;
window = gtk_window_new ();
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
text = "Hi, I’m toggle button one";
toggle1 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle1, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle1);
text = "Hi, I’m toggle button two";
toggle2 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle2, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle2);
gtk_window_set_child (GTK_WINDOW (window), box);
gtk_widget_show (window);
}
```
clicked.
Clicking again will cause the toggle button to return to its normal state.
A toggle button is created by calling either [ctor@Gtk.ToggleButton.new] or
[ctor@Gtk.ToggleButton.new_with_label]. If using the former, it is advisable
to pack a widget, (such as a `GtkLabel` and/or a `GtkImage`), into the toggle
button’s container. (See [class@Gtk.Button] for more information).
The state of a `GtkToggleButton` can be set specifically using
[method@Gtk.ToggleButton.set_active], and retrieved using
[method@Gtk.ToggleButton.get_active].
To simply switch the state of a toggle button, use
[method@Gtk.ToggleButton.toggled].
## Grouping
Toggle buttons can be grouped together, to form mutually exclusive
groups - only one of the buttons can be toggled at a time, and toggling
another one will switch the currently toggled one off.
To add a `GtkToggleButton` to a group, use [method@Gtk.ToggleButton.set_group].
## CSS nodes
`GtkToggleButton` has a single CSS node with name button. To differentiate
it from a plain `GtkButton`, it gets the `.toggle` style class.
## Creating two `GtkToggleButton` widgets.
```c
static void
output_state (GtkToggleButton *source,
gpointer user_data)
{
g_print ("Toggle button "%s" is active: %s",
gtk_button_get_label (GTK_BUTTON (source)),
gtk_toggle_button_get_active (source) ? "Yes" : "No");
}
static void
make_toggles (void)
{
GtkWidget *window, *toggle1, *toggle2;
GtkWidget *box;
const char *text;
window = gtk_window_new ();
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
text = "Hi, I’m toggle button one";
toggle1 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle1, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle1);
text = "Hi, I’m toggle button two";
toggle2 = gtk_toggle_button_new_with_label (text);
g_signal_connect (toggle2, "toggled",
G_CALLBACK (output_state),
NULL);
gtk_box_append (GTK_BOX (box), toggle2);
gtk_window_set_child (GTK_WINDOW (window), box);
gtk_widget_show (window);
}
```
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class ch.bailu.gtk.gtk.Button
Button.OnActivate, Button.OnClickedNested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealizeNested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify -
Field Summary
FieldsFields inherited from class ch.bailu.gtk.gtk.Button
SIGNAL_ON_ACTIVATE, SIGNAL_ON_CLICKEDFields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZEFields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible.Implements interfaceActionable.Implements interfaceBuildable.Implements interfaceConstraintTarget.booleanQueries a `GtkToggleButton` and returns its current state.static ClassHandlerstatic intstatic longstatic TypeSystem.TypeSizestatic longstatic TypeSystem.TypeSizestatic ToggleButtonnewWithLabelToggleButton(Str label) Creates a new toggle button with a text label.static ToggleButtonnewWithLabelToggleButton(String label) Creates a new toggle button with a text label.static ToggleButtonnewWithMnemonicToggleButton(Str label) Creates a new `GtkToggleButton` containing a label.static ToggleButtonCreates a new `GtkToggleButton` containing a label.onToggled(ToggleButton.OnToggled signal) Connect to signal "toggled".voidsetActive(boolean is_active) Sets the status of the toggle button.voidsetGroup(ToggleButton group) Adds @self to the group of @group.voidtoggled()Emits the ::toggled signal on the `GtkToggleButton`.Methods inherited from class ch.bailu.gtk.gtk.Button
getChild, getHasFrame, getIconName, getLabel, getUseUnderline, newFromIconNameButton, newFromIconNameButton, newWithLabelButton, newWithLabelButton, newWithMnemonicButton, newWithMnemonicButton, onActivate, onClicked, setChild, setHasFrame, setIconName, setIconName, setLabel, setLabel, setUseUnderlineMethods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlagsMethods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnrefMethods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacksMethods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNullMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_TOGGLED
- See Also:
-
-
Constructor Details
-
ToggleButton
-
ToggleButton
public ToggleButton()Creates a new toggle button.
A widget should be packed into the button, as in [ctor@Gtk.Button.new].
-
-
Method Details
-
getClassHandler
-
newWithLabelToggleButton
Creates a new toggle button with a text label.- Parameters:
label- a string containing the message to be placed in the toggle button.- Returns:
- a new toggle button.
-
newWithLabelToggleButton
Creates a new toggle button with a text label.- Parameters:
label- a string containing the message to be placed in the toggle button.- Returns:
- a new toggle button.
-
newWithMnemonicToggleButton
Creates a new `GtkToggleButton` containing a label.
The label will be created using [ctor@Gtk.Label.new_with_mnemonic],
so underscores in @label indicate the mnemonic for the button.- Parameters:
label- the text of the button, with an underscore in front of the mnemonic character- Returns:
- a new `GtkToggleButton`
-
newWithMnemonicToggleButton
Creates a new `GtkToggleButton` containing a label.
The label will be created using [ctor@Gtk.Label.new_with_mnemonic],
so underscores in @label indicate the mnemonic for the button.- Parameters:
label- the text of the button, with an underscore in front of the mnemonic character- Returns:
- a new `GtkToggleButton`
-
getActive
public boolean getActive()Queries a `GtkToggleButton` and returns its current state.
Returns %TRUE if the toggle button is pressed in and %FALSE
if it is raised.- Returns:
- whether the button is pressed
-
setActive
public void setActive(boolean is_active) Sets the status of the toggle button.
Set to %TRUE if you want the `GtkToggleButton` to be “pressed in”,
and %FALSE to raise it.
If the status of the button changes, this action causes the
[signal@GtkToggleButton::toggled] signal to be emitted.- Parameters:
is_active- %TRUE or %FALSE.
-
setGroup
Adds @self to the group of @group.
In a group of multiple toggle buttons, only one button can be active
at a time.
Setting up groups in a cycle leads to undefined behavior.
Note that the same effect can be achieved via the [iface@Gtk.Actionable]
API, by using the same action with parameter type and state type 's'
for all buttons in the group, and giving each button its own target
value.- Parameters:
group- another `GtkToggleButton` to form a group with
-
toggled
public void toggled()Emits the ::toggled signal on the `GtkToggleButton`.
There is no good reason for an application ever to call this function. -
onToggled
Connect to signal "toggled".
SeeToggleButton.OnToggled.onToggled()for signal description.
FieldSIGNAL_ON_TOGGLEDcontains original signal name and can be used as resource reference.- Parameters:
signal- callback function (lambda).- Returns:
SignalHandler. Can be used to disconnect signal and to release callback function.
-
asAccessible
Implements interfaceAccessible. Call this to get access to interface functions.- Overrides:
asAccessiblein classButton- Returns:
Accessible
-
asActionable
Implements interfaceActionable. Call this to get access to interface functions.- Overrides:
asActionablein classButton- Returns:
Actionable
-
asBuildable
Implements interfaceBuildable. Call this to get access to interface functions.- Overrides:
asBuildablein classButton- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget. Call this to get access to interface functions.- Overrides:
asConstraintTargetin classButton- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-