-
Notifications
You must be signed in to change notification settings - Fork 1
Loading Screen and Progress Tracker
The class NonEntailmentExplanationLoadingScreenManager is responsible for showing the loading and cancellation screen to the user. Once the computation of a non-entailment explanation is started, the manager displays a Loading Screen. The loading screen shows a message string and a progress bar to the user. The computation can be cancelled by clicking the button Cancel on the loading screen or by just closing the window. If the user does this, the loading screen manager next displays a Cancellation Screen. Note that this screen cannot be closed by the user.
The class NonEntailmentExplanationLoadingScreenManager implements the interfaces IExplanationLoadingScreenEventListener and IExplanationLoadingScreenEventGenerator (found in evee-protege-core). Through the interface IExplanationLoadingScreenEventListener, the loading screen manager can listen for events created by an object of the class NonEntailmentExplanationProgressTracker. This progress tracker is created right before the computation is started and handed to the explanation service. The tracker implements the interface IProgressTracker (found in evee-data). Through the methods setMessage, setProgress, setMax and done of this interface, the explanation service can update the information displayed on the loading screen. Through the interface IExplanationLoadingScreenEventGenerator, the loading screen manager can forward the cancellation to the NonEntailmentViewComponent, which in turn will forward this information to the explanation service.
Both the loading and cancellation screen use the modality type document modal of Java, meaning that they block any user interaction from outside the loading or cancellation dialog. This avoids users from slowing down the explanation generation by interacting with Protégé, and from starting multiple explanation generation processes at once.