Over the past 4 weeks, the GUI has been continuously enhanced with new features. I’ve summarized the key features in this blog post.
Design
The GUI features a slightly updated design. The three main sections—’model input’, ‘model control’, and ‘log output’—are now better distinguished from one another. Advanced options are grayed out and can be enabled with a checkbox. There’s also a menu bar providing additional information on the current version, documentation, and licensing.
Restart Mode Overhaul
The restart mode is now managed in the GUI through a new text file with the .splashconfig extension. This file holds all the necessary information to resume an iteration from where it was interrupted and is created with each file output. The relevant settings are loaded directly into the GUI, and SplashTool is launched accordingly. Consequently, the old script-based restart mode is no longer available in this version. If needed, individual options must be manually set using the appropriate set-methods in the script.
Interactive GUI
The iteration now runs in a new thread, preventing the GUI from freezing. Users can manually stop the iteration at any time. Output files, including a .splashconfig file for the last iteration step, are still generated before the iteration concludes.
Logging
Previously, console outputs were handled simply through ‘print’ statements. This has been replaced with the Python logging module, which now manages outputs in both the GUI console window and a new log file. The logger is initialized in the new main file ‘SplashTool.py’. The GUI, manager, and model all log as submodules to this same logger, meaning both the manager and model are impacted by this update.
Script-based usage of the manager and model remains possible. The main file for this purpose has been updated to accommodate the new logging structure and is now named ‘splashtool_script_example.py’.