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

[Qt Frontend] Improve architecture #54

Open
sgsaenger opened this issue Feb 4, 2023 · 0 comments
Open

[Qt Frontend] Improve architecture #54

sgsaenger opened this issue Feb 4, 2023 · 0 comments
Assignees

Comments

@sgsaenger
Copy link
Owner

sgsaenger commented Feb 4, 2023

The current architecture of the main Vipster frontend (vipster/gui/qt) is too convoluted and not maintainable.
Development of a new application architecture is performed on a branch https://github.com/sgsaenger/vipster/tree/architecture.

Acceptance criteria

  • All application state is handled via a separate class instance (Vipster::Application)
    • GUI classes and widgets should store only state required for rendering
    • All data (potentially) shared between widgets is stored in the application
  • event handling is done via Qt signals/slots
    • the BaseWidget class is removed
    • other implementations of triggerUpdate/updateWidget are removed
  • State is minimized during the conversion process, e.g.:
    • raw pointers should be removed in general (if possible)
    • widgets should access molecule data mostly (or only?) in the event handling process
  • Investigate off-loading time-consuming operations to threads
@sgsaenger sgsaenger self-assigned this Feb 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

1 participant