AutoFlowResearch / SmartPeak

Fast and Accurate CE-, GC- and LC-MS(/MS) Data Processing
MIT License
43 stars 13 forks source link

Feat/aut1004 - Save layout in session #452

Closed bertrandboudaud closed 2 years ago

bertrandboudaud commented 2 years ago

An interface has been introduced, IPropertiesHandler, and each class inheriting from this can describe the properties that can be serialized in the session DB.

The session DB can both read and write IPropertiesHandler.

The SessionLoaderGenerator is a class that will construct the loading workflow to be able to load the computed features when restoring the session.

SetInputOutputWidget is a widget that allows the user to change the mzml, feature in, and feature output directories. this widget is used as another step in the LoadSessionWizard. very similar to the RunWorkflowWidget we could at some point factorize it (the role though is quite different).

ExplorerWidget has been moved in a separated, dedicated file.

SplitWindow is a class that holds the WindowSizesAndPos class as well as the list of top, bottom, left, and right windows.

bertrandboudaud commented 2 years ago

From the review, it looks like that was quite a bit of work! Very nice!

In addition to the comments that I left, it looks like several of the new classes/methods do not have matching unit tests. If unit tests are appropriate, it would be great to include them in this PR. We can always hold off on additional sprint items if this takes more time than expected.

I had fixed all your comment please see the last commits. Yes maybe some methods are missing tests. However I made a verification that most of them and the most important are covered. I would go like this and have a second round If you agree.