// ************************************************************************************************ // // BornAgain: simulate and fit reflection and scattering // //! @file GUI/View/Sample/SampleEditor.h //! @brief Defines class SampleEditor. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) //! @copyright Forschungszentrum Jülich GmbH 2021 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) // // ************************************************************************************************ #ifndef BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H #define BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H #include <QMap> #include <QScrollArea> class Item3D; class SampleEditorController; class SampleForm; class SampleItem; //! Sample editor with layer oriented presentation of a sample class SampleEditor : public QScrollArea { Q_OBJECT public: SampleEditor(); ~SampleEditor() override; void setCurrentSample(SampleItem* sampleItem); signals: void requestViewInRealspace(Item3D* itemToShow); void requestCreateNewSample(); void aboutToRemoveItem(Item3D* item); void modified(); private: void createLayerColors(); SampleForm* m_currentSampleWidget; SampleItem* m_currentSample = nullptr; QMap<SampleItem*, SampleEditorController*> m_editControllers; }; #endif // BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H