Package ch.bailu.gtk.gtk
Class CheckButton
- All Implemented Interfaces:
PointerInterface
A `GtkCheckButton` places a label next to an indicator.
![Example GtkCheckButtons](check-button.png)
A `GtkCheckButton` is created by calling either [ctor@Gtk.CheckButton.new]
or [ctor@Gtk.CheckButton.new_with_label].
The state of a `GtkCheckButton` can be set specifically using
[method@Gtk.CheckButton.set_active], and retrieved using
[method@Gtk.CheckButton.get_active].
# Inconsistent state
In addition to "on" and "off", check buttons can be an
"in between" state that is neither on nor off. This can be used
e.g. when the user has selected a range of elements (such as some
text or spreadsheet cells) that are affected by a check button,
and the current values in that range are inconsistent.
To set a `GtkCheckButton` to inconsistent state, use
[method@Gtk.CheckButton.set_inconsistent].
# Grouping
Check 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.
Grouped check buttons use a different indicator, and are commonly referred
to as *radio buttons*.
![Example GtkCheckButtons](radio-button.png)
To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group].
# CSS nodes
```
checkbutton[.text-button]
├── check
╰── [label]
```
A `GtkCheckButton` has a main node with name checkbutton. If the
[property@Gtk.CheckButton:label] or [property@Gtk.CheckButton:child]
properties are set, it contains a child widget. The indicator node
is named check when no group is set, and radio if the checkbutton
is grouped together with other checkbuttons.
# Accessibility
`GtkCheckButton` uses the %GTK_ACCESSIBLE_ROLE_CHECKBOX role.
![Example GtkCheckButtons](check-button.png)
A `GtkCheckButton` is created by calling either [ctor@Gtk.CheckButton.new]
or [ctor@Gtk.CheckButton.new_with_label].
The state of a `GtkCheckButton` can be set specifically using
[method@Gtk.CheckButton.set_active], and retrieved using
[method@Gtk.CheckButton.get_active].
# Inconsistent state
In addition to "on" and "off", check buttons can be an
"in between" state that is neither on nor off. This can be used
e.g. when the user has selected a range of elements (such as some
text or spreadsheet cells) that are affected by a check button,
and the current values in that range are inconsistent.
To set a `GtkCheckButton` to inconsistent state, use
[method@Gtk.CheckButton.set_inconsistent].
# Grouping
Check 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.
Grouped check buttons use a different indicator, and are commonly referred
to as *radio buttons*.
![Example GtkCheckButtons](radio-button.png)
To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group].
# CSS nodes
```
checkbutton[.text-button]
├── check
╰── [label]
```
A `GtkCheckButton` has a main node with name checkbutton. If the
[property@Gtk.CheckButton:label] or [property@Gtk.CheckButton:child]
properties are set, it contains a child widget. The indicator node
is named check when no group is set, and radio if the checkbutton
is grouped together with other checkbuttons.
# Accessibility
`GtkCheckButton` uses the %GTK_ACCESSIBLE_ROLE_CHECKBOX role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
Nested classes/interfaces inherited from class ch.bailu.gtk.gtk.Widget
Widget.OnDestroy, Widget.OnDestroyNotify, Widget.OnDirectionChanged, Widget.OnHide, Widget.OnKeynavFailed, Widget.OnMap, Widget.OnMnemonicActivate, Widget.OnMoveFocus, Widget.OnQueryTooltip, Widget.OnRealize, Widget.OnShow, Widget.OnStateFlagsChanged, Widget.OnTickCallback, Widget.OnUnmap, Widget.OnUnrealize
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gtk.Widget
SIGNAL_ON_DESTROY, SIGNAL_ON_DIRECTION_CHANGED, SIGNAL_ON_HIDE, SIGNAL_ON_KEYNAV_FAILED, SIGNAL_ON_MAP, SIGNAL_ON_MNEMONIC_ACTIVATE, SIGNAL_ON_MOVE_FOCUS, SIGNAL_ON_QUERY_TOOLTIP, SIGNAL_ON_REALIZE, SIGNAL_ON_SHOW, SIGNAL_ON_STATE_FLAGS_CHANGED, SIGNAL_ON_UNMAP, SIGNAL_ON_UNREALIZE
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionImplements interfaceAccessible
.Implements interfaceActionable
.Implements interfaceBuildable
.Implements interfaceConstraintTarget
.boolean
Returns whether the check button is active.getChild()
Gets the child widget of @button or `NULL` if [property@CheckButton:label] is set.static ClassHandler
boolean
Returns whether the check button is in an inconsistent state.static int
getLabel()
Returns the label of the check button or `NULL` if [property@CheckButton:child] is set.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
boolean
Returns whether underlines in the label indicate mnemonics.static CheckButton
newWithLabelCheckButton
(Str label) Creates a new `GtkCheckButton` with the given text.static CheckButton
newWithLabelCheckButton
(String label) Creates a new `GtkCheckButton` with the given text.static CheckButton
newWithMnemonicCheckButton
(Str label) Creates a new `GtkCheckButton` with the given text and a mnemonic.static CheckButton
newWithMnemonicCheckButton
(String label) Creates a new `GtkCheckButton` with the given text and a mnemonic.onActivate
(CheckButton.OnActivate signal) Connect to signal "activate".onToggled
(CheckButton.OnToggled signal) Connect to signal "toggled".void
setActive
(boolean setting) Changes the check buttons active state.void
Sets the child widget of @button.void
setGroup
(CheckButton group) Adds @self to the group of @group.void
setInconsistent
(boolean inconsistent) Sets the `GtkCheckButton` to inconsistent state.void
Sets the text of @self.void
Sets the text of @self.void
setUseUnderline
(boolean setting) Sets whether underlines in the label indicate mnemonics.Methods inherited from class ch.bailu.gtk.gtk.Widget
actionSetEnabled, actionSetEnabled, activate, activateAction, activateAction, activateActionVariant, activateActionVariant, activateDefault, addController, addCssClass, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getCanFocus, getCanTarget, getChildVisible, getClipboard, 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, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeCssClass, removeMnemonicLabel, removeTickCallback, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipMarkup, setTooltipText, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, snapshotChild, triggerTooltipQuery, unmap, unparent, unrealize, unsetStateFlags
Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
SIGNAL_ON_ACTIVATE
- See Also:
-
SIGNAL_ON_TOGGLED
- See Also:
-
-
Constructor Details
-
CheckButton
-
CheckButton
public CheckButton()Creates a new `GtkCheckButton`.
-
-
Method Details
-
getClassHandler
-
newWithLabelCheckButton
Creates a new `GtkCheckButton` with the given text.- Parameters:
label
- the text for the check button.- Returns:
- a new `GtkCheckButton`
-
newWithLabelCheckButton
Creates a new `GtkCheckButton` with the given text.- Parameters:
label
- the text for the check button.- Returns:
- a new `GtkCheckButton`
-
newWithMnemonicCheckButton
Creates a new `GtkCheckButton` with the given text and a mnemonic.- Parameters:
label
- The text of the button, with an underscore in front of the mnemonic character- Returns:
- a new `GtkCheckButton`
-
newWithMnemonicCheckButton
Creates a new `GtkCheckButton` with the given text and a mnemonic.- Parameters:
label
- The text of the button, with an underscore in front of the mnemonic character- Returns:
- a new `GtkCheckButton`
-
getActive
public boolean getActive()Returns whether the check button is active.- Returns:
- whether the check button is active
-
getChild
Gets the child widget of @button or `NULL` if [property@CheckButton:label] is set.- Returns:
- the child widget of @button
-
getInconsistent
public boolean getInconsistent()Returns whether the check button is in an inconsistent state.- Returns:
- %TRUE if @check_button is currently in an inconsistent state
-
getLabel
Returns the label of the check button or `NULL` if [property@CheckButton:child] is set.- Returns:
- The label @self shows next to the indicator. If no label is shown, %NULL will be returned.
-
getUseUnderline
public boolean getUseUnderline()Returns whether underlines in the label indicate mnemonics.- Returns:
- The value of the [property@Gtk.CheckButton:use-underline] property. See [method@Gtk.CheckButton.set_use_underline] for details on how to set a new value.
-
setActive
public void setActive(boolean setting) Changes the check buttons active state.- Parameters:
setting
- the new value to set
-
setChild
Sets the child widget of @button.
Note that by using this API, you take full responsibility for setting
up the proper accessibility label and description information for @button.
Most likely, you'll either set the accessibility label or description
for @button explicitly, or you'll set a labelled-by or described-by
relations from @child to @button.- Parameters:
child
- the child widget
-
setGroup
Adds @self to the group of @group.
In a group of multiple check buttons, only one button can be active
at a time. The behavior of a checkbutton in a group is also commonly
known as a *radio button*.
Setting the group of a check button also changes the css name of the
indicator widget's CSS node to 'radio'.
Setting up groups in a cycle leads to undefined behavior.
Note that the same effect can be achieved via the [iface@Gtk.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
- another `GtkCheckButton` to form a group with
-
setInconsistent
public void setInconsistent(boolean inconsistent) Sets the `GtkCheckButton` to inconsistent state.
You shoud turn off the inconsistent state again if the user checks
the check button. This has to be done manually.- Parameters:
inconsistent
- %TRUE if state is inconsistent
-
setLabel
Sets the text of @self.
If [property@Gtk.CheckButton:use-underline] is %TRUE, an underscore
in @label is interpreted as mnemonic indicator, see
[method@Gtk.CheckButton.set_use_underline] for details on this behavior.- Parameters:
label
- The text shown next to the indicator, or %NULL to show no text
-
setLabel
Sets the text of @self.
If [property@Gtk.CheckButton:use-underline] is %TRUE, an underscore
in @label is interpreted as mnemonic indicator, see
[method@Gtk.CheckButton.set_use_underline] for details on this behavior.- Parameters:
label
- The text shown next to the indicator, or %NULL to show no text
-
setUseUnderline
public void setUseUnderline(boolean setting) Sets whether underlines in the label indicate mnemonics.
If @setting is %TRUE, an underscore character in @self's label
indicates a mnemonic accelerator key. This behavior is similar
to [property@Gtk.Label:use-underline].- Parameters:
setting
- the new value to set
-
onActivate
Connect to signal "activate".
SeeCheckButton.OnActivate.onActivate()
for signal description.
FieldSIGNAL_ON_ACTIVATE
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
onToggled
Connect to signal "toggled".
SeeCheckButton.OnToggled.onToggled()
for signal description.
FieldSIGNAL_ON_TOGGLED
contains original signal name and can be used as resource reference.- Parameters:
signal
- callback function (lambda).- Returns:
SignalHandler
. Can be used to disconnect signal and to release callback function.
-
asAccessible
Implements interfaceAccessible
. Call this to get access to interface functions.- Overrides:
asAccessible
in classWidget
- Returns:
Accessible
-
asActionable
Implements interfaceActionable
. Call this to get access to interface functions.- Returns:
Actionable
-
asBuildable
Implements interfaceBuildable
. Call this to get access to interface functions.- Overrides:
asBuildable
in classWidget
- Returns:
Buildable
-
asConstraintTarget
Implements interfaceConstraintTarget
. Call this to get access to interface functions.- Overrides:
asConstraintTarget
in classWidget
- Returns:
ConstraintTarget
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-