Class ToggleGroup
- All Implemented Interfaces:
Accessible,Buildable,ConstraintTarget,Orientable,Proxy
AdwToggleGroup presents a set of exclusive toggles, represented as
Toggle objects. Each toggle can display an icon, a label, an icon
and a label, or a custom child.
Toggles are indexed by their position, with the first toggle being equivalent
to 0, and so on. Use the ToggleGroup:active to get that position.
Toggles can also have optional names, set via the Toggle:name
property. The name of the active toggle can be accessed via the
ToggleGroup:active-name property.
AdwToggle objects can be retrieved via their index or name, using
getToggle(int) or getToggleByName(java.lang.String)
respectively. AdwToggleGroup also provides a SelectionModel of
its toggles via the ToggleGroup:toggles property.
AdwToggleGroup is orientable, and the toggles can be displayed horizontally
or vertically. This is mostly useful for icon-only toggles.
Use the ToggleGroup:homogeneous property to make the toggles take
the same size, and the ToggleGroup:can-shrink to control whether
the toggles can ellipsize.
Example of an AdwToggleGroup UI definition:
<object class="AdwToggleGroup">
<property name="active-name">picture</property>
<child>
<object class="AdwToggle">
<property name="icon-name">camera-photo-symbolic</property>
<property name="tooltip" translatable="yes">Picture Mode</property>
<property name="name">picture</property>
</object>
</child>
<child>
<object class="AdwToggle">
<property name="icon-name">camera-video-symbolic</property>
<property name="tooltip" translatable="yes">Recording Mode</property>
<property name="name">recording</property>
</object>
</child>
</object>
See also: InlineViewSwitcher.
CSS nodes
AdwToggleGroup has a main CSS node with the name toggle-group.
Its toggles have CSS nodes with the name toggle, and its separators have nodes
with the name separator.
Toggle nodes will have a different style classes depending on their content:
.text-button for labels, .image-button for icons, .image-text-button
for both or no style class for custom children.
The hidden separators use the .hidden style class.
Style classes
AdwToggleGroup can use the .flat style class
to remove its background and make it look like a group of buttons.
It can also use the .round style class to make
its toggles and the group itself rounded.
They can also be combined with each other.
Accessibility
AdwToggleGroup uses the GTK_ACCESSIBLE_ROLE_RADIO_GROUP role. Its toggles
use the GTK_ACCESSIBLE_ROLE_RADIO role.
- Since:
- 1.7
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classToggleGroup.Builder<B extends ToggleGroup.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested 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.Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterfaceNested classes/interfaces inherited from interface org.gnome.gtk.Orientable
Orientable.Orientable$Impl, Orientable.OrientableIface -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new ToggleGroup.ToggleGroup(MemorySegment address) Create a ToggleGroup proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a toggle toself.protected ToggleGroupasParent()Returns this instance as if it were its parent type.static ToggleGroup.Builder<? extends ToggleGroup.Builder> builder()AToggleGroup.Builderobject constructs aToggleGroupwith the specified properties.intGets the index of the active toggle inself.@Nullable StringGets the name of the active toggle inself.booleanGets whether the toggles can be smaller than the natural size of their contents.booleanGets whether all toggles take the same size.intGets the number of toggles withinself.@Nullable TogglegetToggle(int index) Gets the toggle withindexfromself.@Nullable TogglegetToggleByName(String name) Gets the toggle with the namenamefromself.Returns aListModelthat contains the toggles of the group.static @Nullable TypegetType()Get the GType of the ToggleGroup classvoidRemovestogglefromself.voidRemoves all toggles fromself.voidsetActive(int active) Sets the active toggle forself.voidsetActiveName(@Nullable String name) Sets the active toggle forself.voidsetCanShrink(boolean canShrink) Sets whether the toggles can be smaller than the natural size of their contents.voidsetHomogeneous(boolean homogeneous) Sets whether all toggles take the same size.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, getLimitEvents, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMemoryLayout, 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.Buildable
getBuildableIdMethods inherited from interface org.gnome.gtk.Orientable
getOrientation, setOrientation
-
Constructor Details
-
ToggleGroup
Create a ToggleGroup proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
ToggleGroup
public ToggleGroup()Creates a new ToggleGroup.
-
-
Method Details
-
getType
-
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. -
add
Adds a toggle toself.- Parameters:
toggle- the toggle to add- Since:
- 1.7
-
getActive
public int getActive()Gets the index of the active toggle inself.Returns
GTK_INVALID_LIST_POSITIONif no toggle is active.- Returns:
- the active toggle index
- Since:
- 1.7
-
getActiveName
Gets the name of the active toggle inself.Can be
NULLif the currently active toggle doesn't have a name.See
Toggle:name.- Returns:
- the active toggle name
- Since:
- 1.7
-
getCanShrink
public boolean getCanShrink()Gets whether the toggles can be smaller than the natural size of their contents.- Returns:
- whether the toggles can shrink
- Since:
- 1.7
-
getHomogeneous
public boolean getHomogeneous()Gets whether all toggles take the same size.- Returns:
- whether all toggles take the same size
- Since:
- 1.7
-
getNToggles
public int getNToggles()Gets the number of toggles withinself.- Returns:
- the number of toggles
- Since:
- 1.7
-
getToggle
Gets the toggle withindexfromself.- Parameters:
index- toggle's index- Returns:
- the toggle
- Since:
- 1.7
-
getToggleByName
-
getToggles
Returns aListModelthat contains the toggles of the group.This can be used to keep an up-to-date view. The model also implements
SelectionModeland can be used to track and change the active toggle.- Returns:
- a
GtkSelectionModelfor the group's toggles
-
remove
Removestogglefromself.- Parameters:
toggle- a toggle to remove- Since:
- 1.7
-
removeAll
public void removeAll()Removes all toggles fromself.- Since:
- 1.7
-
setActive
public void setActive(int active) Sets the active toggle forself.If the index is larger than the number of toggles in
self,unsets the current active toggle.- Parameters:
active- toggle index- Since:
- 1.7
-
setActiveName
Sets the active toggle forself.The name can be set via
Toggle:name.If
nameisNULL, unset the current active toggle instead.- Parameters:
name- toggle name- Since:
- 1.7
-
setCanShrink
public void setCanShrink(boolean canShrink) Sets whether the toggles can be smaller than the natural size of their contents.If
canShrinkisTRUE, the toggle labels will ellipsize.See
Gtk.Button:can-shrink.- Parameters:
canShrink- whether the toggles can shrink- Since:
- 1.7
-
setHomogeneous
public void setHomogeneous(boolean homogeneous) Sets whether all toggles take the same size.- Parameters:
homogeneous- whether all toggles should take the same size- Since:
- 1.7
-
builder
AToggleGroup.Builderobject constructs aToggleGroupwith the specified properties. Use the variousset...()methods to set properties, and finish construction withToggleGroup.Builder.build().- Returns:
- the builder object
-