Module-wide satellite selection in Gpredict

Up until now, users of Gpredict could click on a satellite in any view to make that satellite selected. For most views, selecting a satellite meant highlighting it and showing some additional info about it, or for the case of single satellite view to display the data for that satellite. In case you are not familiar with the terms module and view in Gpredict, a module is a logical object which groups a number of satellites and a ground station together, while views are the display widgets used to visualize the satellite data in different ways like map, list, polar plot, etc. A module can have any number of views laid out in a grid.

Some users found it strange that selecting a satellite in one view had no effect in other views. In other words, different views could have different satellite selected and in order to have the same satellite selected in all views the user had to select that satellite in each view. We have received several requests for linking the views together such that actions in one view would have effect in another view. See for example this or this discussion.

While these request may make perfect sense from the users point of view, linking the views together would require significant rewrite of the core functionality in Gpredict and also break some of the fundamental design concepts that were applied in the early days. The fact that the views in a module are decoupled from each other is intentional and views don’t know anything about each other at all. Sending information from one view to the other views would require rethinking of the whole concept about how modules and views exist and what they can do.

Furthermore, the possibility to have different views have different selection was also an intentional feature built in from the beginning. I often have many single satellite views in the same module showing the tracking data for different satellites as show on the screen shot below. For such configurations it is of great advantage to be able to select a different satellite in each view.


Therefore, I have decided to try something less invasive that still provides some support for selecting the same satellite in all views at the same time. I introduced a module level function called “Select satellite” that is accessible from the module menu in the upper right corner:

Selecting a satellite here will instruct all views in the module to select that satellite. For the map, list, polar and event views this corresponds to clicking on a satellite. For the single satellite view this is the same as clicking the view menu and selecting the satellite to show the tracking data for. The user can still select a different satellite in each view individually; that part has not changed and works at it used to.

I hope this will provide a sufficient compromise instead of the requested functionality.