This folder contains files related to the ForceBalance GUI

Contents:
    app.py  -   Main GUI window
    elements.py -   GUI elements that exist within the main window
    objects.py  -   Lower level objects representing things in the forcebalance calculation
                    These don't actually appear on screen but are read by things in elements.py
    __main__.py -   Script to initiate GUI main event loop
                    (currently also opens a study automatically to streamline testing)

Basic usage:
You can call the GUI implementation directly from the command line using
python -m forcebalance.gui

Currently implemented widgets:
-ObjectViewer lists currently implemented objects that have been loaded as a calculation

-DetailViewer takes a selected object in an associated ObjectViewer and prints the output of
object.display() to a text widget

-ConsoleViewer uses the provided ConsolePaneHandler to send log records to a text widget. To function,
a ConsoleViewer needs to be attached to a Handler, and the Handler should be added to a logging source

TODO:
Allow editing of calculation options, targets, etc
Document code to make it more understandable
Add interactive console to allow running python commands in the forcebalance environment.
