Class Switch
- All Implemented Interfaces:
Accessible, Actionable, Buildable, ConstraintTarget, Proxy
Shows a "light switch" that has two states: on or off.
The user can control which state should be active by clicking the empty area, or by dragging the slider.
GtkSwitch can also express situations where the underlying state changes
with a delay. In this case, the slider position indicates the user's recent
change (represented by the Gtk.Switch:active property), while the
trough color indicates the present underlying state (represented by the
Gtk.Switch:state property).
See Gtk.Switch::state-set for details.
Shortcuts and Gestures
GtkSwitch supports pan and drag gestures to move the slider.
CSS nodes
switch
├── image
├── image
╰── slider
GtkSwitch has four css nodes, the main node with the name switch and
subnodes for the slider and the on and off images. Neither of them is
using any style classes.
Accessibility
GtkSwitch uses the Gtk.AccessibleRole.switch role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional interface declaration of theActivateCallbackcallback.static classSwitch.Builder<B extends Switch.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static interfaceFunctional interface declaration of theStateSetCallbackcallback.Nested 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
ConstructorsConstructorDescriptionSwitch()Create a new Switch.Switch(MemorySegment address) Create a Switch instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected SwitchasParent()Return this instance as if it were its parent type.static Switch.Builder<? extends Switch.Builder> builder()ASwitch.Builderobject constructs aSwitchwith the specified properties.voidEmits the "activate" signal.booleanemitStateSet(boolean state) Emits the "state-set" signal.booleanGets whether theGtkSwitchis in its “on” or “off” state.static MemoryLayoutThe memory layout of the native struct.booleangetState()Gets the underlying state of theGtkSwitch.static @Nullable TypegetType()Get the GType of the Switch class.onActivate(Switch.ActivateCallback handler) Emitted to animate the switch.onStateSet(Switch.StateSetCallback handler) Emitted to change the underlying state.voidsetActive(boolean isActive) Changes the state of this Switch to the desired one.voidsetState(boolean state) Sets the underlying state of theGtkSwitch.Methods 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
-
Switch
Create a Switch instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
Switch
public Switch()Create a new Switch.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
-
getActive
public boolean getActive()Gets whether theGtkSwitchis in its “on” or “off” state.- Returns:
trueif theGtkSwitchis active, andfalseotherwise
-
getState
public boolean getState()Gets the underlying state of theGtkSwitch.- Returns:
- the underlying state
-
setActive
public void setActive(boolean isActive) Changes the state of this Switch to the desired one.- Parameters:
isActive-trueif this Switch should be active, andfalseotherwise
-
setState
public void setState(boolean state) Sets the underlying state of the
GtkSwitch.This function is typically called from a
Gtk.Switch::state-setsignal handler in order to set up delayed state changes.See
Gtk.Switch::state-setfor details.- Parameters:
state- the new state
-
onActivate
Emitted to animate the switch.
Applications should never connect to this signal, but use the
Gtk.Switch:activeproperty.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitActivate
public void emitActivate()Emits the "activate" signal. SeeonActivate(Switch.ActivateCallback). -
onStateSet
Emitted to change the underlying state.
The ::state-set signal is emitted when the user changes the switch position. The default handler calls
setState(boolean)with the value ofstate.To implement delayed state change, applications can connect to this signal, initiate the change of the underlying state, and call
setState(boolean)when the underlying state change is complete. The signal handler should returntrueto prevent the default handler from running.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitStateSet
public boolean emitStateSet(boolean state) Emits the "state-set" signal. SeeonStateSet(Switch.StateSetCallback). -
builder
ASwitch.Builderobject constructs aSwitchwith the specified properties. Use the variousset...()methods to set properties, and finish construction withSwitch.Builder.build().- Returns:
- the builder object
-