SilentSet.java
package swingtree;
import swingtree.style.ComponentBackend;
import javax.swing.JComponent;
final class SilentSet
{
private boolean _isOngoing = false;
static void run( JComponent component, Runnable set ) {
SilentSet state = ComponentBackend.powering(component).getOrSet(SilentSet.class, SilentSet::new);
boolean wasOngoing = state._isOngoing;
state._isOngoing = true;
try {
set.run();
} finally {
state._isOngoing = wasOngoing;
}
}
static boolean isOngoingFor( JComponent component ) {
return ComponentBackend.powering(component)
.get(SilentSet.class)
.map(state -> state._isOngoing)
.orElse(false);
}
}