RegisterStudy

One could have an initialization section that registers several studies on the study list.   From then on clicking the title on the study panel will set the who value that was registered for the study, and call ESPL with the who value set.

Example:

begin
  if who = 1 then begin
    RegisterStudy('Jakes Secret',150);
    RegisterStudy('Modified RSI',151);
    RegisterStudy('Accum Swing',152);
  end;

  if who = 150 then JeffSecret;
  if who = 151 then ModRSI;
  if who = 152 then SwingIt;
end;

When you first run Ensign Windows, the study list will be the regular list with just the built in studies.  You click button 1 or menu 1 to do the initialization, and then when you look at the study list it shows 3 new entries.   On a chart you can add your ESPL study by clicking on the name from the study list.   In this example, I have not written the procedures that implement the study.  I am only showing the structure of how the Who tests might be made in the Main Program begin..end block for processing studies that have been registered.