DynamicGravitySystems / DGP

Dynamic Gravity Processor
http://dgp.readthedocs.io/en/develop/
Apache License 2.0
7 stars 4 forks source link

Feature/gui improvements #56

Closed bradyzp closed 6 years ago

bradyzp commented 6 years ago

Merging a number of GUI and back-end improvements into develop in preparation to integrate and continue development on the data Transform feature branch.

Major Changes/Improvements

  1. Improved GPS/Gravity Data Import Dialog: Completely re-written dialog which more intuitively allows the user to import and preview data files. Supports automatic detection of CSV header rows, and ability to select predefined column sets.
  2. Rewrote file loader thread method for better modularity/reusability. Loader method can now be directly supplier to the LoaderThread, and any kwargs are supplied on run. Static factory methods to create GPS/Gravity loaders are supplied for ease of use.
  3. UI/resource cleanup: Qt resource (.qrc) restructured, new icons added. Dialogs are now compiled from their .ui source files into Python classes (utility module provided to execute this automatically).
  4. Testing. Some tests added for GUI components, basic test coverage for the new Data Import Dialog. Tests added for the prototype StackedAxesManager plotting class (to be implemented in future). Added tests for loader.py
  5. Build: Enabled support in Travis.ci for UnitTests requiring a screen target (GUI/Matplotlib). Added script hook in .travis.yml to compile .ui files before run.
  6. Refactoring/Cleanup: Replaced Line Label dialog with builtin Qt QInputDialog to remove dependence on extra .ui file and dialog code. Also updated various UI files to remove static pixel values, improving display on high-resolution displays.
  7. Performance: Improved performance when resizing the main window or dock panels by disabling re-draws of the plotter canvas until the resize has completed (timer based).
cbertinato commented 6 years ago

Running from command line python -m dgp:

Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/chrisbert/Documents/Git/DGP/dgp/__main__.py", line 10, in <module>
    from dgp.gui.splash import SplashScreen
  File "/Users/chrisbert/Documents/Git/DGP/dgp/gui/splash.py", line 14, in <module>
    from dgp.gui.main import MainWindow
  File "/Users/chrisbert/Documents/Git/DGP/dgp/gui/main.py", line 25, in <module>
    from dgp.gui.dialogs import (AddFlightDialog, CreateProjectDialog,
  File "/Users/chrisbert/Documents/Git/DGP/dgp/gui/dialogs.py", line 21, in <module>
    from dgp.gui.ui import add_flight_dialog, advanced_data_import, edit_import_view, project_dialog
ImportError: cannot import name 'add_flight_dialog'