Feature #1653

Updated by pospelov about 4 years ago

Given issue contains a collection of user requests, observations discovered during Hamburg/Munich BornAgain tutorials in November. We can collect them here, discuss priorities and then form the list of normal issues.

h5. Provide a way to save fitted image into the file.

In FitView there is no any button (or right mouse click action) to save fitted image into the file.

h5. Implement platform independent crash handler.

There were quite some number of GUI's crashes (about 10-20 per 8 hours of tutorials). Our observation, is that users do not complain even in the course of tutorial and simply restart the application. The crash handler is required to show the stack trace and provide the button "Send report".

h5. Implement "Restore unsaved project" in the case of crashed GUI.

The simplest possibility is to save the project every few minutes into Untitled.pro.back file.

h5. Provide unddo/redo functionality.

This can be done first for sample construction. I think that we have to implement the full fledged "Command" pattern. This is not that complicated, since amount of actions we do with the model is not that high.

Commands: InsertItem, RemoveItem, SetItemProperty.
Every command will keep the pointer to the subject (SessionItem, the QVariant to change) and provide unndo functionality.

h5. Improve drag-and-drop construction of a MultiLayer.

Many users have been experiencing problems while dropping Layer on top of a MultiLayer. It will be already good to increase size of areas around a MultiLayer, were such drop is allowed.

h5. Provide the way to set external boolean map with masks to the detector plane.

User might already have a 2D map of booleans with masked detector channels.

h5. plot_utils.py doesn't work from ipython notebook

ba.plot_intensity_data(result) doesn't generate any embedded image when used from ipython notebook

h5. Revise IParameterized::printParameters and similar

* std output generated by IParameterized::printParameters doesn't appear in ipython notebook
* all std::cout usage in BornAgain should be revised and replaced with functions returning std::string
** Rename ISample::to_str to ISample::sampleTreeToString
** replace IParameterized::printParameters with ::parametersToString.

h5. Provide ISample with possibility to export parameter tree in Python dictionary

This is #1562. Implementing this issue would simplify "sample parameter tree" part of the tutorial.

h5. Improve MinimizerCatalogue::toString

While preparing advanced fitting tutorial realized that the existing MinimizerCatalogue::toString provide too little information.
It contains only the list of minimizers, but not the list of their available options.