Class ToggleButton
- All Implemented Interfaces:
Accessible, Actionable, Buildable, ConstraintTarget, Proxy
Shows 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 ToggleButton() or
withLabel(String). 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 Button for more information).
The state of a GtkToggleButton can be set specifically using
setActive(boolean), and retrieved using
getActive().
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 setGroup(ToggleButton).
CSS nodes
GtkToggleButton has a single CSS node with name button. To differentiate
it from a plain GtkButton, it gets the .toggle style class.
Accessibility
GtkToggleButton uses the Gtk.AccessibleRole.toggle_button role.
Creating two GtkToggleButton widgets.
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_window_present (GTK_WINDOW (window));
}
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classToggleButton.Builder<B extends ToggleButton.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classstatic interfaceFunctional interface declaration of theToggledCallbackcallback.Nested classes/interfaces inherited from class Button
Button.ActivateCallback, Button.ButtonClass, Button.ClickedCallbackNested classes/interfaces inherited from class Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.Widget$Impl, Widget.WidgetClassNested classes/interfaces inherited from class InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface Actionable
Actionable.Actionable$Impl, Actionable.ActionableInterfaceNested classes/interfaces inherited from interface Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new ToggleButton.ToggleButton(MemorySegment address) Create a ToggleButton instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ToggleButtonasParent()Return this instance as if it were its parent type.static ToggleButton.Builder<? extends ToggleButton.Builder> builder()AToggleButton.Builderobject constructs aToggleButtonwith the specified properties.voidEmits the "toggled" signal.booleanQueries aGtkToggleButtonand returns its current state.static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the ToggleButton class.onToggled(ToggleButton.ToggledCallback handler) Emitted whenever theGtkToggleButton's state is changed.voidsetActive(boolean isActive) Sets the status of the toggle button.voidsetGroup(@Nullable ToggleButton group) Addsselfto the group ofgroup.voidtoggled()Deprecated.There is no good reason for an application ever to call this function.static ToggleButtonCreates a new toggle button with a text label.static ToggleButtonwithMnemonic(String label) Creates a newGtkToggleButtoncontaining a label.Methods inherited from class Button
activate, clicked, emitActivate, emitClicked, fromIconName, getCanShrink, getChild, getHasFrame, getIconName, getLabel, getUseUnderline, onActivate, onClicked, setCanShrink, setChild, setHasFrame, setIconName, setLabel, setUseUnderlineMethods inherited from class Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getLimitEvents, 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, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setLimitEvents, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlagsMethods inherited from class GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newv, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withPropertiesMethods inherited from class TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCodeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Accessible
announce, getAccessibleId, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods inherited from interface Actionable
getActionName, getActionTargetValue, setActionName, setActionTarget, setActionTargetValue, setDetailedActionNameMethods inherited from interface Buildable
getBuildableId
-
Constructor Details
-
ToggleButton
Create a ToggleButton instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
ToggleButton
public ToggleButton()Create a new ToggleButton.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code. -
withLabel
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.
-
withMnemonic
Creates a new
GtkToggleButtoncontaining a label.The label will be created using
Label.withMnemonic(String), so underscores inlabelindicate 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
GtkToggleButtonand returns its current state.Returns
trueif the toggle button is pressed in andfalseif it is raised.- Returns:
- whether the button is pressed
-
setActive
public void setActive(boolean isActive) Sets the status of the toggle button.
Set to
trueif you want theGtkToggleButtonto be “pressed in”, andfalseto raise it.If the status of the button changes, this action causes the
Gtk.ToggleButton::toggledsignal to be emitted.- Parameters:
isActive-trueorfalse.
-
setGroup
Adds
selfto the group ofgroup.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
ActionableAPI, 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- anotherGtkToggleButtonto form a group with
-
toggled
Deprecated.There is no good reason for an application ever to call this function.Emits the ::toggled signal on theGtkToggleButton. -
onToggled
public SignalConnection<ToggleButton.ToggledCallback> onToggled(ToggleButton.ToggledCallback handler) Emitted whenever theGtkToggleButton's state is changed.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitToggled
public void emitToggled()Emits the "toggled" signal. SeeonToggled(ToggleButton.ToggledCallback). -
builder
AToggleButton.Builderobject constructs aToggleButtonwith the specified properties. Use the variousset...()methods to set properties, and finish construction withToggleButton.Builder.build().- Returns:
- the builder object
-