SGPro would run significantly faster if the code for loading the data for a sequence, and for loading the events was decoupled from the UI.
Currently, when copying events from one target to another, it’s possible to see this happening visually. As this is the case, it means that the code is closely coupled. The performance of the copy functions are impacted by having to render UI Components - which may not be needed.
Rather than have the UI components created at load time, it would make more sense to only create them when needed, i.e. you select the target to view the events for that target.
When copying the items from one target to another disable the UI updates on the destination target until after the copy process has been completed.
You could load the UI components when the target is selected, and then delete them if the target is changed. the delete could be a quick delete of all objects when the UI is not currently visible on screen. When it is needed, the disabled UI will allow the code to run faster without the need to redraw the screen until the processing has completed.
This will allow SGPro to be easily used to capture large mosaics, or have many different targets present in the same sequence.