Broadcast system
All windows, dialogs and dialog controls
in 59+ Log use the
broadcast system to communicate with each other and to retrieve database records.
You do not need to know
anything about the broadcast system to start working with the log. It
nevertheless can give
you a better idea about how 59+ Log works internally, can help you to understand why
the program acts one way or another and to predict what effect a certain action
from your side would have on the system.
When you go from one QSO to
another using the navigator, hotkeys or when scrolling the main grid contents, most
windows update themselves showing data of active QSOs.
The broadcast system
monitors the DB cursor - a pointer that references an active QSO in the
database. The broadcast system is responsible for receiving information about
changes such as QSO creation, removal, modification and DB cursor changes. The
broadcast system also registers window (dialogs and grids) interested in
receiving information about such changes.
These windows
receive messages from the broadcast system:
The following image shows
how events are broadcasted and how changes are made in the database

Every
change (QSO modification, creation, removal etc.) is done in the broadcast
system by the COM module that communicates with the database engine only once no matter who initiated the change. As soon as a window is
registered with the broadcast system it starts communicating with the database -
sending and receiving messages and so on.
For example, when the user
changes a call sign in the QSO edit dialog the dialog sends a message to the
broadcast system. The award manager then recalculates values for dependent
awards and tells the COM module what changes have to be made to the QSO pointed
to by the DB cursor. The COM module modifies actual data in the database and, if
successful, informs the broadcast system. The broadcast system then sends a
message to all registered windows. QSO edit dialog receives the message as well
and updates call edit box and all changed award fields.