Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standard use-case refactor #7

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Standard use-case refactor #7

wants to merge 6 commits into from

Conversation

javierggt
Copy link
Contributor

@javierggt javierggt commented Dec 9, 2024

Description

This is basically a refactoring of the current aperoll app to evaluate difficult star views.

The only major change in the UI is the addition of the ProsecoParams class. This is a small json editor where one can change most of the standard arguments to proseco.

The other changes are a restructuring of the code. The reason for this is that the code was very hard to understand. It was easier to write from scratch. Roughly, these changes are:

  • new classes (ProsecoView, ProsecoData, ProsecoParams) replace the MainWindow and Parameters classes. Basically the same functionality in a better structure.
  • move some functionality into a new ProsecoData class to deal with calls to proseco and sparkles, cache the results and export to file. This used to be in MainWindow.
  • move some functionality from the old Parameters class into ProsecoParams
  • move the rest of functionality from the old MainWindow and Parameters classes into the new ProsecoView class.

Doing this, I found cases where Qt signals would cause infinite recursion and fixed that. In other cases, the logic in the signals was not clear (a signal triggers a signal, which triggers another, so the dependence is not clear and makes the code hard to understand).

Another change is the addition of the AttitudeWidget (which could have been called QuaternionWidget) used to display a quaternion in different representations (and properly handle the signals when contents change).

Interface impacts

Testing

Unit tests

  • No unit tests
  • Mac
  • Linux
  • Windows

Independent check of unit tests by [REVIEWER NAME]

  • [PLATFORM]:

Functional tests

No functional testing.

@javierggt javierggt force-pushed the std-case-refactor branch 2 times, most recently from 25010c3 to 2a88517 Compare January 28, 2025 20:09
Base automatically changed from new-items to main January 28, 2025 21:17
… aperoll.widgets.parameters into a new module aperoll.widgets.line_edit and aperoll.utils
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant