Skip to content

Implement timePointListeners() for AbstractViewerPanel harmonization#30

Merged
tpietzsch merged 2 commits into
bigdataviewer:masterfrom
NicoKiaru:harmonize-abstract-viewer-panel
Mar 1, 2026
Merged

Implement timePointListeners() for AbstractViewerPanel harmonization#30
tpietzsch merged 2 commits into
bigdataviewer:masterfrom
NicoKiaru:harmonize-abstract-viewer-panel

Conversation

@NicoKiaru
Copy link
Copy Markdown
Contributor

@NicoKiaru NicoKiaru commented Feb 19, 2026

Summary

Companion PR to #27 ; implements the new timePointListeners() abstract method from AbstractViewerPanel so that BVV's VolumeViewerPanel satisfies the unified interface.

  • Replace CopyOnWriteArrayList<TimePointListener> with Listeners.SynchronizedList (matches BDV's pattern)
  • Add timePointListeners() returning Listeners<TimePointListener>
  • Deprecate addTimePointListener()/removeTimePointListener() as wrappers
  • Add @Override on existing getConverterSetups()
  • Update BvvHandle.remove() to use viewer.timePointListeners().remove(l)

Requires bigdataviewer-core with the harmonized AbstractViewerPanel (the companion PR above).

Files changed

  • VolumeViewerPanel.java — listener refactor + new method + deprecations
  • BvvHandle.java — one-line update in remove()

NicoKiaru and others added 2 commits March 1, 2026 11:41
  Replace CopyOnWriteArrayList<TimePointListener> with
  Listeners.SynchronizedList to match BDV's pattern. Deprecate
  addTimePointListener()/removeTimePointListener() in favor of the
  new timePointListeners() method.

  Companion to bigdataviewer/bigdataviewer-core#216
Use the new SynchronizedViewerState instead of the deprecated
bdv.viewer.state.ViewerState.

In general, try to make VolumneViewerPanel more similar to ViewerPanel.
In particular, revise synchronization and animator handling.
@tpietzsch tpietzsch force-pushed the harmonize-abstract-viewer-panel branch from e29432a to 8592a50 Compare March 1, 2026 10:42
@tpietzsch tpietzsch merged commit 0cd5fdf into bigdataviewer:master Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants