vipster icon indicating copy to clipboard operation
vipster copied to clipboard

[Qt Frontend] Improve architecture

Open sgsaenger opened this issue 1 year ago • 0 comments

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 avatar Feb 04 '23 15:02 sgsaenger