However: I would like to discuss & design a way of using SciJava’s UI-agnostic event mechanism for UI actions. That way, every table viewer implementation would fire the same SciJava events on the EventService , and you could listen for them, without worrying about whether it is a Swing-based UI or not.
Would this be something worth considering?
add a TableSelectionModel in scijava-table
publish TableSelectionChangedEvent(TableSelectionModel model, Table source) from the SwingTableDisplayPanel in scijava-swing-ui via EventService
.. this way I can load a GenericTable table, display it via UIService and filter TableSelectionChangedEvents by event.source == table.
Could this work bi-directional? I could publish my own TableSelectionChangedEvent(myOwnTableSelectionModel, genericTable) the table UI would listen to that and adjust accordingly.
There could be a general SelectionModel<T> and a SelectionChangedEvent, but what would T be then in case of a TableSelectionModel? It should communicate which column and which row is selected, so it could be TableSelectionModel extends SelectionModel<Pair<Column, Integer>>...
Continuing the discussion in the forum, citing @ctrueden:
Would this be something worth considering?
TableSelectionModel
inscijava-table
TableSelectionChangedEvent(TableSelectionModel model, Table source)
from theSwingTableDisplayPanel
inscijava-swing-ui
viaEventService
.. this way I can load a
GenericTable table
, display it viaUIService
and filterTableSelectionChangedEvent
s byevent.source == table
.Could this work bi-directional? I could publish my own
TableSelectionChangedEvent(myOwnTableSelectionModel, genericTable)
the table UI would listen to that and adjust accordingly.There could be a general
SelectionModel<T>
and aSelectionChangedEvent
, but what wouldT
be then in case of aTableSelectionModel
? It should communicate which column and which row is selected, so it could beTableSelectionModel extends SelectionModel<Pair<Column, Integer>>
...