Class LinkButton
- All Implemented Interfaces:
Accessible,Actionable,Buildable,ConstraintTarget,Proxy
It is useful to show quick links to resources.
A link button is created by calling either LinkButton() or
withLabel(java.lang.String, java.lang.String). If using the former, the URI you
pass to the constructor is used as a label for the widget.
The URI bound to a GtkLinkButton can be set specifically using
setUri(java.lang.String).
By default, GtkLinkButton calls FileLauncher.launch(org.gnome.gtk.Window, org.gnome.gio.Cancellable, org.gnome.gio.AsyncReadyCallback) when the button
is clicked. This behaviour can be overridden by connecting to the
Gtk.LinkButton::activate-link signal and returning true from
the signal handler.
Shortcuts and Gestures
GtkLinkButton supports the following keyboard shortcuts:
Shift+F10orMenuopens the context menu.
Actions
GtkLinkButton defines a set of built-in actions:
clipboard.copycopies the url to the clipboard.menu.popupopens the context menu.
CSS nodes
GtkLinkButton has a single CSS node with name button. To differentiate
it from a plain GtkButton, it gets the .link style class.
Accessibility
GtkLinkButton uses the Gtk.AccessibleRole.link role.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional interface declaration of theActivateLinkCallbackcallback.static classLinkButton.Builder<B extends LinkButton.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class org.gnome.gtk.Button
Button.ActivateCallback, Button.ButtonClass, Button.ClickedCallbackNested 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.Actionable
Actionable.Actionable$Impl, Actionable.ActionableInterfaceNested 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.ConstraintTargetInterface -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new LinkButton.LinkButton(MemorySegment address) Create a LinkButton proxy instance for the provided memory address.LinkButton(String uri) Creates a newGtkLinkButtonwith the URI as its text. -
Method Summary
Modifier and TypeMethodDescriptionprotected LinkButtonasParent()Returns this instance as if it were its parent type.static LinkButton.Builder<? extends LinkButton.Builder> builder()ALinkButton.Builderobject constructs aLinkButtonwith the specified properties.booleanEmits the "activate-link" signal.static @Nullable TypegetType()Get the GType of the LinkButton classgetUri()Retrieves the URI of theGtkLinkButton.booleanRetrieves the “visited” state of theGtkLinkButton.Emitted each time theGtkLinkButtonis clicked.voidSetsurias the URI where theGtkLinkButtonpoints.voidsetVisited(boolean visited) Sets the “visited” state of theGtkLinkButton.static LinkButtonCreates a newGtkLinkButtoncontaining a label.Methods inherited from class org.gnome.gtk.Button
activate, clicked, emitActivate, emitClicked, fromIconName, getCanShrink, getChild, getHasFrame, getIconName, getLabel, getMemoryLayout, getUseUnderline, onActivate, onClicked, setCanShrink, setChild, setHasFrame, setIconName, setLabel, setUseUnderline, withLabel, withMnemonicMethods 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, 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.Actionable
getActionName, getActionTargetValue, setActionName, setActionTarget, setActionTargetValue, setDetailedActionNameMethods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
LinkButton
Create a LinkButton proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
LinkButton
Creates a newGtkLinkButtonwith the URI as its text.- Parameters:
uri- a valid URI
-
LinkButton
public LinkButton()Creates a new LinkButton.
-
-
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. -
withLabel
Creates a newGtkLinkButtoncontaining a label.- Parameters:
uri- a valid URIlabel- the text of the button- Returns:
- a new link button widget.
-
getUri
Retrieves the URI of theGtkLinkButton.- Returns:
- a valid URI. The returned string is owned by the link button and should not be modified or freed.
-
getVisited
public boolean getVisited()Retrieves the “visited” state of theGtkLinkButton.The button becomes visited when it is clicked. If the URI is changed on the button, the “visited” state is unset again.
The state may also be changed using
setVisited(boolean).- Returns:
trueif the link has been visited,falseotherwise
-
setUri
Setsurias the URI where theGtkLinkButtonpoints.As a side-effect this unsets the “visited” state of the button.
- Parameters:
uri- a valid URI
-
setVisited
public void setVisited(boolean visited) Sets the “visited” state of theGtkLinkButton.See
getVisited()for more details.- Parameters:
visited- the new “visited” state
-
onActivateLink
public SignalConnection<LinkButton.ActivateLinkCallback> onActivateLink(LinkButton.ActivateLinkCallback handler) Emitted each time theGtkLinkButtonis clicked.The default handler will call
FileLauncher.launch(org.gnome.gtk.Window, org.gnome.gio.Cancellable, org.gnome.gio.AsyncReadyCallback)with the URI stored inside theGtk.LinkButton:uriproperty.To override the default behavior, you can connect to the ::activate-link signal and stop the propagation of the signal by returning
truefrom your handler.- Parameters:
handler- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitActivateLink
public boolean emitActivateLink()Emits the "activate-link" signal. SeeonActivateLink(org.gnome.gtk.LinkButton.ActivateLinkCallback). -
builder
ALinkButton.Builderobject constructs aLinkButtonwith the specified properties. Use the variousset...()methods to set properties, and finish construction withLinkButton.Builder.build().- Returns:
- the builder object
-