Class Overlay
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
GtkOverlay
is a container which contains a single main child, on top
of which it can place “overlay” widgets.
The position of each overlay widget is determined by its
Gtk.Widget:halign
and Gtk.Widget:valign
properties. E.g. a widget with both alignments set to Align.START
will be placed at the top left corner of the GtkOverlay
container,
whereas an overlay with halign set to Align.CENTER
and valign set
to Align.END
will be placed a the bottom edge of the GtkOverlay
,
horizontally centered. The position can be adjusted by setting the margin
properties of the child to non-zero values.
More complicated placement of overlays is possible by connecting
to the Gtk.Overlay::get-child-position
signal.
An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes.
GtkOverlay as GtkBuildable
The GtkOverlay
implementation of the GtkBuildable
interface
supports placing a child as an overlay by specifying “overlay” as
the “type” attribute of a <child>
element.
CSS nodes
GtkOverlay
has a single CSS node with the name “overlay”. Overlay children
whose alignments cause them to be positioned at an edge get the style classes
“.left”, “.right”, “.top”, and/or “.bottom” according to their position.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Overlay.Builder<B extends Overlay.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static interface
Functional interface declaration of theGetChildPositionCallback
callback.Nested 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.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
-
Constructor Summary
ConstructorDescriptionOverlay()
Creates a newGtkOverlay
.Overlay
(MemorySegment address) Create a Overlay proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOverlay
(Widget widget) Addswidget
to this Overlay.protected Overlay
asParent()
Returns this instance as if it were its parent type.static Overlay.Builder
<? extends Overlay.Builder> builder()
AOverlay.Builder
object constructs aOverlay
with the specified properties.boolean
emitGetChildPosition
(Widget widget, Rectangle allocation) Emits the "get-child-position" signal.getChild()
Gets the child widget of this Overlay.boolean
getClipOverlay
(Widget widget) Gets whetherwidget
should be clipped within the parent.boolean
getMeasureOverlay
(Widget widget) Gets whetherwidget
's size is included in the measurement of this Overlay.static Type
getType()
Get the GType of the Overlay classEmitted to determine the position and size of any overlay child widgets.void
removeOverlay
(Widget widget) Removes an overlay that was added with gtk_overlay_add_overlay().void
Sets the child widget of this Overlay.void
setClipOverlay
(Widget widget, boolean clipOverlay) Sets whetherwidget
should be clipped within the parent.void
setMeasureOverlay
(Widget widget, boolean measure) Sets whetherwidget
is included in the measured size of this Overlay.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, 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, 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, unsetStateFlags
Methods 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, 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, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
-
Constructor Details
-
Overlay
Create a Overlay proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
Overlay
public Overlay()Creates a newGtkOverlay
.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, 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. -
addOverlay
Addswidget
to this Overlay.The widget will be stacked on top of the main widget added with
setChild(org.gnome.gtk.Widget)
.The position at which
widget
is placed is determined from itsGtk.Widget:halign
andGtk.Widget:valign
properties.- Parameters:
widget
- aGtkWidget
to be added to the container
-
getChild
Gets the child widget of this Overlay.- Returns:
- the child widget of this Overlay
-
getClipOverlay
Gets whetherwidget
should be clipped within the parent.- Parameters:
widget
- an overlay child ofGtkOverlay
- Returns:
- whether the widget is clipped within the parent.
-
getMeasureOverlay
Gets whetherwidget
's size is included in the measurement of this Overlay.- Parameters:
widget
- an overlay child ofGtkOverlay
- Returns:
- whether the widget is measured
-
removeOverlay
Removes an overlay that was added with gtk_overlay_add_overlay().- Parameters:
widget
- aGtkWidget
to be removed
-
setChild
Sets the child widget of this Overlay.- Parameters:
child
- the child widget
-
setClipOverlay
Sets whetherwidget
should be clipped within the parent.- Parameters:
widget
- an overlay child ofGtkOverlay
clipOverlay
- whether the child should be clipped
-
setMeasureOverlay
Sets whetherwidget
is included in the measured size of this Overlay.The overlay will request the size of the largest child that has this property set to
true
. Children who are not included may be drawn outside of this Overlay's allocation if they are too large.- Parameters:
widget
- an overlay child ofGtkOverlay
measure
- whether the child should be measured
-
onGetChildPosition
public SignalConnection<Overlay.GetChildPositionCallback> onGetChildPosition(Overlay.GetChildPositionCallback handler) Emitted to determine the position and size of any overlay child widgets.A handler for this signal should fill
allocation
with the desired position and size forwidget
, relative to the 'main' child ofoverlay
.The default handler for this signal uses the
widget
's halign and valign properties to determine the position and gives the widget its natural size (except that an alignment ofAlign.FILL
will cause the overlay to be full-width/height). If the main child is aGtkScrolledWindow
, the overlays are placed relative to its contents.- Parameters:
handler
- the signal handler- Returns:
- a signal handler ID to keep track of the signal connection
- See Also:
-
emitGetChildPosition
Emits the "get-child-position" signal. SeeonGetChildPosition(org.gnome.gtk.Overlay.GetChildPositionCallback)
. -
builder
AOverlay.Builder
object constructs aOverlay
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withOverlay.Builder.build()
.
-