Class ButtonContent
- All Implemented Interfaces:
Accessible, Buildable, ConstraintTarget, Proxy
A helper widget for creating buttons.
AdwButtonContent is a box-like widget with an icon and a label.
It's intended to be used as a direct child of Button,
MenuButton or SplitButton, when they need to have both an
icon and a label, as follows:
<object class="GtkButton">
<property name="child">
<object class="AdwButtonContent">
<property name="icon-name">document-open-symbolic</property>
<property name="label" translatable="yes">_Open</property>
<property name="use-underline">True</property>
</object>
</property>
</object>
AdwButtonContent handles style classes and connecting the mnemonic to the
button automatically.
CSS nodes
buttoncontent
╰── box
├── image
╰── label
AdwButtonContent's CSS node is called buttoncontent. It contains a box
subnode that serves as a container for the image and label nodes.
When inside a GtkButton or AdwSplitButton, the button will receive the
.image-text-button style class. When inside a GtkMenuButton, the
internal GtkButton will receive it instead.
Accessibility
AdwButtonContent uses the Gtk.AccessibleRole.group role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classButtonContent.Builder<B extends ButtonContent.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested 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 Buildable
Buildable.Buildable$Impl, Buildable.BuildableIfaceNested classes/interfaces inherited from interface ConstraintTarget
ConstraintTarget.ConstraintTarget$Impl, ConstraintTarget.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new ButtonContent.ButtonContent(MemorySegment address) Create a ButtonContent instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ButtonContentasParent()Return this instance as if it were its parent type.static ButtonContent.Builder<? extends ButtonContent.Builder> builder()AButtonContent.Builderobject constructs aButtonContentwith the specified properties.booleangets whether the button can be smaller than the natural size of its contents.Gets the name of the displayed icon.getLabel()Gets the displayed label.static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the ButtonContent class.booleanGets whether an underline in the text indicates a mnemonic.voidsetCanShrink(boolean canShrink) Sets whether the button can be smaller than the natural size of its contents.voidsetIconName(String iconName) Sets the name of the displayed icon.voidSets the displayed label.voidsetUseUnderline(boolean useUnderline) Sets whether an underline in the text indicates a mnemonic.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 Buildable
getBuildableId
-
Constructor Details
-
ButtonContent
Create a ButtonContent instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
ButtonContent
public ButtonContent()Create a new ButtonContent.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code. -
getCanShrink
public boolean getCanShrink()gets whether the button can be smaller than the natural size of its contents.- Returns:
- whether the button can shrink
- Since:
- 1.4
-
getIconName
-
getLabel
-
getUseUnderline
public boolean getUseUnderline()Gets whether an underline in the text indicates a mnemonic.- Returns:
- whether an underline in the text indicates a mnemonic
-
setCanShrink
public void setCanShrink(boolean canShrink) Sets whether the button can be smaller than the natural size of its contents.
If set to
TRUE, the label will ellipsize.See Button#setCanShrink.
- Parameters:
canShrink- whether the button can shrink- Since:
- 1.4
-
setIconName
Sets the name of the displayed icon.
If empty, the icon is not shown.
- Parameters:
iconName- the new icon name
-
setLabel
-
setUseUnderline
public void setUseUnderline(boolean useUnderline) Sets whether an underline in the text indicates a mnemonic.
The mnemonic can be used to activate the parent button.
See
ButtonContent:label.- Parameters:
useUnderline- whether an underline in the text indicates a mnemonic
-
builder
AButtonContent.Builderobject constructs aButtonContentwith the specified properties. Use the variousset...()methods to set properties, and finish construction withButtonContent.Builder.build().- Returns:
- the builder object
-