Skip to content

Comments

Implement timePointListeners() for AbstractViewerPanel harmonization#30

Open
NicoKiaru wants to merge 3 commits intobigdataviewer:masterfrom
NicoKiaru:harmonize-abstract-viewer-panel
Open

Implement timePointListeners() for AbstractViewerPanel harmonization#30
NicoKiaru wants to merge 3 commits intobigdataviewer:masterfrom
NicoKiaru:harmonize-abstract-viewer-panel

Conversation

@NicoKiaru
Copy link

@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()

  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.
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