Class ToggleButton
- All Implemented Interfaces:
Accessible,Actionable,Buildable,ConstraintTarget,Proxy
Clicking again will cause the toggle button to return to its normal state.
A toggle button is created by calling either ToggleButton() or
withLabel(java.lang.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(org.gnome.gtk.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 org.gnome.gtk.Button
Button.ActivateCallback, Button.ButtonClass, Button.ClickedCallbackNested classes/interfaces inherited from class org.gnome.gtk.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 org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.Accessible$Impl, Accessible.AccessibleInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Actionable
Actionable.Actionable$Impl, Actionable.ActionableInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new ToggleButton.ToggleButton(MemorySegment address) Create a ToggleButton proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ToggleButtonasParent()Returns 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 classonToggled(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 org.gnome.gtk.Button
activate, clicked, emitActivate, emitClicked, fromIconName, getCanShrink, getChild, getHasFrame, getIconName, getLabel, getUseUnderline, onActivate, onClicked, setCanShrink, setChild, setHasFrame, setIconName, setLabel, setUseUnderlineMethods inherited from class org.gnome.gtk.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 org.gnome.gobject.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 org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updatePlatformState, updateProperty, updateRelation, updateStateMethods inherited from interface org.gnome.gtk.Actionable
getActionName, getActionTargetValue, setActionName, setActionTarget, setActionTargetValue, setDetailedActionNameMethods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
ToggleButton
Create a ToggleButton proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
ToggleButton
public ToggleButton()Creates a new ToggleButton.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuperkeyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName(). This will call the native function pointer of this virtual method in the typeclass of the parent type. -
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 newGtkToggleButtoncontaining a label.The label will be created using
Label.withMnemonic(java.lang.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 aGtkToggleButtonand 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
Addsselfto 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(org.gnome.gtk.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
-