Verified Owner
Top Description Fields Constructors Methods
org.jabref.gui.walkthrough.effects

public abstract sealed Class BaseWindowEffect

extends Object
permits Spotlight, FullScreenDarken, Ping
Class Inheritance
Known Direct Subclasses
org.jabref.gui.walkthrough.effects.FullScreenDarken, org.jabref.gui.walkthrough.effects.Ping, org.jabref.gui.walkthrough.effects.Spotlight
Imports
java.util.ArrayList, .List, javafx.scene.Node, .Scene, javafx.scene.layout.Pane, javafx.stage.Window, org.jabref.gui.walkthrough.utils.WalkthroughUtils, com.sun.javafx.scene.TreeShowingProperty, com.tobiasdiez.easybind.EasyBind, com.tobiasdiez.easybind.Subscription, org.jspecify.annotations.NonNull

Base class for walkthrough effects Spotlight, FullScreenDarken, and Ping.

Field Summary

Modifier and TypeField and Description
private final WalkthroughUtils.DebouncedInvalidationListener
protected final Pane
protected final List<com.tobiasdiez.easybind.Subscription>

Constructor Summary

AccessConstructor and Description
protected
BaseWindowEffect(@NonNull Pane
The pane where the effect will be applied. Usually obtained from javafx.stage.Window#getScene() and Scene#getRoot()
pane
)

Constructor for WalkthroughEffect.

Method Summary

Modifier and TypeMethod and Description
protected void
public void
detach()

The effect is no longer usable and permanently removed from the scene graph.

protected abstract void
hideEffect()

Hides the effect.

protected void
protected void
private void
protected abstract void
updateLayout()

Updates the layout of the effect.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

debouncedUpdaterback to summary
private final WalkthroughUtils.DebouncedInvalidationListener debouncedUpdater
paneback to summary
protected final Pane pane
subscriptionsback to summary
protected final List<com.tobiasdiez.easybind.Subscription> subscriptions

Constructor Detail

BaseWindowEffectback to summary
protected BaseWindowEffect(@NonNull Pane pane)

Constructor for WalkthroughEffect. No scene graph modification is done here. The effect is not attached to the pane until attach(Node) is called.

Parameters
pane:@NonNull Pane

The pane where the effect will be applied. Usually obtained from javafx.stage.Window#getScene() and Scene#getRoot()

Method Detail

cleanupListenersback to summary
protected void cleanupListeners()
detachback to summary
public void detach()

The effect is no longer usable and permanently removed from the scene graph. To use this effect again, you can ONLY create a new instance of BaseWindowEffect.

hideEffectback to summary
protected abstract void hideEffect()

Hides the effect. The WalkthroughEffect can still be shown again after this method is called by calling BaseWindowEffect#updateLayout(), either manually or due to a layout change in the pane or the target node.

setupListenersback to summary
protected void setupListeners(@NonNull Node node)
setupPaneListenersback to summary
protected void setupPaneListeners()
setupWindowListenersback to summary
private void setupWindowListeners(@NonNull Window window)
updateLayoutback to summary
protected abstract void updateLayout()

Updates the layout of the effect. This method is called whenever the pane or the target node (if any) changes its size or position.