DynamicGravitySystems / DGP

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

Feature/#48 plotter #53

Closed bradyzp closed 6 years ago

bradyzp commented 6 years ago

Resolves #48

Re-write of plotter.py Also some significant updates to models.py code for the ChannelListModel, improving some of the drag-n-drop logic.

Added a mock interface for the Transform tab, displaying a plot and an example UI layout for the Transform selection tree.

Added significant documentation across modules: plotter.py, models.py, and types.py

cbertinato commented 6 years ago

When adding a flight to a new project:

File "/Users/chrisbert/Documents/Git/DGP/dgp/gui/widgets.py", line 101, in _init_model
    plot_model = models.ChannelListModel(channels, len(self._plot))
TypeError: object of type 'LineGrabPlot' has no len()
cbertinato commented 6 years ago

These are all minor with regard to the overall functionality, so if you want to make these new issues instead of including them in this PR, then I'm ok with that.

1) When a label is removed (by setting label with an empty string) the current behavior is to display 'None'. I suggest we catch this case and display an empty string.

2) Another thing that may not have been in the original functionality before the refactoring: when zoomed and moving a patch, the label stays centered with the patch. This is a question of desired behavior. Do we keep the label centered with the part of the patch that is visible if not all of the patch is within the axes?

3) When a label is set, the patch remains invisible until the mouse pointer moves.

4) When a user zooms into a patch with a label, then the label does not re-center on the patch only in the axes in which the zoom action occurred until another action is taken.

5) Labels are behind channel traces in some cases. Need to probe more to determine the conditions for this behavior.