Synchronizing Events
Use
The multiplexer makes it possible for events to be sent automatically from one graphic to another without involving the application.
Prerequisites
The application must ensure that the leading server graphics proxy (in the back end) receives the events to be synchronized from the front end. This means that the application must give the graphics proxy the event for registration even if the application itself is not interested in this event (that is, the application does not implement an event handler).
Process
The application sends synchronization jobs to the multiplexer specifying for which event a certain graphics proxy is the event-sending (leading server) proxy and which graphics proxies are the receiving (subordinate server) proxies. Every graphics proxy sends each event it receives to the multiplexer for synchronization. If there is no synchronization job the event is sent to the graphics proxy which sends it to the application. If there is a synchronization job then the event is automatically sent to the relevant subordinate server graphics proxies.
1x: First the application sends the synchronization job to the multiplexer.
1: The graphic is changed (for example, the user scrolls the axis) and the graphic sends a GUI event to its GP, the leading server proxy.
2: The standardized event, along with its parameters, is sent to the multiplexer. An example of a parameter would be the new starting point after scrolling.
3: The GP <GP2> is informed of the change. It is known as the subordinate server GP. There can be several of them.
3a: This is a method call sent to the graphic of <GP2> to synchronize this graphic with the first one.
4+5: In the synchronization job it is specified whether the application is to be informed of the event and if so whether before or after synchronization. If the application is to be informed of the event GRAPHIC_SCROLLED then <GP1> carries this out.
For an example, see Example: Synchronizing Events.
Result
All the graphics proxies specified as subordinate server proxies in the synchronization job receive the same event as the graphic proxy that created/raised the event.