BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
gui2::MaterialEditorWidget Class Reference

Widget to hold material table (MaterialTreeView) and all corresponding models and delegates. More...

Inheritance diagram for gui2::MaterialEditorWidget:
[legend]
Collaboration diagram for gui2::MaterialEditorWidget:
[legend]

Public Member Functions

 MaterialEditorWidget (QWidget *parent=nullptr)
 
 ~MaterialEditorWidget ()
 
MaterialSelectionModelselectionModel () const
 
void setModels (ApplicationModels *models)
 

Private Attributes

std::unique_ptr< ModelView::ViewModelDelegatem_delegate
 
MaterialModelm_materialModel {nullptr}
 
MaterialTreeViewm_materialView {nullptr}
 
MaterialSelectionModelm_selectionModel {nullptr}
 
std::unique_ptr< ModelView::ViewModelm_viewModel
 

Detailed Description

Widget to hold material table (MaterialTreeView) and all corresponding models and delegates.

Belongs to MaterialEditor.

Definition at line 38 of file materialeditorwidget.h.

Constructor & Destructor Documentation

◆ MaterialEditorWidget()

gui2::MaterialEditorWidget::MaterialEditorWidget ( QWidget *  parent = nullptr)

Definition at line 29 of file materialeditorwidget.cpp.

30  : QWidget(parent)
31  , m_materialView(new MaterialTreeView)
32  , m_delegate(std::make_unique<ModelView::ViewModelDelegate>())
33 {
34  auto layout = new QVBoxLayout;
35  layout->setContentsMargins(0, 0, 0, 0);
36  layout->addWidget(m_materialView);
37  setLayout(layout);
38  m_materialView->setItemDelegate(m_delegate.get());
39 }
MaterialTreeView * m_materialView
std::unique_ptr< ModelView::ViewModelDelegate > m_delegate

References m_delegate, and m_materialView.

◆ ~MaterialEditorWidget()

gui2::MaterialEditorWidget::~MaterialEditorWidget ( )
default

Member Function Documentation

◆ selectionModel()

MaterialSelectionModel * gui2::MaterialEditorWidget::selectionModel ( ) const

Definition at line 54 of file materialeditorwidget.cpp.

55 {
56  return m_selectionModel;
57 }
MaterialSelectionModel * m_selectionModel

References m_selectionModel.

Referenced by gui2::MaterialEditor::setModels().

◆ setModels()

void gui2::MaterialEditorWidget::setModels ( ApplicationModels models)

Definition at line 43 of file materialeditorwidget.cpp.

44 {
45  m_materialModel = models->materialModel();
47  m_selectionModel = new MaterialSelectionModel(m_viewModel.get(), this);
48  m_viewModel->setRootSessionItem(
49  ModelView::Utils::TopItem<MaterialContainerItem>(m_materialModel));
51  m_materialView->setSelectionModel(m_selectionModel);
52 }
MaterialModel * materialModel()
std::unique_ptr< ModelView::ViewModel > m_viewModel
void setModel(QAbstractItemModel *model) override
MVVM_VIEWMODEL_EXPORT std::unique_ptr< ViewModel > CreatePropertyTableViewModel(SessionModel *model)
Creates view model to represent SessionModel for Qt views.

References ModelView::Factory::CreatePropertyTableViewModel(), m_materialModel, m_materialView, m_selectionModel, m_viewModel, gui2::ApplicationModels::materialModel(), and gui2::MaterialTreeView::setModel().

Referenced by gui2::MaterialEditor::setModels().

Here is the call graph for this function:

Member Data Documentation

◆ m_delegate

std::unique_ptr<ModelView::ViewModelDelegate> gui2::MaterialEditorWidget::m_delegate
private

Definition at line 54 of file materialeditorwidget.h.

Referenced by MaterialEditorWidget().

◆ m_materialModel

MaterialModel* gui2::MaterialEditorWidget::m_materialModel {nullptr}
private

Definition at line 50 of file materialeditorwidget.h.

Referenced by setModels().

◆ m_materialView

MaterialTreeView* gui2::MaterialEditorWidget::m_materialView {nullptr}
private

Definition at line 53 of file materialeditorwidget.h.

Referenced by MaterialEditorWidget(), and setModels().

◆ m_selectionModel

MaterialSelectionModel* gui2::MaterialEditorWidget::m_selectionModel {nullptr}
private

Definition at line 52 of file materialeditorwidget.h.

Referenced by selectionModel(), and setModels().

◆ m_viewModel

std::unique_ptr<ModelView::ViewModel> gui2::MaterialEditorWidget::m_viewModel
private

Definition at line 51 of file materialeditorwidget.h.

Referenced by setModels().


The documentation for this class was generated from the following files: