Class ToggleButton
- All Implemented Interfaces:
Proxy
,Accessible
,Actionable
,Buildable
,ConstraintTarget
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 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()
.
To simply switch the state of a toggle button, use
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 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 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
Modifier and TypeClassDescriptionstatic class
ToggleButton.Builder<B extends ToggleButton.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
static interface
Functional interface declaration of theToggledCallback
callback.Nested classes/interfaces inherited from class org.gnome.gtk.Button
Button.ActivateCallback, Button.ButtonClass, Button.ClickedCallback
Nested 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.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Actionable
Actionable.ActionableImpl, Actionable.ActionableInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
-
Constructor Summary
ConstructorDescriptionCreates a new toggle button.ToggleButton
(MemorySegment address) Create a ToggleButton proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ToggleButton
asParent()
Returns this instance as if it were its parent type.static ToggleButton.Builder
<? extends ToggleButton.Builder> builder()
AToggleButton.Builder
object constructs aToggleButton
with the specified properties.void
Emits the "toggled" signal.boolean
Queries aGtkToggleButton
and returns its current state.static MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the ToggleButton classonToggled
(ToggleButton.ToggledCallback handler) Emitted whenever theGtkToggleButton
's state is changed.void
setActive
(boolean isActive) Sets the status of the toggle button.void
setGroup
(@Nullable ToggleButton group) Addsself
to the group ofgroup
.void
toggled()
Deprecated.There is no good reason for an application ever to call this function.static ToggleButton
Creates a new toggle button with a text label.static ToggleButton
withMnemonic
(String label) Creates a newGtkToggleButton
containing 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, setUseUnderline
Methods 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, 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, 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, unsetStateFlags
Methods 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, 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, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Actionable
getActionName, getActionTargetValue, setActionName, setActionTarget, setActionTargetValue, setDetailedActionName
Methods 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 toggle button.A widget should be packed into the button, as in
Button()
.
-
-
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 Javasuper
keyword, 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 newGtkToggleButton
containing a label.The label will be created using
Label.withMnemonic(java.lang.String)
, so underscores inlabel
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 aGtkToggleButton
and returns its current state.Returns
true
if the toggle button is pressed in andfalse
if it is raised.- Returns:
- whether the button is pressed
-
setActive
public void setActive(boolean isActive) Sets the status of the toggle button.Set to
true
if you want theGtkToggleButton
to be “pressed in”, andfalse
to raise it.If the status of the button changes, this action causes the
Gtk.ToggleButton::toggled
signal to be emitted.- Parameters:
isActive
-true
orfalse
.
-
setGroup
Addsself
to 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
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
- anotherGtkToggleButton
to 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.Builder
object constructs aToggleButton
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withToggleButton.Builder.build()
.
-