Make it easier to use/call CIF functionality from code
Ideas:
- Some CIF tools have too much functionality in the application, making it difficult to use the functionality outside the application. It would be good to separate CIF applications from their functionality. E.g. separate the explorer from the explorer app, merger from merger app, etc.
- Functionality that uses the application framework must be invoked from an application framework registered thread. If execution as part of an application, all is taken care of. If invoked from other code, especially for third party tools that want to use e.g. CIF functionality such as the explorer or merger, this requires special care. It would be good to add a static helper function to allow running code even if not invoked from application framework context. E.g. add an
AppEnv.runAsApp
method, with aRunnable
argument, to register and unregister, set defaults settings for no side effects (crash reports, console printing, etc). This would make it possible to execute arbitrary code that uses the application framework, from a non-application framework context.